# # EMULAB-COPYRIGHT # Copyright (c) 2000-2002 University of Utah and the Flux Group. # All rights reserved. # SRCDIR = @srcdir@ TESTBED_SRCDIR = @top_srcdir@ OBJDIR = .. SUBDIR = tbsetup UNIFIED = @UNIFIED_BOSS_AND_OPS@ include $(OBJDIR)/Makeconf SUBDIRS = checkpass ns2ir BIN_STUFF = power snmpit tbend tbswapin tbswapout tbprerun tbreport \ os_load startexp endexp batchexp swapexp \ node_reboot nscheck node_update savelogs node_control \ portstats checkports eventsys_control # Stuff that mere users get on plastic. USERBINS = os_load node_reboot nscheck node_update savelogs \ node_control portstats batchexp eventsys_control SBIN_STUFF = resetvlans console_setup.proxy sched_reload named_setup \ batch_daemon exports_setup reload_daemon sched_reserve \ console_reset db2ns bwconfig frisbeelauncher \ rmgroup mkgroup mkacct setgroups mkproj \ exports_setup.proxy vnode_setup eventsys_start LIBEXEC_STUFF = rmproj rmacct-ctrl wanlinksolve wanlinkinfo \ os_setup mkexpdir console_setup webnscheck webreport \ webstartexp webendexp webbatchexp \ assign_wrapper ptopgen webnodeupdate \ webrmgroup webswapexp webnodecontrol \ webmkgroup webmkacct websetgroups webmkproj \ spewlogfile staticroutes routecalc wanassign \ webidlecheck webnodereboot LIB_STUFF = libtbsetup.pm exitonwarn.pm libtestbed.pm snmpit_intel.pm \ snmpit_cisco.pm snmpit_lib.pm snmpit_apc.pm power_rpc27.pm \ snmpit_cisco_stack.pm snmpit_intel_stack.pm # # 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 CXXFLAGS += -Wall -O2 -g wanlinksolve: wanlinksolve.cc ${CXX} $< ${CXXFLAGS} -o $@ ${LIBS} -lm -lstdc++ ${LDFLAGS} routecalc: routecalc.cc ${CXX} $< ${CXXFLAGS} -o $@ ${LIBS} -lm -lstdc++ ${LDFLAGS} .PHONY: checkpass ns2ir checkpass: @$(MAKE) -C checkpass all ns2ir: @$(MAKE) -C ns2ir all install: all script-install subdir-install @echo "Don't forget to do a post-install as root" # # Automate this part at some point. # subdir-install: @$(MAKE) -C checkpass install @$(MAKE) -C ns2ir install script-install: $(addprefix $(INSTALL_BINDIR)/, $(BIN_STUFF)) \ $(addprefix $(INSTALL_SBINDIR)/, $(SBIN_STUFF)) \ $(addprefix $(INSTALL_LIBDIR)/, $(LIB_STUFF)) \ $(addprefix $(INSTALL_LIBEXECDIR)/, $(LIBEXEC_STUFF)) post-install: chmod 775 $(INSTALL_BINDIR) chmod 775 $(INSTALL_SBINDIR) chmod 775 $(INSTALL_LIBDIR) chmod 775 $(INSTALL_LIBEXECDIR) chown root $(INSTALL_SBINDIR)/mkproj chmod u+s $(INSTALL_SBINDIR)/mkproj chown root $(INSTALL_LIBEXECDIR)/rmproj chmod u+s $(INSTALL_LIBEXECDIR)/rmproj chown root $(INSTALL_SBINDIR)/rmgroup chmod u+s $(INSTALL_SBINDIR)/rmgroup chown root $(INSTALL_SBINDIR)/mkacct chmod u+s $(INSTALL_SBINDIR)/mkacct chown root $(INSTALL_SBINDIR)/mkgroup chmod u+s $(INSTALL_SBINDIR)/mkgroup chown root $(INSTALL_SBINDIR)/frisbeelauncher chmod u+s $(INSTALL_SBINDIR)/frisbeelauncher chown root $(INSTALL_LIBEXECDIR)/rmacct-ctrl chmod u+s $(INSTALL_LIBEXECDIR)/rmacct-ctrl chown root $(INSTALL_SBINDIR)/named_setup chmod u+s $(INSTALL_SBINDIR)/named_setup chown root $(INSTALL_SBINDIR)/exports_setup chmod u+s $(INSTALL_SBINDIR)/exports_setup chown root $(INSTALL_SBINDIR)/setgroups chmod u+s $(INSTALL_SBINDIR)/setgroups chown root $(INSTALL_LIBEXECDIR)/console_setup chmod u+s $(INSTALL_LIBEXECDIR)/console_setup chown root $(INSTALL_LIBEXECDIR)/spewlogfile chmod u+s $(INSTALL_LIBEXECDIR)/spewlogfile chown root $(INSTALL_BINDIR)/node_reboot chmod u+s $(INSTALL_BINDIR)/node_reboot chown root $(INSTALL_BINDIR)/node_update chmod u+s $(INSTALL_BINDIR)/node_update chown root $(INSTALL_SBINDIR)/vnode_setup chmod u+s $(INSTALL_SBINDIR)/vnode_setup chown root $(INSTALL_BINDIR)/eventsys_control chmod u+s $(INSTALL_BINDIR)/eventsys_control # # Control node installation (okay, plastic) # ifneq ($(UNIFIED),1) LINKS= cd $(INSTALL_BINDIR) && \ list='$(USERBINS)'; for file in $$list; do \ rm -f $$file; \ ln -s plasticwrap $$file; \ done; endif control-install: $(addprefix $(INSTALL_SBINDIR)/, console_setup.proxy) \ $(addprefix $(INSTALL_SBINDIR)/, exports_setup.proxy) \ $(addprefix $(INSTALL_LIBDIR)/, libtestbed.pm) $(LINKS) # # Tip servers get very little # tipserv-install: $(addprefix $(INSTALL_SBINDIR)/, console_setup.proxy) clean: subdir-clean rm -f *.o core subdir-clean: @$(MAKE) -C checkpass clean @$(MAKE) -C ns2ir clean distclean: subdir-distclean subdir-distclean: @$(MAKE) -C checkpass distclean @$(MAKE) -C ns2ir distclean # # XXX Create non .tcl files. # %: %.tcl cp -p $< $@