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.1 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

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

Leigh B. Stoller's avatar
Leigh B. Stoller committed
13
BIN_STUFF	= power snmpit tbend tbswapin tbswapout 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 sched_reserve \
22
		  console_reset db2ns
23

24
LIBEXEC_STUFF	= mkprojdir rmproj mkacct-ctrl rmacct-ctrl \
25
		  os_setup mkexpdir console_setup webnscheck \
Leigh B. Stoller's avatar
Leigh B. Stoller committed
26 27
		  webstartexp webendexp webbatchexp webkillbatchexp \
		  assign_wrapper ptopgen
28

29
LIB_STUFF       = libtbsetup.pm exitonwarn.pm libtestbed.pm snmpit_intel.pm \
30
                  snmpit_cisco.pm snmpit_lib.pm snmpit_apc.pm power_rpc27.pm
31

32
#
33 34 35 36 37 38 39
# 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

Leigh B. Stoller's avatar
Leigh B. Stoller committed
40
.PHONY:	checkpass ns2ir
41 42
checkpass:
	@$(MAKE) -C checkpass all
Leigh B. Stoller's avatar
Leigh B. Stoller committed
43

44 45
ns2ir:
	@$(MAKE) -C ns2ir all
46

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

Leigh B. Stoller's avatar
Leigh B. Stoller committed
50 51 52 53 54
#
# Automate this part at some point.
# 
subdir-install:
	@$(MAKE) -C checkpass 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

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

distclean:	subdir-distclean

subdir-distclean:
	@$(MAKE) -C checkpass distclean
	@$(MAKE) -C ns2ir distclean
109 110 111 112 113 114 115

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