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 6.18 KB
Newer Older
1
#
Leigh B. Stoller's avatar
Leigh B. Stoller committed
2
# EMULAB-COPYRIGHT
3
# Copyright (c) 2000-2004 University of Utah and the Flux Group.
Leigh B. Stoller's avatar
Leigh B. Stoller committed
4
# All rights reserved.
5
#
Leigh B. Stoller's avatar
Leigh B. Stoller committed
6

7 8 9 10
SRCDIR		= @srcdir@
TESTBED_SRCDIR	= @top_srcdir@
OBJDIR		= ..
SUBDIR		= tbsetup
11
UNIFIED         = @UNIFIED_BOSS_AND_OPS@
12
PLABSUPPORT     = @PLABSUPPORT@
13

14
include $(OBJDIR)/Makeconf
15

16
SUBDIRS		= checkpass ns2ir ipassign nseparse
Leigh B. Stoller's avatar
Leigh B. Stoller committed
17

Chad Barb's avatar
 
Chad Barb committed
18
BIN_STUFF	= power snmpit tbend tbprerun tbreport \
19
		  os_load endexp batchexp swapexp \
20
		  node_reboot nscheck node_update savelogs node_control \
Chad Barb's avatar
 
Chad Barb committed
21
		  portstats checkports eventsys_control os_select tbrestart \
22
		  tbswap nseswap tarfiles_setup
23

24
SBIN_STUFF	= resetvlans console_setup.proxy sched_reload named_setup \
25
		  batch_daemon exports_setup reload_daemon sched_reserve \
26
		  console_reset db2ns bwconfig frisbeelauncher \
27
		  rmgroup mkgroup setgroups mkproj \
28
		  exports_setup.proxy vnode_setup eventsys_start \
29
		  sfskey_update sfskey_update.proxy rmuser idleswap \
30 31 32 33
		  newnode_reboot savelogs.proxy eventsys.proxy

CTRLBIN_STUFF   = console_setup.proxy exports_setup.proxy sfskey_update.proxy \
		  savelogs.proxy eventsys.proxy
34

35
LIBEXEC_STUFF	= rmproj wanlinksolve wanlinkinfo \
36
		  os_setup mkexpdir console_setup webnscheck webreport \
37
		  webendexp webbatchexp \
38
		  assign_wrapper assign_prepass ptopgen webnodeupdate \
39
		  webdelay_config \
40
		  webrmgroup webswapexp webnodecontrol \
41
		  webmkgroup websetgroups webmkproj \
42
		  spewlogfile staticroutes routecalc wanassign \
43
		  webnodereboot webrmuser webidleswap switchmac \
44
		  spewrpmtar webtarfiles_setup webfrisbeekiller gentopofile
45

46
LIB_STUFF       = libtbsetup.pm exitonwarn.pm libtestbed.pm snmpit_intel.pm \
47
                  snmpit_cisco.pm snmpit_lib.pm snmpit_apc.pm power_rpc27.pm \
48
		  snmpit_cisco_stack.pm snmpit_intel_stack.pm \
49
		  snmpit_foundry.pm snmpit_stack.pm \
50
		  libaudit.pm libreboot.pm libosload.pm libtestbed.py 
51

52
#
53 54 55 56 57 58 59
# 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

60
CXXFLAGS += -Wall -O2 -g
Chad Barb's avatar
 
Chad Barb committed
61

62
wanlinksolve: wanlinksolve.cc
63
	${CXX} $< ${CXXFLAGS} -o $@ ${LIBS} -lm -lstdc++ ${LDFLAGS}
64 65

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

68
.PHONY:	checkpass ns2ir plab ipassign
69 70
checkpass:
	@$(MAKE) -C checkpass all
Leigh B. Stoller's avatar
Leigh B. Stoller committed
71

72 73
ns2ir:
	@$(MAKE) -C ns2ir all
74

75 76 77
nseparse:
	@$(MAKE) -C nseparse all

78 79 80
plab:
	@$(MAKE) -C plab all

81 82 83
ipassign:
	@$(MAKE) -C ipassign all

84
install: all script-install subdir-install
85 86
	@echo "Don't forget to do a post-install as root"

87 88 89 90 91 92 93 94 95 96 97
#
# Only install the planetlab support if enabled in the defs file
#
ifeq ($(PLABSUPPORT),1)
PLAB_INSTALL      = @$(MAKE) -C plab install
PLAB_POST_INSTALL = @$(MAKE) -C plab post-install 
else
PLAB_INSTALL      =
PLAB_POST_INSTALL =
endif

Leigh B. Stoller's avatar
Leigh B. Stoller committed
98 99 100 101 102
#
# Automate this part at some point.
# 
subdir-install:
	@$(MAKE) -C checkpass install	
Leigh B. Stoller's avatar
Leigh B. Stoller committed
103
	@$(MAKE) -C ns2ir install
104
	@$(MAKE) -C nseparse install
105
	$(PLAB_INSTALL)
106
	@$(MAKE) -C ipassign install
Leigh B. Stoller's avatar
Leigh B. Stoller committed
107

108 109 110
script-install:	$(addprefix $(INSTALL_BINDIR)/, $(BIN_STUFF)) \
	 $(addprefix $(INSTALL_SBINDIR)/, $(SBIN_STUFF)) \
	 $(addprefix $(INSTALL_LIBDIR)/, $(LIB_STUFF)) \
111
	 $(addprefix $(INSTALL_LIBEXECDIR)/, $(LIBEXEC_STUFF)) \
112 113
	 $(addprefix $(INSTALL_DIR)/opsdir/lib/, libtestbed.pm) \
	 $(addprefix $(INSTALL_DIR)/opsdir/sbin/, $(CTRLBIN_STUFF))
114 115

post-install: 
116
	@$(MAKE) -C ns2ir post-install
117
	@$(MAKE) -C nseparse post-install
118
	$(PLAB_POST_INSTALL)
119
	@$(MAKE) -C ipassign post-install
120 121 122 123
	chmod 775 $(INSTALL_BINDIR)
	chmod 775 $(INSTALL_SBINDIR)
	chmod 775 $(INSTALL_LIBDIR)
	chmod 775 $(INSTALL_LIBEXECDIR)
124 125
	chown root $(INSTALL_SBINDIR)/mkproj
	chmod u+s $(INSTALL_SBINDIR)/mkproj
126 127
	chown root $(INSTALL_LIBEXECDIR)/rmproj
	chmod u+s $(INSTALL_LIBEXECDIR)/rmproj
Leigh B. Stoller's avatar
Leigh B. Stoller committed
128 129
	chown root $(INSTALL_SBINDIR)/rmgroup
	chmod u+s $(INSTALL_SBINDIR)/rmgroup
130 131
	chown root $(INSTALL_SBINDIR)/mkgroup
	chmod u+s $(INSTALL_SBINDIR)/mkgroup
132 133
	chown root $(INSTALL_SBINDIR)/frisbeelauncher
	chmod u+s $(INSTALL_SBINDIR)/frisbeelauncher
134 135
	chown root $(INSTALL_SBINDIR)/rmuser
	chmod u+s $(INSTALL_SBINDIR)/rmuser
136 137
	chown root $(INSTALL_SBINDIR)/idleswap
	chmod u+s $(INSTALL_SBINDIR)/idleswap
138 139
	chown root $(INSTALL_SBINDIR)/named_setup
	chmod u+s $(INSTALL_SBINDIR)/named_setup
140 141
	chown root $(INSTALL_SBINDIR)/exports_setup
	chmod u+s $(INSTALL_SBINDIR)/exports_setup
142 143
	chown root $(INSTALL_SBINDIR)/sfskey_update
	chmod u+s $(INSTALL_SBINDIR)/sfskey_update
144 145
	chown root $(INSTALL_SBINDIR)/setgroups
	chmod u+s $(INSTALL_SBINDIR)/setgroups
146 147
	chown root $(INSTALL_LIBEXECDIR)/console_setup
	chmod u+s $(INSTALL_LIBEXECDIR)/console_setup
148 149
	chown root $(INSTALL_LIBEXECDIR)/spewlogfile
	chmod u+s $(INSTALL_LIBEXECDIR)/spewlogfile
150 151
	chown root $(INSTALL_BINDIR)/node_reboot
	chmod u+s $(INSTALL_BINDIR)/node_reboot
152 153
	chown root $(INSTALL_SBINDIR)/newnode_reboot
	chmod u+s $(INSTALL_SBINDIR)/newnode_reboot
154 155
	chown root $(INSTALL_SBINDIR)/vnode_setup
	chmod u+s $(INSTALL_SBINDIR)/vnode_setup
156 157
	chown root $(INSTALL_BINDIR)/eventsys_control
	chmod u+s $(INSTALL_BINDIR)/eventsys_control
158 159
	chown root $(INSTALL_BINDIR)/tarfiles_setup
	chmod u+s $(INSTALL_BINDIR)/tarfiles_setup
160 161
	chown root $(INSTALL_BINDIR)/savelogs
	chmod u+s $(INSTALL_BINDIR)/savelogs
162

163 164 165
#
# Control node installation (okay, plastic)
#
166
control-install:	$(addprefix $(INSTALL_SBINDIR)/, $(CTRLBIN_STUFF)) \
167
			$(addprefix $(INSTALL_BINDIR)/, fetchtar.proxy) \
168
			$(addprefix $(INSTALL_LIBDIR)/, libtestbed.pm)
169
	@$(MAKE) -C ns2ir control-install
170
	@$(MAKE) -C nseparse control-install
171

172 173 174 175 176
#
# Tip servers get very little
#
tipserv-install:	$(addprefix $(INSTALL_SBINDIR)/, console_setup.proxy)

Mike Hibler's avatar
Mike Hibler committed
177

178
clean:	subdir-clean
Mike Hibler's avatar
Mike Hibler committed
179
	rm -f *.o core routecalc wanlinksolve
180 181 182 183

subdir-clean:
	@$(MAKE) -C checkpass clean
	@$(MAKE) -C ns2ir clean
184
	@$(MAKE) -C nseparse clean
Mike Hibler's avatar
Mike Hibler committed
185
	@$(MAKE) -C plab clean
186
	@$(MAKE) -C ipassign clean
187 188 189 190 191 192

distclean:	subdir-distclean

subdir-distclean:
	@$(MAKE) -C checkpass distclean
	@$(MAKE) -C ns2ir distclean
193
	@$(MAKE) -C nseparse distclean
194
	@$(MAKE) -C plab distclean
195
	@$(MAKE) -C ipassign distclean
196 197 198 199 200 201
#
# XXX Create non .tcl files.
#
%: %.tcl
	cp -p $< $@

202 203 204 205
$(INSTALL_DIR)/opsdir/lib/%: %
	@echo "Installing $<"
	-mkdir -p $(INSTALL_DIR)/opsdir/lib
	$(INSTALL) $< $@
206 207 208 209 210

$(INSTALL_DIR)/opsdir/sbin/%: %
	@echo "Installing $<"
	-mkdir -p $(INSTALL_DIR)/opsdir/sbin
	$(INSTALL) $< $@