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.72 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
15

16
SBIN_STUFF	= resetvlans console_setup.proxy sched_reload named_setup
17

18
LIBEXEC_STUFF	= mkprojdir rmproj mkacct-ctrl rmacct-ctrl \
19 20
		  os_setup mkexpdir console_setup \
		  webstartexp webendexp
21 22

LIB_STUFF       = libtbsetup.pm
23

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

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

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

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

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

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

90
clean:	subdir-clean
91
	rm -f *.o core
92 93 94 95 96 97 98 99 100 101 102 103

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
104 105 106 107 108 109 110

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