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

Leigh B. Stoller's avatar
Leigh B. Stoller committed
17
BIN_STUFF	= power snmpit tbend tbswapin tbswapout 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 \
20
		  portstats checkports eventsys_control os_select
21

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

26
SBIN_STUFF	= resetvlans console_setup.proxy sched_reload named_setup \
27
		  batch_daemon exports_setup reload_daemon sched_reserve \
28
		  console_reset db2ns bwconfig frisbeelauncher \
29
		  rmgroup mkgroup mkacct setgroups mkproj \
30
		  exports_setup.proxy vnode_setup eventsys_start
31

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

42
LIB_STUFF       = libtbsetup.pm exitonwarn.pm libtestbed.pm snmpit_intel.pm \
43
                  snmpit_cisco.pm snmpit_lib.pm snmpit_apc.pm power_rpc27.pm \
44
		  snmpit_cisco_stack.pm snmpit_intel_stack.pm
45

46
#
47 48 49 50 51 52 53
# 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

54
CXXFLAGS += -Wall -O2 -g
Chad Barb's avatar
 
Chad Barb committed
55

56
wanlinksolve: wanlinksolve.cc
57
	${CXX} $< ${CXXFLAGS} -o $@ ${LIBS} -lm -lstdc++ ${LDFLAGS}
58 59

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

Leigh B. Stoller's avatar
Leigh B. Stoller committed
62
.PHONY:	checkpass ns2ir
63 64
checkpass:
	@$(MAKE) -C checkpass all
Leigh B. Stoller's avatar
Leigh B. Stoller committed
65

66 67
ns2ir:
	@$(MAKE) -C ns2ir all
68

69
install: all script-install subdir-install
70 71
	@echo "Don't forget to do a post-install as root"

Leigh B. Stoller's avatar
Leigh B. Stoller committed
72 73 74 75 76
#
# Automate this part at some point.
# 
subdir-install:
	@$(MAKE) -C checkpass install	
Leigh B. Stoller's avatar
Leigh B. Stoller committed
77 78
	@$(MAKE) -C ns2ir install

79 80 81 82
script-install:	$(addprefix $(INSTALL_BINDIR)/, $(BIN_STUFF)) \
	 $(addprefix $(INSTALL_SBINDIR)/, $(SBIN_STUFF)) \
	 $(addprefix $(INSTALL_LIBDIR)/, $(LIB_STUFF)) \
	 $(addprefix $(INSTALL_LIBEXECDIR)/, $(LIBEXEC_STUFF))
83 84

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

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

137 138 139 140 141
#
# Tip servers get very little
#
tipserv-install:	$(addprefix $(INSTALL_SBINDIR)/, console_setup.proxy)

142
clean:	subdir-clean
143
	rm -f *.o core
144 145 146 147 148 149 150 151 152 153

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

distclean:	subdir-distclean

subdir-distclean:
	@$(MAKE) -C checkpass distclean
	@$(MAKE) -C ns2ir distclean
154 155 156 157 158 159 160

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

Chad Barb's avatar
 
Chad Barb committed
161