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.48 KB
Newer Older
1 2 3
#
# Insert Copyright Here.
#
4 5 6 7
SRCDIR		= @srcdir@
TESTBED_SRCDIR	= @top_srcdir@
OBJDIR		= ..
SUBDIR		= tbsetup
8
UNIFIED         = @UNIFIED_BOSS_AND_OPS@
9

10
include $(OBJDIR)/Makeconf
11

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

Leigh B. Stoller's avatar
Leigh B. Stoller committed
14
BIN_STUFF	= power snmpit tbend tbswapin tbswapout tbprerun tbreport \
15
		  os_load startexp endexp batchexp swapexp \
16
		  node_reboot nscheck node_update savelogs node_control \
Robert Ricci's avatar
Robert Ricci committed
17
		  portstats checkports
18

19
# Stuff that mere users get on plastic.
20
USERBINS        = os_load node_reboot nscheck node_update savelogs \
21
		  node_control portstats batchexp eventsys_control
22

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

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

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

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

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

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

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

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

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

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

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

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

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

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

131 132 133 134 135
#
# Tip servers get very little
#
tipserv-install:	$(addprefix $(INSTALL_SBINDIR)/, console_setup.proxy)

136
clean:	subdir-clean
137
	rm -f *.o core
138 139 140 141 142 143 144 145 146 147

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

distclean:	subdir-distclean

subdir-distclean:
	@$(MAKE) -C checkpass distclean
	@$(MAKE) -C ns2ir distclean
148 149 150 151 152 153 154

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

Chad Barb's avatar
 
Chad Barb committed
155