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 2.61 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
		  vpower vsnmpit os_load savevlans
15

16
SBIN_STUFF	= resetvlans console_setup.proxy sched_reload
17

18
LIBEXEC_STUFF	= mkprojdir rmproj mkacct-ctrl rmacct-ctrl \
19 20 21
		  os_setup mkexpdir tbdoit tbstopit console_setup

LIB_STUFF       = libtbsetup.pm
22

23
#
24 25 26 27 28 29 30 31 32 33 34 35 36 37
# 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
38

39
install: all script-install subdir-install
40 41
	@echo "Don't forget to do a post-install as root"

Leigh B. Stoller's avatar
Leigh B. Stoller committed
42 43 44 45 46 47
#
# 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
48 49
	@$(MAKE) -C ns2ir install

50 51 52 53
script-install:	$(addprefix $(INSTALL_BINDIR)/, $(BIN_STUFF)) \
	 $(addprefix $(INSTALL_SBINDIR)/, $(SBIN_STUFF)) \
	 $(addprefix $(INSTALL_LIBDIR)/, $(LIB_STUFF)) \
	 $(addprefix $(INSTALL_LIBEXECDIR)/, $(LIBEXEC_STUFF))
54 55

post-install: 
56 57 58 59
	chmod 775 $(INSTALL_BINDIR)
	chmod 775 $(INSTALL_SBINDIR)
	chmod 775 $(INSTALL_LIBDIR)
	chmod 775 $(INSTALL_LIBEXECDIR)
60 61
	chown root $(INSTALL_LIBEXECDIR)/mkprojdir
	chmod u+s $(INSTALL_LIBEXECDIR)/mkprojdir
62 63
	chown root $(INSTALL_LIBEXECDIR)/rmproj
	chmod u+s $(INSTALL_LIBEXECDIR)/rmproj
64 65 66 67 68 69
	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
70 71
	chown root $(INSTALL_BINDIR)/os_load
	chmod u+s $(INSTALL_BINDIR)/os_load
72 73
	chown root $(INSTALL_BINDIR)/savevlans
	chmod u+s $(INSTALL_BINDIR)/savevlans
74 75
	chown root $(INSTALL_LIBEXECDIR)/console_setup
	chmod u+s $(INSTALL_LIBEXECDIR)/console_setup
76

77 78 79 80
#
# Control node installation (okay, plastic)
#
control-install:	$(addprefix $(INSTALL_SBINDIR)/, console_setup.proxy)
81 82
	cd $(INSTALL_BINDIR) && \
		list='$(BIN_STUFF)'; for file in $$list; do \
83
			rm -f $$file; \
84 85
			ln -s plasticwrap $$file; \
		done;
86

87
clean:	subdir-clean
88
	rm -f *.o core
89 90 91 92 93 94 95 96 97 98 99 100

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
101 102 103 104 105 106 107

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