| 1 | ## automake - create Makefile.in from Makefile.am
|
|---|
| 2 | ## Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2005
|
|---|
| 3 | ## Free Software Foundation, Inc.
|
|---|
| 4 |
|
|---|
| 5 | ## This program is free software; you can redistribute it and/or modify
|
|---|
| 6 | ## it under the terms of the GNU General Public License as published by
|
|---|
| 7 | ## the Free Software Foundation; either version 2, or (at your option)
|
|---|
| 8 | ## any later version.
|
|---|
| 9 |
|
|---|
| 10 | ## This program is distributed in the hope that it will be useful,
|
|---|
| 11 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|---|
| 12 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|---|
| 13 | ## GNU General Public License for more details.
|
|---|
| 14 |
|
|---|
| 15 | ## You should have received a copy of the GNU General Public License
|
|---|
| 16 | ## along with this program; if not, write to the Free Software
|
|---|
| 17 | ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
|---|
| 18 | ## 02110-1301, USA.
|
|---|
| 19 |
|
|---|
| 20 | RECURSIVE_TARGETS += \
|
|---|
| 21 | all-recursive check-recursive installcheck-recursive
|
|---|
| 22 |
|
|---|
| 23 | .PHONY: $(RECURSIVE_TARGETS)
|
|---|
| 24 |
|
|---|
| 25 | # This directory's subdirectories are mostly independent; you can cd
|
|---|
| 26 | # into them and run `make' without going through this Makefile.
|
|---|
| 27 | # To change the values of `make' variables: instead of editing Makefiles,
|
|---|
| 28 | # (1) if the variable is set in `config.status', edit `config.status'
|
|---|
| 29 | # (which will cause the Makefiles to be regenerated when you run `make');
|
|---|
| 30 | # (2) otherwise, pass the desired values on the `make' command line.
|
|---|
| 31 |
|
|---|
| 32 | $(RECURSIVE_TARGETS):
|
|---|
| 33 | ## Using $failcom allows "-k" to keep its natural meaning when running a
|
|---|
| 34 | ## recursive rule.
|
|---|
| 35 | @failcom='exit 1'; \
|
|---|
| 36 | for f in x $$MAKEFLAGS; do \
|
|---|
| 37 | case $$f in \
|
|---|
| 38 | *=* | --[!k]*);; \
|
|---|
| 39 | *k*) failcom='fail=yes';; \
|
|---|
| 40 | esac; \
|
|---|
| 41 | done; \
|
|---|
| 42 | dot_seen=no; \
|
|---|
| 43 | target=`echo $@ | sed s/-recursive//`; \
|
|---|
| 44 | list='$(SUBDIRS)'; for subdir in $$list; do \
|
|---|
| 45 | echo "Making $$target in $$subdir"; \
|
|---|
| 46 | if test "$$subdir" = "."; then \
|
|---|
| 47 | dot_seen=yes; \
|
|---|
| 48 | local_target="$$target-am"; \
|
|---|
| 49 | else \
|
|---|
| 50 | local_target="$$target"; \
|
|---|
| 51 | fi; \
|
|---|
| 52 | (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
|---|
| 53 | || eval $$failcom; \
|
|---|
| 54 | done; \
|
|---|
| 55 | if test "$$dot_seen" = "no"; then \
|
|---|
| 56 | $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
|
|---|
| 57 | fi; test -z "$$fail"
|
|---|
| 58 |
|
|---|
| 59 |
|
|---|
| 60 | mostlyclean: mostlyclean-recursive
|
|---|
| 61 | clean: clean-recursive
|
|---|
| 62 | distclean: distclean-recursive
|
|---|
| 63 | maintainer-clean: maintainer-clean-recursive
|
|---|
| 64 |
|
|---|
| 65 | .PHONY: mostlyclean-recursive clean-recursive distclean-recursive \
|
|---|
| 66 | maintainer-clean-recursive
|
|---|
| 67 |
|
|---|
| 68 | ## We run all `clean' targets in reverse order. Why? It's an attempt
|
|---|
| 69 | ## to alleviate a problem that can happen when dependencies are
|
|---|
| 70 | ## enabled. In this case, the .P file in one directory can depend on
|
|---|
| 71 | ## some automatically generated header in an earlier directory. Since
|
|---|
| 72 | ## the dependencies are required before any target is examined, make
|
|---|
| 73 | ## bombs.
|
|---|
| 74 | mostlyclean-recursive clean-recursive distclean-recursive \
|
|---|
| 75 | maintainer-clean-recursive:
|
|---|
| 76 | ## Using $failcom allows "-k" to keep its natural meaning when running a
|
|---|
| 77 | ## recursive rule.
|
|---|
| 78 | @failcom='exit 1'; \
|
|---|
| 79 | for f in x $$MAKEFLAGS; do \
|
|---|
| 80 | case $$f in \
|
|---|
| 81 | *=* | --[!k]*);; \
|
|---|
| 82 | *k*) failcom='fail=yes';; \
|
|---|
| 83 | esac; \
|
|---|
| 84 | done; \
|
|---|
| 85 | dot_seen=no; \
|
|---|
| 86 | ## For distclean and maintainer-clean we make sure to use the full
|
|---|
| 87 | ## list of subdirectories. We do this so that `configure; make
|
|---|
| 88 | ## distclean' really is a no-op, even if SUBDIRS is conditional. For
|
|---|
| 89 | ## other clean targets this doesn't matter.
|
|---|
| 90 | case "$@" in \
|
|---|
| 91 | distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
|
|---|
| 92 | *) list='$(SUBDIRS)' ;; \
|
|---|
| 93 | esac; \
|
|---|
| 94 | rev=''; for subdir in $$list; do \
|
|---|
| 95 | if test "$$subdir" = "."; then :; else \
|
|---|
| 96 | rev="$$subdir $$rev"; \
|
|---|
| 97 | fi; \
|
|---|
| 98 | done; \
|
|---|
| 99 | ## Always do `.' last.
|
|---|
| 100 | rev="$$rev ."; \
|
|---|
| 101 | target=`echo $@ | sed s/-recursive//`; \
|
|---|
| 102 | for subdir in $$rev; do \
|
|---|
| 103 | echo "Making $$target in $$subdir"; \
|
|---|
| 104 | if test "$$subdir" = "."; then \
|
|---|
| 105 | local_target="$$target-am"; \
|
|---|
| 106 | else \
|
|---|
| 107 | local_target="$$target"; \
|
|---|
| 108 | fi; \
|
|---|
| 109 | (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
|---|
| 110 | || eval $$failcom; \
|
|---|
| 111 | done && test -z "$$fail"
|
|---|