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.8 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 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 \
22 23
		  console_reset db2ns bwconfig frisbeelauncher \
		  rmgroup mkgroup mkacct setgroups mkproj
24

25
LIBEXEC_STUFF	= rmproj rmacct-ctrl \
26
		  os_setup mkexpdir console_setup webnscheck webreport \
27
		  webstartexp webendexp webbatchexp \
28 29 30
		  assign_wrapper ptopgen webnodeupdate \
		  webrmgroup webswapexp webnodecontrol \
		  webmkgroup webmkacct websetgroups webmkproj
31

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

36
#
37 38 39 40 41 42 43
# 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
44
.PHONY:	checkpass ns2ir
45 46
checkpass:
	@$(MAKE) -C checkpass all
Leigh B. Stoller's avatar
Leigh B. Stoller committed
47

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

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

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

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

post-install: 
67 68 69 70
	chmod 775 $(INSTALL_BINDIR)
	chmod 775 $(INSTALL_SBINDIR)
	chmod 775 $(INSTALL_LIBDIR)
	chmod 775 $(INSTALL_LIBEXECDIR)
71 72
	chown root $(INSTALL_SBINDIR)/mkproj
	chmod u+s $(INSTALL_SBINDIR)/mkproj
73 74
	chown root $(INSTALL_LIBEXECDIR)/rmproj
	chmod u+s $(INSTALL_LIBEXECDIR)/rmproj
Leigh B. Stoller's avatar
Leigh B. Stoller committed
75 76
	chown root $(INSTALL_SBINDIR)/rmgroup
	chmod u+s $(INSTALL_SBINDIR)/rmgroup
77 78 79 80
	chown root $(INSTALL_SBINDIR)/mkacct
	chmod u+s $(INSTALL_SBINDIR)/mkacct
	chown root $(INSTALL_SBINDIR)/mkgroup
	chmod u+s $(INSTALL_SBINDIR)/mkgroup
81 82
	chown root $(INSTALL_SBINDIR)/frisbeelauncher
	chmod u+s $(INSTALL_SBINDIR)/frisbeelauncher
83 84
	chown root $(INSTALL_LIBEXECDIR)/rmacct-ctrl
	chmod u+s $(INSTALL_LIBEXECDIR)/rmacct-ctrl
85 86
	chown root $(INSTALL_SBINDIR)/named_setup
	chmod u+s $(INSTALL_SBINDIR)/named_setup
87 88
	chown root $(INSTALL_SBINDIR)/exports_setup
	chmod u+s $(INSTALL_SBINDIR)/exports_setup
89 90
	chown root $(INSTALL_SBINDIR)/setgroups
	chmod u+s $(INSTALL_SBINDIR)/setgroups
91 92
	chown root $(INSTALL_LIBEXECDIR)/console_setup
	chmod u+s $(INSTALL_LIBEXECDIR)/console_setup
93 94
	chown root $(INSTALL_BINDIR)/node_reboot
	chmod u+s $(INSTALL_BINDIR)/node_reboot
95 96
	chown root $(INSTALL_BINDIR)/node_update
	chmod u+s $(INSTALL_BINDIR)/node_update
97

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

110 111 112 113 114
#
# Tip servers get very little
#
tipserv-install:	$(addprefix $(INSTALL_SBINDIR)/, console_setup.proxy)

115
clean:	subdir-clean
116
	rm -f *.o core
117 118 119 120 121 122 123 124 125 126

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

distclean:	subdir-distclean

subdir-distclean:
	@$(MAKE) -C checkpass distclean
	@$(MAKE) -C ns2ir distclean
127 128 129 130 131 132 133

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