All new accounts created on Gitlab now require administrator approval. If you invite any collaborators, please let Flux staff know so they can approve the accounts.

GNUmakefile.in 3.08 KB
Newer Older
1 2 3
#
# Insert Copyright Here.
#
4 5 6 7
SRCDIR		= @srcdir@
TESTBED_SRCDIR	= @top_srcdir@
OBJDIR		= ..
SUBDIR		= tbsetup
8

9
include $(OBJDIR)/Makeconf
10

11
SUBDIRS		= checkpass ir ns2ir
Leigh B. Stoller's avatar
Leigh B. Stoller committed
12

13
BIN_STUFF	= power snmpit tbend tbrun tbprerun tbreport \
14
		  os_load savevlans startexp endexp batchexp killbatchexp
15

16 17
CONTROL_BIN     = power snmpit os_load

18
SBIN_STUFF	= resetvlans console_setup.proxy sched_reload named_setup \
19
		  batch_daemon exports_setup reload_daemon
20

21
LIBEXEC_STUFF	= mkprojdir rmproj mkacct-ctrl rmacct-ctrl \
22
		  os_setup mkexpdir console_setup \
23
		  webstartexp webendexp webbatchexp webkillbatchexp
24 25

LIB_STUFF       = libtbsetup.pm
26

27
#
28 29 30 31 32 33 34 35 36 37 38 39 40 41
# Force dependencies on the scripts so that they will be rerun through
# configure if the .in file is changed.
# 
all:	$(BIN_STUFF) $(SBIN_STUFF) $(LIBEXEC_STUFF) $(LIB_STUFF) $(SUBDIRS)

include $(TESTBED_SRCDIR)/GNUmakerules

.PHONY:	checkpass ir ns2ir
checkpass:
	@$(MAKE) -C checkpass all
ir:
	@$(MAKE) -C ir all
ns2ir:
	@$(MAKE) -C ns2ir all
42

43
install: all script-install subdir-install
44 45
	@echo "Don't forget to do a post-install as root"

Leigh B. Stoller's avatar
Leigh B. Stoller committed
46 47 48 49 50 51
#
# Automate this part at some point.
# 
subdir-install:
	@$(MAKE) -C checkpass install	
	@$(MAKE) -C ir install	
Leigh B. Stoller's avatar
Leigh B. Stoller committed
52 53
	@$(MAKE) -C ns2ir install

54 55 56 57
script-install:	$(addprefix $(INSTALL_BINDIR)/, $(BIN_STUFF)) \
	 $(addprefix $(INSTALL_SBINDIR)/, $(SBIN_STUFF)) \
	 $(addprefix $(INSTALL_LIBDIR)/, $(LIB_STUFF)) \
	 $(addprefix $(INSTALL_LIBEXECDIR)/, $(LIBEXEC_STUFF))
58 59

post-install: 
60 61 62 63
	chmod 775 $(INSTALL_BINDIR)
	chmod 775 $(INSTALL_SBINDIR)
	chmod 775 $(INSTALL_LIBDIR)
	chmod 775 $(INSTALL_LIBEXECDIR)
64 65
	chown root $(INSTALL_LIBEXECDIR)/mkprojdir
	chmod u+s $(INSTALL_LIBEXECDIR)/mkprojdir
66 67
	chown root $(INSTALL_LIBEXECDIR)/rmproj
	chmod u+s $(INSTALL_LIBEXECDIR)/rmproj
68 69 70 71 72 73
	chown root $(INSTALL_LIBEXECDIR)/mkacct-ctrl
	chmod u+s $(INSTALL_LIBEXECDIR)/mkacct-ctrl
	chown root $(INSTALL_LIBEXECDIR)/rmacct-ctrl
	chmod u+s $(INSTALL_LIBEXECDIR)/rmacct-ctrl
	chown root $(INSTALL_LIBEXECDIR)/os_setup
	chmod u+s $(INSTALL_LIBEXECDIR)/os_setup
74 75
	chown root $(INSTALL_SBINDIR)/named_setup
	chmod u+s $(INSTALL_SBINDIR)/named_setup
76 77
	chown root $(INSTALL_SBINDIR)/exports_setup
	chmod u+s $(INSTALL_SBINDIR)/exports_setup
78 79
	chown root $(INSTALL_BINDIR)/os_load
	chmod u+s $(INSTALL_BINDIR)/os_load
80 81
	chown root $(INSTALL_BINDIR)/savevlans
	chmod u+s $(INSTALL_BINDIR)/savevlans
82 83
	chown root $(INSTALL_LIBEXECDIR)/console_setup
	chmod u+s $(INSTALL_LIBEXECDIR)/console_setup
84 85
	chown root $(INSTALL_SBINDIR)/batch_daemon
	chmod u+s $(INSTALL_SBINDIR)/batch_daemon
86

87 88 89
#
# Control node installation (okay, plastic)
#
90 91
control-install:	$(addprefix $(INSTALL_SBINDIR)/, console_setup.proxy) \
			$(addprefix $(INSTALL_SBINDIR)/, exports_setup.proxy)
92 93
	cd $(INSTALL_BINDIR) && \
		list='$(BIN_STUFF)'; for file in $$list; do \
94
			rm -f $$file; \
95 96
			ln -s plasticwrap $$file; \
		done;
97

98
clean:	subdir-clean
99
	rm -f *.o core
100 101 102 103 104 105 106 107 108 109 110 111

subdir-clean:
	@$(MAKE) -C checkpass clean
	@$(MAKE) -C ir clean
	@$(MAKE) -C ns2ir clean

distclean:	subdir-distclean

subdir-distclean:
	@$(MAKE) -C checkpass distclean
	@$(MAKE) -C ir distclean
	@$(MAKE) -C ns2ir distclean
112 113 114 115 116 117 118

#
# XXX Create non .tcl files.
#
%: %.tcl
	cp -p $< $@