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 4.14 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
		  portstats
17

18
# Stuff that mere users get on plastic.
19
USERBINS        = os_load node_reboot nscheck node_update savelogs \
Mike Hibler's avatar
Mike Hibler committed
20
		  node_control portstats batchexp
21

22
SBIN_STUFF	= resetvlans console_setup.proxy sched_reload named_setup \
23
		  batch_daemon exports_setup reload_daemon sched_reserve \
24
		  console_reset db2ns bwconfig frisbeelauncher \
25 26
		  rmgroup mkgroup mkacct setgroups mkproj eventsys_control \
		  exports_setup.proxy
27

Chad Barb's avatar
 
Chad Barb committed
28
LIBEXEC_STUFF	= rmproj rmacct-ctrl wanlinksolve wanlinkinfo \
29
		  os_setup mkexpdir console_setup webnscheck webreport \
30
		  webstartexp webendexp webbatchexp \
31 32
		  assign_wrapper ptopgen webnodeupdate \
		  webrmgroup webswapexp webnodecontrol \
33 34
		  webmkgroup webmkacct websetgroups webmkproj \
		  spewlogfile  
35

36
LIB_STUFF       = libtbsetup.pm exitonwarn.pm libtestbed.pm snmpit_intel.pm \
37
                  snmpit_cisco.pm snmpit_lib.pm snmpit_apc.pm power_rpc27.pm \
38
		  snmpit_cisco_stack.pm snmpit_intel_stack.pm
39

40
#
41 42 43 44 45 46 47
# 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

Chad Barb's avatar
 
Chad Barb committed
48 49 50 51 52
CXXFLAGS += -Wall -O3

wanlinksolve: wanlinksolve.o
	${CXX} wanlinksolve.o -o wanlinksolve ${LIBS} -lm -lstdc++ ${LDFLAGS}

Leigh B. Stoller's avatar
Leigh B. Stoller committed
53
.PHONY:	checkpass ns2ir
54 55
checkpass:
	@$(MAKE) -C checkpass all
Leigh B. Stoller's avatar
Leigh B. Stoller committed
56

57 58
ns2ir:
	@$(MAKE) -C ns2ir all
59

60
install: all script-install subdir-install
61 62
	@echo "Don't forget to do a post-install as root"

Leigh B. Stoller's avatar
Leigh B. Stoller committed
63 64 65 66 67
#
# Automate this part at some point.
# 
subdir-install:
	@$(MAKE) -C checkpass install	
Leigh B. Stoller's avatar
Leigh B. Stoller committed
68 69
	@$(MAKE) -C ns2ir install

70 71 72 73
script-install:	$(addprefix $(INSTALL_BINDIR)/, $(BIN_STUFF)) \
	 $(addprefix $(INSTALL_SBINDIR)/, $(SBIN_STUFF)) \
	 $(addprefix $(INSTALL_LIBDIR)/, $(LIB_STUFF)) \
	 $(addprefix $(INSTALL_LIBEXECDIR)/, $(LIBEXEC_STUFF))
74 75

post-install: 
76 77 78 79
	chmod 775 $(INSTALL_BINDIR)
	chmod 775 $(INSTALL_SBINDIR)
	chmod 775 $(INSTALL_LIBDIR)
	chmod 775 $(INSTALL_LIBEXECDIR)
80 81
	chown root $(INSTALL_SBINDIR)/mkproj
	chmod u+s $(INSTALL_SBINDIR)/mkproj
82 83
	chown root $(INSTALL_LIBEXECDIR)/rmproj
	chmod u+s $(INSTALL_LIBEXECDIR)/rmproj
Leigh B. Stoller's avatar
Leigh B. Stoller committed
84 85
	chown root $(INSTALL_SBINDIR)/rmgroup
	chmod u+s $(INSTALL_SBINDIR)/rmgroup
86 87 88 89
	chown root $(INSTALL_SBINDIR)/mkacct
	chmod u+s $(INSTALL_SBINDIR)/mkacct
	chown root $(INSTALL_SBINDIR)/mkgroup
	chmod u+s $(INSTALL_SBINDIR)/mkgroup
90 91
	chown root $(INSTALL_SBINDIR)/frisbeelauncher
	chmod u+s $(INSTALL_SBINDIR)/frisbeelauncher
92 93
	chown root $(INSTALL_LIBEXECDIR)/rmacct-ctrl
	chmod u+s $(INSTALL_LIBEXECDIR)/rmacct-ctrl
94 95
	chown root $(INSTALL_SBINDIR)/named_setup
	chmod u+s $(INSTALL_SBINDIR)/named_setup
96 97
	chown root $(INSTALL_SBINDIR)/exports_setup
	chmod u+s $(INSTALL_SBINDIR)/exports_setup
98 99
	chown root $(INSTALL_SBINDIR)/setgroups
	chmod u+s $(INSTALL_SBINDIR)/setgroups
100 101
	chown root $(INSTALL_LIBEXECDIR)/console_setup
	chmod u+s $(INSTALL_LIBEXECDIR)/console_setup
102 103
	chown root $(INSTALL_BINDIR)/node_reboot
	chmod u+s $(INSTALL_BINDIR)/node_reboot
104 105
	chown root $(INSTALL_BINDIR)/node_update
	chmod u+s $(INSTALL_BINDIR)/node_update
106 107
	chown root $(INSTALL_SBINDIR)/eventsys_control
	chmod u+s $(INSTALL_SBINDIR)/eventsys_control
108

109 110 111
#
# Control node installation (okay, plastic)
#
112
control-install:	$(addprefix $(INSTALL_SBINDIR)/, console_setup.proxy) \
113 114
			$(addprefix $(INSTALL_SBINDIR)/, exports_setup.proxy) \
			$(addprefix $(INSTALL_LIBDIR)/, libtestbed.pm)
115
	cd $(INSTALL_BINDIR) && \
116
		list='$(USERBINS)'; for file in $$list; do \
117
			rm -f $$file; \
118 119
			ln -s plasticwrap $$file; \
		done;
120

121 122 123 124 125
#
# Tip servers get very little
#
tipserv-install:	$(addprefix $(INSTALL_SBINDIR)/, console_setup.proxy)

126
clean:	subdir-clean
127
	rm -f *.o core
128 129 130 131 132 133 134 135 136 137

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

distclean:	subdir-distclean

subdir-distclean:
	@$(MAKE) -C checkpass distclean
	@$(MAKE) -C ns2ir distclean
138 139 140 141 142 143 144

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

Chad Barb's avatar
 
Chad Barb committed
145