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 3.09 KB
Newer Older
1 2 3
#
# Insert Copyright Here.
#
4 5 6 7
SRCDIR		= @srcdir@
TESTBED_SRCDIR	= @top_srcdir@
OBJDIR		= ..
SUBDIR		= tbsetup
8

9
include $(OBJDIR)/Makeconf
10

11
SUBDIRS		= checkpass ir ns2ir
Leigh B. Stoller's avatar
Leigh B. Stoller committed
12

13
BIN_STUFF	= power snmpit tbend tbrun tbprerun tbreport \
14
		  os_load savevlans startexp endexp batchexp killbatchexp \
15
		  node_reboot nscheck
16

17
# Stuff that mere users get on plastic.
18
USERBINS        = os_load node_reboot nscheck
19

20
SBIN_STUFF	= resetvlans console_setup.proxy sched_reload named_setup \
21
		  batch_daemon exports_setup reload_daemon
22

23
LIBEXEC_STUFF	= mkprojdir rmproj mkacct-ctrl rmacct-ctrl \
24
		  os_setup mkexpdir console_setup webnscheck \
25
		  webstartexp webendexp webbatchexp webkillbatchexp
26

Mac Newbold's avatar
Mac Newbold committed
27
LIB_STUFF       = libtbsetup.pm libtestbed.pm snmpit_intel.pm \
28
                  snmpit_cisco.pm snmpit_lib.pm snmpit_apc.pm
29

30
#
31 32 33 34 35 36 37 38 39 40 41 42 43 44
# 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

.PHONY:	checkpass ir ns2ir
checkpass:
	@$(MAKE) -C checkpass all
ir:
	@$(MAKE) -C ir all
ns2ir:
	@$(MAKE) -C ns2ir all
45

46
install: all script-install subdir-install
47 48
	@echo "Don't forget to do a post-install as root"

Leigh B. Stoller's avatar
Leigh B. Stoller committed
49 50 51 52 53 54
#
# Automate this part at some point.
# 
subdir-install:
	@$(MAKE) -C checkpass install	
	@$(MAKE) -C ir install	
Leigh B. Stoller's avatar
Leigh B. Stoller committed
55 56
	@$(MAKE) -C ns2ir install

57 58 59 60
script-install:	$(addprefix $(INSTALL_BINDIR)/, $(BIN_STUFF)) \
	 $(addprefix $(INSTALL_SBINDIR)/, $(SBIN_STUFF)) \
	 $(addprefix $(INSTALL_LIBDIR)/, $(LIB_STUFF)) \
	 $(addprefix $(INSTALL_LIBEXECDIR)/, $(LIBEXEC_STUFF))
61 62

post-install: 
63 64 65 66
	chmod 775 $(INSTALL_BINDIR)
	chmod 775 $(INSTALL_SBINDIR)
	chmod 775 $(INSTALL_LIBDIR)
	chmod 775 $(INSTALL_LIBEXECDIR)
67 68
	chown root $(INSTALL_LIBEXECDIR)/mkprojdir
	chmod u+s $(INSTALL_LIBEXECDIR)/mkprojdir
69 70
	chown root $(INSTALL_LIBEXECDIR)/rmproj
	chmod u+s $(INSTALL_LIBEXECDIR)/rmproj
71 72 73 74
	chown root $(INSTALL_LIBEXECDIR)/mkacct-ctrl
	chmod u+s $(INSTALL_LIBEXECDIR)/mkacct-ctrl
	chown root $(INSTALL_LIBEXECDIR)/rmacct-ctrl
	chmod u+s $(INSTALL_LIBEXECDIR)/rmacct-ctrl
75 76
	chown root $(INSTALL_SBINDIR)/named_setup
	chmod u+s $(INSTALL_SBINDIR)/named_setup
77 78
	chown root $(INSTALL_SBINDIR)/exports_setup
	chmod u+s $(INSTALL_SBINDIR)/exports_setup
79 80
	chown root $(INSTALL_BINDIR)/savevlans
	chmod u+s $(INSTALL_BINDIR)/savevlans
81 82
	chown root $(INSTALL_LIBEXECDIR)/console_setup
	chmod u+s $(INSTALL_LIBEXECDIR)/console_setup
83 84
	chown root $(INSTALL_BINDIR)/node_reboot
	chmod u+s $(INSTALL_BINDIR)/node_reboot
85

86 87 88
#
# Control node installation (okay, plastic)
#
89 90
control-install:	$(addprefix $(INSTALL_SBINDIR)/, console_setup.proxy) \
			$(addprefix $(INSTALL_SBINDIR)/, exports_setup.proxy)
91
	cd $(INSTALL_BINDIR) && \
92
		list='$(USERBINS)'; for file in $$list; do \
93
			rm -f $$file; \
94 95
			ln -s plasticwrap $$file; \
		done;
96

97
clean:	subdir-clean
98
	rm -f *.o core
99 100 101 102 103 104 105 106 107 108 109 110

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

distclean:	subdir-distclean

subdir-distclean:
	@$(MAKE) -C checkpass distclean
	@$(MAKE) -C ir distclean
	@$(MAKE) -C ns2ir distclean
111 112 113 114 115 116 117

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