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 5.25 KB
Newer Older
1
#
Leigh B. Stoller's avatar
Leigh B. Stoller committed
2
# EMULAB-COPYRIGHT
3
# Copyright (c) 2000-2003 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

13
include $(OBJDIR)/Makeconf
14

Leigh B. Stoller's avatar
Leigh B. Stoller committed
15
SUBDIRS		= checkpass ns2ir
Leigh B. Stoller's avatar
Leigh B. Stoller committed
16

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

23
# Stuff that mere users get on plastic.
24
USERBINS        = os_load node_reboot nscheck node_update savelogs \
25
		  node_control portstats batchexp eventsys_control tbresize
26

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

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

45
LIB_STUFF       = libtbsetup.pm exitonwarn.pm libtestbed.pm snmpit_intel.pm \
46
                  snmpit_cisco.pm snmpit_lib.pm snmpit_apc.pm power_rpc27.pm \
47 48
		  snmpit_cisco_stack.pm snmpit_intel_stack.pm \
		  libaudit.pm
49

50
#
51 52 53 54 55 56 57
# 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

58
CXXFLAGS += -Wall -O2 -g
Chad Barb's avatar
 
Chad Barb committed
59

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

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

Leigh B. Stoller's avatar
Leigh B. Stoller committed
66
.PHONY:	checkpass ns2ir
67 68
checkpass:
	@$(MAKE) -C checkpass all
Leigh B. Stoller's avatar
Leigh B. Stoller committed
69

70 71
ns2ir:
	@$(MAKE) -C ns2ir all
72

73
install: all script-install subdir-install
74 75
	@echo "Don't forget to do a post-install as root"

Leigh B. Stoller's avatar
Leigh B. Stoller committed
76 77 78 79 80
#
# Automate this part at some point.
# 
subdir-install:
	@$(MAKE) -C checkpass install	
Leigh B. Stoller's avatar
Leigh B. Stoller committed
81 82
	@$(MAKE) -C ns2ir install

83 84 85
script-install:	$(addprefix $(INSTALL_BINDIR)/, $(BIN_STUFF)) \
	 $(addprefix $(INSTALL_SBINDIR)/, $(SBIN_STUFF)) \
	 $(addprefix $(INSTALL_LIBDIR)/, $(LIB_STUFF)) \
86 87
	 $(addprefix $(INSTALL_LIBEXECDIR)/, $(LIBEXEC_STUFF)) \
	 $(addprefix $(INSTALL_DIR)/opsdir/lib/, libtestbed.pm)
88 89

post-install: 
90
	@$(MAKE) -C ns2ir post-install
91 92 93 94
	chmod 775 $(INSTALL_BINDIR)
	chmod 775 $(INSTALL_SBINDIR)
	chmod 775 $(INSTALL_LIBDIR)
	chmod 775 $(INSTALL_LIBEXECDIR)
95 96
	chown root $(INSTALL_SBINDIR)/mkproj
	chmod u+s $(INSTALL_SBINDIR)/mkproj
97 98
	chown root $(INSTALL_LIBEXECDIR)/rmproj
	chmod u+s $(INSTALL_LIBEXECDIR)/rmproj
Leigh B. Stoller's avatar
Leigh B. Stoller committed
99 100
	chown root $(INSTALL_SBINDIR)/rmgroup
	chmod u+s $(INSTALL_SBINDIR)/rmgroup
101 102
	chown root $(INSTALL_SBINDIR)/mkgroup
	chmod u+s $(INSTALL_SBINDIR)/mkgroup
103 104
	chown root $(INSTALL_SBINDIR)/frisbeelauncher
	chmod u+s $(INSTALL_SBINDIR)/frisbeelauncher
105 106
	chown root $(INSTALL_SBINDIR)/rmuser
	chmod u+s $(INSTALL_SBINDIR)/rmuser
107 108
	chown root $(INSTALL_SBINDIR)/idleswap
	chmod u+s $(INSTALL_SBINDIR)/idleswap
109 110
	chown root $(INSTALL_SBINDIR)/named_setup
	chmod u+s $(INSTALL_SBINDIR)/named_setup
111 112
	chown root $(INSTALL_SBINDIR)/exports_setup
	chmod u+s $(INSTALL_SBINDIR)/exports_setup
113 114
	chown root $(INSTALL_SBINDIR)/sfskey_update
	chmod u+s $(INSTALL_SBINDIR)/sfskey_update
115 116
	chown root $(INSTALL_SBINDIR)/setgroups
	chmod u+s $(INSTALL_SBINDIR)/setgroups
117 118
	chown root $(INSTALL_LIBEXECDIR)/console_setup
	chmod u+s $(INSTALL_LIBEXECDIR)/console_setup
119 120
	chown root $(INSTALL_LIBEXECDIR)/spewlogfile
	chmod u+s $(INSTALL_LIBEXECDIR)/spewlogfile
121 122
	chown root $(INSTALL_BINDIR)/node_reboot
	chmod u+s $(INSTALL_BINDIR)/node_reboot
123 124
	chown root $(INSTALL_SBINDIR)/newnode_reboot
	chmod u+s $(INSTALL_SBINDIR)/newnode_reboot
125 126
	chown root $(INSTALL_BINDIR)/node_update
	chmod u+s $(INSTALL_BINDIR)/node_update
127 128
	chown root $(INSTALL_SBINDIR)/vnode_setup
	chmod u+s $(INSTALL_SBINDIR)/vnode_setup
129 130
	chown root $(INSTALL_BINDIR)/eventsys_control
	chmod u+s $(INSTALL_BINDIR)/eventsys_control
131

132 133 134
#
# Control node installation (okay, plastic)
#
135 136
ifneq ($(UNIFIED),1)
LINKS=	cd $(INSTALL_BINDIR) && \
137
		list='$(USERBINS)'; for file in $$list; do \
138
			rm -f $$file; \
139 140
			ln -s plasticwrap $$file; \
		done;
141 142 143
endif
control-install:	$(addprefix $(INSTALL_SBINDIR)/, console_setup.proxy) \
			$(addprefix $(INSTALL_SBINDIR)/, exports_setup.proxy) \
144
			$(addprefix $(INSTALL_SBINDIR)/, sfskey_update.proxy) \
145
			$(addprefix $(INSTALL_LIBDIR)/, libtestbed.pm)
146
	@$(MAKE) -C ns2ir control-install
147
	$(LINKS)
148

149 150 151 152 153
#
# Tip servers get very little
#
tipserv-install:	$(addprefix $(INSTALL_SBINDIR)/, console_setup.proxy)

154
clean:	subdir-clean
155
	rm -f *.o core
156 157 158 159 160 161 162 163 164 165

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

distclean:	subdir-distclean

subdir-distclean:
	@$(MAKE) -C checkpass distclean
	@$(MAKE) -C ns2ir distclean
166 167 168 169 170 171 172

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

173 174 175 176
$(INSTALL_DIR)/opsdir/lib/%: %
	@echo "Installing $<"
	-mkdir -p $(INSTALL_DIR)/opsdir/lib
	$(INSTALL) $< $@