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.91 KB
Newer Older
1
#
Leigh B. Stoller's avatar
Leigh B. Stoller committed
2
# EMULAB-COPYRIGHT
3
# Copyright (c) 2000-2005 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 \
Kirk Webb's avatar
 
Kirk Webb committed
22 23
		  tbswap nseswap tarfiles_setup node_history tbrsync \
		  node_attributes
24

25
SBIN_STUFF	= resetvlans console_setup.proxy sched_reload named_setup \
26
		  batch_daemon exports_setup reload_daemon sched_reserve \
27
		  console_reset db2ns bwconfig frisbeelauncher \
28
		  frisbeeimage rmgroup mkgroup setgroups mkproj modgroups \
29
		  exports_setup.proxy vnode_setup eventsys_start \
30
		  sfskey_update sfskey_update.proxy rmuser idleswap \
31
		  newnode_reboot savelogs.proxy eventsys.proxy \
Kirk Webb's avatar
 
Kirk Webb committed
32
		  elabinelab snmpit.proxy panic repos_daemon node_attributes
33

34
CTRLBIN_STUFF   = console_setup.proxy sfskey_update.proxy \
35
		  savelogs.proxy eventsys.proxy
36

37 38
FSBIN_STUFF	= exports_setup.proxy

39
LIBEXEC_STUFF	= rmproj wanlinksolve wanlinkinfo \
40
		  os_setup mkexpdir console_setup webnscheck webreport \
Leigh B. Stoller's avatar
Leigh B. Stoller committed
41
		  webendexp webbatchexp webpanic \
42
		  assign_wrapper assign_prepass ptopgen webnodeupdate \
43
		  webdelay_config webnodehistory \
44
		  webrmgroup webswapexp webnodecontrol webeventsys_control \
45
		  webmkgroup websetgroups webmkproj webmodgroups \
46
		  spewlogfile staticroutes routecalc wanassign \
47
		  webnodereboot webrmuser webidleswap switchmac \
Kirk Webb's avatar
 
Kirk Webb committed
48 49
		  spewrpmtar webtarfiles_setup webfrisbeekiller gentopofile \
		  webnodeattributes
50

51
LIB_STUFF       = libtbsetup.pm exitonwarn.pm libtestbed.pm snmpit_intel.pm \
52
                  snmpit_cisco.pm snmpit_lib.pm snmpit_apc.pm power_rpc27.pm \
53
		  snmpit_cisco_stack.pm snmpit_intel_stack.pm power_sgmote.pm \
54
		  snmpit_foundry.pm snmpit_stack.pm snmpit_remote.pm \
55
		  snmpit_nortel.pm \
Timothy Stack's avatar
 
Timothy Stack committed
56
		  libaudit.pm libreboot.pm libosload.pm libtestbed.py \
Mike Hibler's avatar
Mike Hibler committed
57 58
		  libadminmfs.pm libtblog.pm \
		  power_mail.pm power_whol.pm
59

60
#
61 62 63 64 65 66 67
# 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

68
CXXFLAGS += -Wall -O2 -g
Chad Barb's avatar
 
Chad Barb committed
69

70
wanlinksolve: wanlinksolve.cc
71
	${CXX} $< ${CXXFLAGS} -o $@ ${LIBS} -lm -lstdc++ ${LDFLAGS}
72 73

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

76
.PHONY:	checkpass ns2ir plab ipassign
77 78
checkpass:
	@$(MAKE) -C checkpass all
Leigh B. Stoller's avatar
Leigh B. Stoller committed
79

80 81
ns2ir:
	@$(MAKE) -C ns2ir all
82

83 84 85
nseparse:
	@$(MAKE) -C nseparse all

86 87 88
plab:
	@$(MAKE) -C plab all

89 90 91
ipassign:
	@$(MAKE) -C ipassign all

92
install: all script-install subdir-install
93 94
	@echo "Don't forget to do a post-install as root"

Leigh B. Stoller's avatar
Leigh B. Stoller committed
95 96
boss-install: install

97 98 99 100 101 102 103 104 105 106 107
#
# 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
108 109 110 111 112
#
# Automate this part at some point.
# 
subdir-install:
	@$(MAKE) -C checkpass install	
Leigh B. Stoller's avatar
Leigh B. Stoller committed
113
	@$(MAKE) -C ns2ir install
114
	@$(MAKE) -C nseparse install
115
	$(PLAB_INSTALL)
116
	@$(MAKE) -C ipassign install
Leigh B. Stoller's avatar
Leigh B. Stoller committed
117

118 119 120
script-install:	$(addprefix $(INSTALL_BINDIR)/, $(BIN_STUFF)) \
	 $(addprefix $(INSTALL_SBINDIR)/, $(SBIN_STUFF)) \
	 $(addprefix $(INSTALL_LIBDIR)/, $(LIB_STUFF)) \
121
	 $(addprefix $(INSTALL_LIBEXECDIR)/, $(LIBEXEC_STUFF)) \
122 123
	 $(addprefix $(INSTALL_DIR)/opsdir/lib/, libtestbed.pm) \
	 $(addprefix $(INSTALL_DIR)/opsdir/sbin/, $(CTRLBIN_STUFF))
124 125

post-install: 
126
	@$(MAKE) -C ns2ir post-install
127
	@$(MAKE) -C nseparse post-install
128
	$(PLAB_POST_INSTALL)
129
	@$(MAKE) -C ipassign post-install
130 131 132 133
	chmod 775 $(INSTALL_BINDIR)
	chmod 775 $(INSTALL_SBINDIR)
	chmod 775 $(INSTALL_LIBDIR)
	chmod 775 $(INSTALL_LIBEXECDIR)
134 135
	chown root $(INSTALL_SBINDIR)/mkproj
	chmod u+s $(INSTALL_SBINDIR)/mkproj
136 137
	chown root $(INSTALL_LIBEXECDIR)/rmproj
	chmod u+s $(INSTALL_LIBEXECDIR)/rmproj
Leigh B. Stoller's avatar
Leigh B. Stoller committed
138 139
	chown root $(INSTALL_SBINDIR)/rmgroup
	chmod u+s $(INSTALL_SBINDIR)/rmgroup
140 141
	chown root $(INSTALL_SBINDIR)/mkgroup
	chmod u+s $(INSTALL_SBINDIR)/mkgroup
142 143
	chown root $(INSTALL_SBINDIR)/frisbeelauncher
	chmod u+s $(INSTALL_SBINDIR)/frisbeelauncher
144 145
	chown root $(INSTALL_SBINDIR)/frisbeeimage
	chmod u+s $(INSTALL_SBINDIR)/frisbeeimage
146 147
	chown root $(INSTALL_SBINDIR)/rmuser
	chmod u+s $(INSTALL_SBINDIR)/rmuser
148 149
	chown root $(INSTALL_SBINDIR)/idleswap
	chmod u+s $(INSTALL_SBINDIR)/idleswap
150 151
	chown root $(INSTALL_SBINDIR)/named_setup
	chmod u+s $(INSTALL_SBINDIR)/named_setup
152 153
	chown root $(INSTALL_SBINDIR)/exports_setup
	chmod u+s $(INSTALL_SBINDIR)/exports_setup
154 155
	chown root $(INSTALL_SBINDIR)/sfskey_update
	chmod u+s $(INSTALL_SBINDIR)/sfskey_update
156 157
	chown root $(INSTALL_SBINDIR)/setgroups
	chmod u+s $(INSTALL_SBINDIR)/setgroups
158 159
	chown root $(INSTALL_LIBEXECDIR)/console_setup
	chmod u+s $(INSTALL_LIBEXECDIR)/console_setup
160 161
	chown root $(INSTALL_LIBEXECDIR)/spewlogfile
	chmod u+s $(INSTALL_LIBEXECDIR)/spewlogfile
162 163
	chown root $(INSTALL_BINDIR)/node_reboot
	chmod u+s $(INSTALL_BINDIR)/node_reboot
164 165
	chown root $(INSTALL_SBINDIR)/newnode_reboot
	chmod u+s $(INSTALL_SBINDIR)/newnode_reboot
166 167
	chown root $(INSTALL_SBINDIR)/vnode_setup
	chmod u+s $(INSTALL_SBINDIR)/vnode_setup
168 169
	chown root $(INSTALL_BINDIR)/eventsys_control
	chmod u+s $(INSTALL_BINDIR)/eventsys_control
170 171
	chown root $(INSTALL_BINDIR)/tarfiles_setup
	chmod u+s $(INSTALL_BINDIR)/tarfiles_setup
172 173
	chown root $(INSTALL_BINDIR)/savelogs
	chmod u+s $(INSTALL_BINDIR)/savelogs
174 175
	chown root $(INSTALL_SBINDIR)/elabinelab
	chmod u+s $(INSTALL_SBINDIR)/elabinelab
Kirk Webb's avatar
 
Kirk Webb committed
176 177
	chown root $(INSTALL_BINDIR)/tbrsync
	chmod u+s $(INSTALL_BINDIR)/tbrsync
178

179 180 181
#
# Control node installation (okay, plastic)
#
182
control-install:	$(addprefix $(INSTALL_SBINDIR)/, $(CTRLBIN_STUFF)) \
183
			$(addprefix $(INSTALL_BINDIR)/, fetchtar.proxy) \
184
			$(addprefix $(INSTALL_LIBDIR)/, libtestbed.pm)
185
	@$(MAKE) -C ns2ir control-install
186
	@$(MAKE) -C nseparse control-install
187

188 189 190 191 192 193
#
# FS install
#
fs-install:	$(addprefix $(INSTALL_SBINDIR)/, $(FSBIN_STUFF)) \
		$(addprefix $(INSTALL_LIBDIR)/, libtestbed.pm)

194 195 196 197 198
#
# Tip servers get very little
#
tipserv-install:	$(addprefix $(INSTALL_SBINDIR)/, console_setup.proxy)

Mike Hibler's avatar
Mike Hibler committed
199

200
clean:	subdir-clean
Mike Hibler's avatar
Mike Hibler committed
201
	rm -f *.o core routecalc wanlinksolve
202 203 204 205

subdir-clean:
	@$(MAKE) -C checkpass clean
	@$(MAKE) -C ns2ir clean
206
	@$(MAKE) -C nseparse clean
Mike Hibler's avatar
Mike Hibler committed
207
	@$(MAKE) -C plab clean
208
	@$(MAKE) -C ipassign clean
209 210 211 212 213 214

distclean:	subdir-distclean

subdir-distclean:
	@$(MAKE) -C checkpass distclean
	@$(MAKE) -C ns2ir distclean
215
	@$(MAKE) -C nseparse distclean
216
	@$(MAKE) -C plab distclean
217
	@$(MAKE) -C ipassign distclean
218 219 220 221 222 223
#
# XXX Create non .tcl files.
#
%: %.tcl
	cp -p $< $@

224 225 226 227
$(INSTALL_DIR)/opsdir/lib/%: %
	@echo "Installing $<"
	-mkdir -p $(INSTALL_DIR)/opsdir/lib
	$(INSTALL) $< $@
228 229 230 231 232

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