ok
Direktori : /usr/share/automake-1.16/am/ |
Current File : //usr/share/automake-1.16/am/progs.am |
## automake - create Makefile.in from Makefile.am ## Copyright (C) 1994-2018 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 <https://www.gnu.org/licenses/>. ## ------------ ## ## Installing. ## ## ------------ ## if %?INSTALL% am__installdirs += "$(DESTDIR)$(%NDIR%dir)" ?EXEC?.PHONY install-exec-am: install-%DIR%PROGRAMS ?!EXEC?.PHONY install-data-am: install-%DIR%PROGRAMS install-%DIR%PROGRAMS: $(%DIR%_PROGRAMS) @$(NORMAL_INSTALL) ## Funny invocation because Makefile variable can be empty, leading to ## a syntax error in sh. @list='$(%DIR%_PROGRAMS)'; test -n "$(%NDIR%dir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(%NDIR%dir)'"; \ $(MKDIR_P) "$(DESTDIR)$(%NDIR%dir)" || exit 1; \ fi; \ for p in $$list; do echo "$$p $$p"; done | \ ## On Cygwin with libtool test won't see 'foo.exe' but instead 'foo'. ## So we check for both. sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p \ ?LIBTOOL? || test -f $$p1 \ ; then echo "$$p"; echo "$$p"; else :; fi; \ done | \ ## We now have a list of sourcefile pairs, separated by newline. ## Turn that into "sourcefile source_base target_dir xformed_target_base", ## with newlines being turned into spaces in a second step. sed -e 'p;s,.*/,,;n;h' \ ?BASE? -e 's|.*|.|' \ ?!BASE? -e 's|[^/]*$$||; s|^$$|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ ## The following awk script turns that into one line containing directories ## and then lines of 'type target_name_or_directory sources ...', with type ## 'd' designating directories, and 'f' files. $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ ?!BASE? case $$type in \ ?!BASE? d) echo " $(MKDIR_P) '$(DESTDIR)$(%NDIR%dir)/$$dir'"; \ ?!BASE? $(MKDIR_P) "$(DESTDIR)$(%NDIR%dir)/$$dir" || exit $$?;; \ ?!BASE? f) \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ ?!LIBTOOL? echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(%NDIR%dir)$$dir'"; \ ?!LIBTOOL? $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(%NDIR%dir)$$dir" || exit $$?; \ ## Note that we explicitly set the libtool mode. This avoids any ## lossage if the install program doesn't have a name that libtool ## expects. ?LIBTOOL? echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(%NDIR%dir)$$dir'"; \ ?LIBTOOL? $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(%NDIR%dir)$$dir" || exit $$?; \ } \ ?!BASE? ;; esac \ ; done endif %?INSTALL% ## -------------- ## ## Uninstalling. ## ## -------------- ## if %?INSTALL% .PHONY uninstall-am: uninstall-%DIR%PROGRAMS uninstall-%DIR%PROGRAMS: @$(NORMAL_UNINSTALL) @list='$(%DIR%_PROGRAMS)'; test -n "$(%NDIR%dir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ ## Remove any leading directory before applying $(transform), ## but keep the directory part in the hold buffer, in order to ## reapply it again afterwards in the nobase case. Append $(EXEEXT). sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' \ ?!BASE? -e 'x;s,[^/]*$$,,;G;s,\n,,' \ `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(%NDIR%dir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(%NDIR%dir)" && rm -f $$files endif %?INSTALL% ## ---------- ## ## Cleaning. ## ## ---------- ## .PHONY clean-am: clean-%DIR%PROGRAMS clean-%DIR%PROGRAMS: ?!LIBTOOL? -test -z "$(%DIR%_PROGRAMS)" || rm -f $(%DIR%_PROGRAMS) ## Under Cygwin, we build 'program$(EXEEXT)'. However, if this ## program uses a Libtool library, Libtool will move it in ## '_libs/program$(EXEEXT)' and create a 'program' wrapper (without ## '$(EXEEXT)'). Therefore, if Libtool is used, we must try to erase ## both 'program$(EXEEXT)' and 'program'. ## Cleaning the '_libs/' or '.libs/' directory is done from clean-libtool. ## FIXME: In the future (i.e., when it works) it would be nice to delegate ## this task to "libtool --mode=clean". ?LIBTOOL? @list='$(%DIR%_PROGRAMS)'; test -n "$$list" || exit 0; \ ?LIBTOOL? echo " rm -f" $$list; \ ?LIBTOOL? rm -f $$list || exit $$?; \ ?LIBTOOL? test -n "$(EXEEXT)" || exit 0; \ ?LIBTOOL? list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ ?LIBTOOL? echo " rm -f" $$list; \ ?LIBTOOL? rm -f $$list ## ---------- ## ## Checking. ## ## ---------- ## if %?CK-OPTS% .PHONY installcheck-am: installcheck-%DIR%PROGRAMS installcheck-%DIR%PROGRAMS: $(%DIR%_PROGRAMS) bad=0; pid=$$$$; list="$(%DIR%_PROGRAMS)"; 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 the directory and $(EXEEXT) before applying $(transform). f=`echo "$$p" | \ sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ ## 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%