summaryrefslogtreecommitdiff
path: root/lib/am/scripts.am
blob: 5211ab55e98bea1798542d880017c64cbd5ceaab (plain)
1
2
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
## automake - create Makefile.in from Makefile.am
## Copyright (C) 1994-2014 Free Software Foundation, Inc.

## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 2, or (at your option)
## any later version.

## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
## GNU General Public License for more details.

## You should have received a copy of the GNU General Public License
## along with this program.  If not, see <http://www.gnu.org/licenses/>.

## ------------ ##
## Installing.  ##
## ------------ ##

if %?INSTALL%
## if doesn't work properly for Automake variables yet.
am__installdirs += "$(DESTDIR)$(%NDIR%dir)"
?EXEC?.PHONY install-exec-am: install-%DIR%SCRIPTS
?!EXEC?.PHONY install-data-am: install-%DIR%SCRIPTS
install-%DIR%SCRIPTS: $(%DIR%_SCRIPTS)
	@$(NORMAL_INSTALL)
	@test -n '$(and $(%DIR%_SCRIPTS),$(%NDIR%dir))' || exit 0; \
	echo " $(MKDIR_P) '$(DESTDIR)$(%NDIR%dir)'"; \
	$(MKDIR_P) "$(DESTDIR)$(%NDIR%dir)" || exit 1; \
	$(foreach i,$(%DIR%_SCRIPTS), \
	  p=$(call am.vpath.rewrite,$i); \
## If the _SCRIPTS variable has an entry like foo/bar, install it as
## $(destdir)/bar, not $(destdir)/foo/bar.  The user can make a new dir
## variable or use a nobase_ target for the latter case.  However in
## all cases $(transform) applies only to the basename, so we have to
## strip the directory part.
	  f='$(notdir $i)'; \
## FIXME: optimize away if $(transform) is a no-op?
	  f=`echo "$$f" | sed '$(transform)'`; \
## Prepend the directory part if 'nobase_' is used.
?!BASE?	  f='$(patsubst ./%,%,$(dir $i))'/$$f; \
	  echo " $(INSTALL_SCRIPT) '$$p' '$(DESTDIR)$(%NDIR%dir)/$$f'"; \
	  $(INSTALL_SCRIPT) -D "$$p" "$(DESTDIR)$(%NDIR%dir)/$$f" \
	    || exit $$?;)
endif %?INSTALL%


## -------------- ##
## Uninstalling.  ##
## -------------- ##

if %?INSTALL%
.PHONY uninstall-am: uninstall-%DIR%SCRIPTS
uninstall-%DIR%SCRIPTS:
	@$(NORMAL_UNINSTALL)
## The need to apply $(transform) is quite tricky, and forces us to
## go though a $(shell) invocation.
	$(call am.uninst.cmd,$(%NDIR%dir),$(shell \
?BASE?	  files='$(notdir $(%DIR%_SCRIPTS))' && \
?!BASE?	  files='$(patsubst $(srcdir)/%,%,$(%DIR%_SCRIPTS))' && \
	  for f in $$files; do echo "$$f"; done | sed -e \
?BASE?	    '$(transform)' \
?!BASE?	    'h;s,.*/,,;$(transform);x;s|[^/]*$$||;G;s,\n,,' \
	 ))
endif %?INSTALL%


## -------------- ##
## Distributing.  ##
## -------------- ##

if %?DIST%
am.dist.common-files += %DISTVAR%
endif %?DIST%


## ---------- ##
## Checking.  ##
## ---------- ##

if %?CK-OPTS%
.PHONY installcheck-am: installcheck-%DIR%SCRIPTS
installcheck-%DIR%SCRIPTS: $(%DIR%_SCRIPTS)
	bad=0; pid=$$$$; list="$(%DIR%_SCRIPTS)"; for p in $$list; do \
	  case ' $(AM_INSTALLCHECK_STD_OPTIONS_EXEMPT) ' in \
## Match $(srcdir)/$$p in addition to $$p because Sun make might rewrite
## filenames in AM_INSTALLCHECK_STD_OPTIONS_EXEMPT during VPATH builds.
	   *" $$p "* | *" $(srcdir)/$$p "*) continue;; \
	  esac; \
## Strip any leading directory before applying $(transform).
	  f=`echo "$$p" | sed 's,^.*/,,;$(transform)'`; \
## Insert the directory back if nobase_ is used.
?!BASE?	  f=`echo "$$p" | sed 's|[^/]*$$||'`"$$f"; \
	  for opt in --help --version; do \
	    if "$(DESTDIR)$(%NDIR%dir)/$$f" $$opt >c$${pid}_.out \
	         2>c$${pid}_.err </dev/null \
		 && test -n "`cat c$${pid}_.out`" \
		 && test -z "`cat c$${pid}_.err`"; then :; \
	    else echo "$$f does not support $$opt" 1>&2; bad=1; fi; \
	  done; \
	done; rm -f c$${pid}_.???; exit $$bad
endif %?CK-OPTS%