1 ## automake - create Makefile.in from Makefile.am
2 ## Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004
3 ## Free Software Foundation, Inc.
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 3, or (at your option)
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.
15 ## You should have received a copy of the GNU General Public License
16 ## along with this program. If not, see <http://www.gnu.org/licenses/>.
18 RECURSIVE_TARGETS += all-recursive check-recursive installcheck-recursive
19 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
20 distclean-recursive maintainer-clean-recursive
22 .PHONY: $(RECURSIVE_TARGETS) $(RECURSIVE_CLEAN_TARGETS)
23 .MAKE: $(RECURSIVE_TARGETS) $(RECURSIVE_CLEAN_TARGETS)
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.
33 ## Using $failcom allows "-k" to keep its natural meaning when running a
36 for f in x $$MAKEFLAGS; do \
39 *k*) failcom='fail=yes';; \
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 \
48 local_target="$$target-am"; \
50 local_target="$$target"; \
52 (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
55 if test "$$dot_seen" = "no"; then \
56 $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
60 mostlyclean: mostlyclean-recursive
61 clean: clean-recursive
62 distclean: distclean-recursive
63 maintainer-clean: maintainer-clean-recursive
65 ## We run all `clean' targets in reverse order. Why? It's an attempt
66 ## to alleviate a problem that can happen when dependencies are
67 ## enabled. In this case, the .P file in one directory can depend on
68 ## some automatically generated header in an earlier directory. Since
69 ## the dependencies are required before any target is examined, make
71 $(RECURSIVE_CLEAN_TARGETS):
72 ## Using $failcom allows "-k" to keep its natural meaning when running a
75 for f in x $$MAKEFLAGS; do \
78 *k*) failcom='fail=yes';; \
82 ## For distclean and maintainer-clean we make sure to use the full
83 ## list of subdirectories. We do this so that `configure; make
84 ## distclean' really is a no-op, even if SUBDIRS is conditional. For
85 ## other clean targets this doesn't matter.
87 distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
88 *) list='$(SUBDIRS)' ;; \
90 rev=''; for subdir in $$list; do \
91 if test "$$subdir" = "."; then :; else \
92 rev="$$subdir $$rev"; \
95 ## Always do `.' last.
97 target=`echo $@ | sed s/-recursive//`; \
98 for subdir in $$rev; do \
99 echo "Making $$target in $$subdir"; \
100 if test "$$subdir" = "."; then \
101 local_target="$$target-am"; \
103 local_target="$$target"; \
105 (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
107 done && test -z "$$fail"