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.65 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

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

Leigh B. Stoller's avatar
Leigh B. Stoller committed
13
BIN_STUFF	= power snmpit tbend tbswapin tbswapout tbprerun tbreport \
14
		  os_load savevlans startexp endexp batchexp swapexp \
15
		  node_reboot nscheck node_update savelogs node_control
16

17
# Stuff that mere users get on plastic.
18
USERBINS        = os_load node_reboot nscheck node_update savelogs node_control
19

20
SBIN_STUFF	= resetvlans console_setup.proxy sched_reload named_setup \
21
		  batch_daemon exports_setup reload_daemon sched_reserve \
Leigh B. Stoller's avatar
Leigh B. Stoller committed
22 23
		  console_reset db2ns bwconfig frisbeelauncher group-update \
		  rmgroup
24

25
LIBEXEC_STUFF	= mkprojdir rmproj mkacct-ctrl rmacct-ctrl \
26
		  os_setup mkexpdir console_setup webnscheck webreport \
27
		  webstartexp webendexp webbatchexp \
Leigh B. Stoller's avatar
Leigh B. Stoller committed
28
		  assign_wrapper ptopgen webnodeupdate webgroupupdate \
29
		  webrmgroup webswapexp webnodecontrol
30

31
LIB_STUFF       = libtbsetup.pm exitonwarn.pm libtestbed.pm snmpit_intel.pm \
32 33
                  snmpit_cisco.pm snmpit_lib.pm snmpit_apc.pm power_rpc27.pm \
		  snmpit_cisco_stack.pm
34

35
#
36 37 38 39 40 41 42
# 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

Leigh B. Stoller's avatar
Leigh B. Stoller committed
43
.PHONY:	checkpass ns2ir
44 45
checkpass:
	@$(MAKE) -C checkpass all
Leigh B. Stoller's avatar
Leigh B. Stoller committed
46

47 48
ns2ir:
	@$(MAKE) -C ns2ir all
49

50
install: all script-install subdir-install
51 52
	@echo "Don't forget to do a post-install as root"

Leigh B. Stoller's avatar
Leigh B. Stoller committed
53 54 55 56 57
#
# Automate this part at some point.
# 
subdir-install:
	@$(MAKE) -C checkpass install	
Leigh B. Stoller's avatar
Leigh B. Stoller committed
58 59
	@$(MAKE) -C ns2ir install

60 61 62 63
script-install:	$(addprefix $(INSTALL_BINDIR)/, $(BIN_STUFF)) \
	 $(addprefix $(INSTALL_SBINDIR)/, $(SBIN_STUFF)) \
	 $(addprefix $(INSTALL_LIBDIR)/, $(LIB_STUFF)) \
	 $(addprefix $(INSTALL_LIBEXECDIR)/, $(LIBEXEC_STUFF))
64 65

post-install: 
66 67 68 69
	chmod 775 $(INSTALL_BINDIR)
	chmod 775 $(INSTALL_SBINDIR)
	chmod 775 $(INSTALL_LIBDIR)
	chmod 775 $(INSTALL_LIBEXECDIR)
70 71
	chown root $(INSTALL_LIBEXECDIR)/mkprojdir
	chmod u+s $(INSTALL_LIBEXECDIR)/mkprojdir
72 73
	chown root $(INSTALL_LIBEXECDIR)/rmproj
	chmod u+s $(INSTALL_LIBEXECDIR)/rmproj
Leigh B. Stoller's avatar
Leigh B. Stoller committed
74 75
	chown root $(INSTALL_SBINDIR)/rmgroup
	chmod u+s $(INSTALL_SBINDIR)/rmgroup
76 77 78 79
	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
80 81
	chown root $(INSTALL_SBINDIR)/named_setup
	chmod u+s $(INSTALL_SBINDIR)/named_setup
82 83
	chown root $(INSTALL_SBINDIR)/exports_setup
	chmod u+s $(INSTALL_SBINDIR)/exports_setup
84 85
	chown root $(INSTALL_BINDIR)/savevlans
	chmod u+s $(INSTALL_BINDIR)/savevlans
Leigh B. Stoller's avatar
Leigh B. Stoller committed
86 87
	chown root $(INSTALL_SBINDIR)/group-update
	chmod u+s $(INSTALL_SBINDIR)/group-update
88 89
	chown root $(INSTALL_LIBEXECDIR)/console_setup
	chmod u+s $(INSTALL_LIBEXECDIR)/console_setup
90 91
	chown root $(INSTALL_BINDIR)/node_reboot
	chmod u+s $(INSTALL_BINDIR)/node_reboot
92 93
	chown root $(INSTALL_BINDIR)/node_update
	chmod u+s $(INSTALL_BINDIR)/node_update
94

95 96 97
#
# Control node installation (okay, plastic)
#
98 99
control-install:	$(addprefix $(INSTALL_SBINDIR)/, console_setup.proxy) \
			$(addprefix $(INSTALL_SBINDIR)/, exports_setup.proxy)
100
	cd $(INSTALL_BINDIR) && \
101
		list='$(USERBINS)'; for file in $$list; do \
102
			rm -f $$file; \
103 104
			ln -s plasticwrap $$file; \
		done;
105

106 107 108 109 110
#
# Tip servers get very little
#
tipserv-install:	$(addprefix $(INSTALL_SBINDIR)/, console_setup.proxy)

111
clean:	subdir-clean
112
	rm -f *.o core
113 114 115 116 117 118 119 120 121 122

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

distclean:	subdir-distclean

subdir-distclean:
	@$(MAKE) -C checkpass distclean
	@$(MAKE) -C ns2ir distclean
123 124 125 126 127 128 129

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