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.39 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 \
Robert Ricci's avatar
Robert Ricci committed
16
		  portstats checkports
17

18
# Stuff that mere users get on plastic.
19
USERBINS        = os_load node_reboot nscheck node_update savelogs \
20
		  node_control portstats batchexp eventsys_control
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
		  rmgroup mkgroup mkacct setgroups mkproj eventsys_control \
26
		  exports_setup.proxy vnode_setup
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
		  webmkgroup webmkacct websetgroups webmkproj \
34 35
		  spewlogfile staticroutes routecalc wanassign \
		  webidlecheck
36

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

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

49
CXXFLAGS += -Wall -O2 -g
Chad Barb's avatar
 
Chad Barb committed
50

51
wanlinksolve: wanlinksolve.cc
52
	${CXX} $< ${CXXFLAGS} -o $@ ${LIBS} -lm -lstdc++ ${LDFLAGS}
53 54

routecalc: routecalc.cc
55
	${CXX} $< ${CXXFLAGS} -o $@ ${LIBS} -lm -lstdc++ ${LDFLAGS}
Chad Barb's avatar
 
Chad Barb committed
56

Leigh B. Stoller's avatar
Leigh B. Stoller committed
57
.PHONY:	checkpass ns2ir
58 59
checkpass:
	@$(MAKE) -C checkpass all
Leigh B. Stoller's avatar
Leigh B. Stoller committed
60

61 62
ns2ir:
	@$(MAKE) -C ns2ir all
63

64
install: all script-install subdir-install
65 66
	@echo "Don't forget to do a post-install as root"

Leigh B. Stoller's avatar
Leigh B. Stoller committed
67 68 69 70 71
#
# Automate this part at some point.
# 
subdir-install:
	@$(MAKE) -C checkpass install	
Leigh B. Stoller's avatar
Leigh B. Stoller committed
72 73
	@$(MAKE) -C ns2ir install

74 75 76 77
script-install:	$(addprefix $(INSTALL_BINDIR)/, $(BIN_STUFF)) \
	 $(addprefix $(INSTALL_SBINDIR)/, $(SBIN_STUFF)) \
	 $(addprefix $(INSTALL_LIBDIR)/, $(LIB_STUFF)) \
	 $(addprefix $(INSTALL_LIBEXECDIR)/, $(LIBEXEC_STUFF))
78 79

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

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

127 128 129 130 131
#
# Tip servers get very little
#
tipserv-install:	$(addprefix $(INSTALL_SBINDIR)/, console_setup.proxy)

132
clean:	subdir-clean
133
	rm -f *.o core
134 135 136 137 138 139 140 141 142 143

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

distclean:	subdir-distclean

subdir-distclean:
	@$(MAKE) -C checkpass distclean
	@$(MAKE) -C ns2ir distclean
144 145 146 147 148 149 150

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

Chad Barb's avatar
 
Chad Barb committed
151