GNUmakefile.in 3.59 KB
Newer Older
1
#
2
# Copyright (c) 2008-2014 University of Utah and the Flux Group.
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
# 
# {{{GENIPUBLIC-LICENSE
# 
# GENI Public License
# 
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and/or hardware specification (the "Work") to
# deal in the Work without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Work, and to permit persons to whom the Work
# is furnished to do so, subject to the following conditions:
# 
# The above copyright notice and this permission notice shall be
# included in all copies or substantial portions of the Work.
# 
# THE WORK IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE WORK OR THE USE OR OTHER DEALINGS
# IN THE WORK.
# 
# }}}
28 29 30 31 32 33
#

SRCDIR		= @srcdir@
TESTBED_SRCDIR	= @top_srcdir@
OBJDIR		= ../..
SUBDIR		= protogeni/scripts
34
ISCLEARINGHOUSE = @PROTOGENI_ISCLEARINGHOUSE@
35
PGENISUPPORT    = @PROTOGENI_SUPPORT@
36 37 38

include $(OBJDIR)/Makeconf

39
SBIN_STUFF	= cleanupslice gencabundle cleanupticket aptssh-setup \
Leigh B Stoller's avatar
Leigh B Stoller committed
40
		  sliveraction openvpn-setup
41

Leigh B. Stoller's avatar
Leigh B. Stoller committed
42
PSBIN_STUFF	= register_resources expire_daemon gencrl postcrl \
43
		  addauthority getcacerts \
44
		  gencrlbundle shutdownslice remauthority listusage \
45
		  update reregister listhistory \
46
		  register_sliver sa_daemon genadmincredential \
47
		  getchcredential genallow_extcred advt-merge.py \
48
		  reservevlans delgeniuser delegatecredential \
49
		  updatecert fixcerts initcerts cacontrol webcacontrol \
50
		  genextendcred rspeclint chstats listactive \
51
		  maptoslice webmaptoslice setexpiration \
52 53
		  mondbd parsecert creategeniuser webcreategeniuser \
		  updategeniuser webupdategeniuser
54

55
ifeq ($(ISCLEARINGHOUSE),1)
56
PSBIN_STUFF     += ch_daemon
57 58
endif

59 60
# These scripts installed setuid, with sudo. 
SETUID_BIN_SCRIPTS   = 
61 62
SETUID_SBIN_SCRIPTS  = cleanupslice gencabundle cleanupticket aptssh-setup \
			sliveraction
63 64 65 66 67 68
SETUID_LIBX_SCRIPTS  =

#
# Force dependencies on the scripts so that they will be rerun through
# configure if the .in file is changed.
# 
69
all:	$(SBIN_STUFF) $(PSBIN_STUFF) \
70 71
	initsite resolve resolvenode resolve-ch getversion genspeaksfor \
	shellinabox.pl
72 73 74

include $(TESTBED_SRCDIR)/GNUmakerules

75 76
install: apt-install \
        $(addprefix $(INSTALL_SBINDIR)/, $(SBIN_STUFF)) \
77
	$(addprefix $(INSTALL_SBINDIR)/protogeni/, $(PSBIN_STUFF)) \
78
	$(INSTALL_LIBEXECDIR)/webcacontrol \
79 80
	$(INSTALL_LIBEXECDIR)/webcreategeniuser \
	$(INSTALL_LIBEXECDIR)/webupdategeniuser \
81
	$(INSTALL_LIBEXECDIR)/webmaptoslice
82
	-rm -f $(INSTALL_SBINDIR)/protogeni/cleanupticket
83

84
ifeq ($(PGENISUPPORT),1)
85 86
apt-install: $(addprefix $(INSTALL_DIR)/opsdir/cgi-bin/, shellinabox.pl) \
	     $(addprefix $(INSTALL_SBINDIR)/, aptssh-setup)
87 88 89
else
apt-install:
endif
90

91 92 93
control-install:

clean:
Leigh B. Stoller's avatar
Leigh B. Stoller committed
94
	rm -f *.o core *.pl *.pm *.py $(SBIN_STUFF) $(PSBIN_STUFF)
Leigh B Stoller's avatar
Leigh B Stoller committed
95
	rm -f shellinabox.pl aptssh-setup
Leigh B. Stoller's avatar
Leigh B. Stoller committed
96 97 98 99 100

$(INSTALL_SBINDIR)/protogeni/%: %
	@echo "Installing $<"
	-mkdir -p $(INSTALL_SBINDIR)/protogeni
	$(INSTALL) $< $@
101

102 103 104 105 106 107 108 109
$(INSTALL_DIR)/opsdir/cgi-bin/shellinabox.pl: shellinabox.pl
	echo "Installing (link to wrapper) $<"
	mkdir -p $(INSTALL_DIR)/opsdir/cgi-bin
	-rm -f $@
	ln -s $(INSTALL_LIBEXECDIR)/runsuid $@
	echo "Installing (real script) $<"
	-mkdir -p $(INSTALL_DIR)/opsdir/suidbin
	$(SUDO) $(INSTALL_PROGRAM) $< $(INSTALL_DIR)/opsdir/suidbin/$<