.
[automake.git] / subdirs.am
blobb0ce04ac0488bd58c00980665b5f272d19f92588
1 ## automake - create Makefile.in from Makefile.am
2 ## Copyright (C) 1994-99, 2000 Free Software Foundation, Inc.
4 ## This program is free software; you can redistribute it and/or modify
5 ## it under the terms of the GNU General Public License as published by
6 ## the Free Software Foundation; either version 2, or (at your option)
7 ## any later version.
9 ## This program is distributed in the hope that it will be useful,
10 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
11 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 ## GNU General Public License for more details.
14 ## You should have received a copy of the GNU General Public License
15 ## along with this program; if not, write to the Free Software
16 ## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
17 ## 02111-1307, USA.
18 # This directory's subdirectories are mostly independent; you can cd
19 # into them and run `make' without going through this Makefile.
20 # To change the values of `make' variables: instead of editing Makefiles,
21 # (1) if the variable is set in `config.status', edit `config.status'
22 #     (which will cause the Makefiles to be regenerated when you run `make');
23 # (2) otherwise, pass the desired values on the `make' command line.
25 all-recursive install-data-recursive install-exec-recursive \
26 installdirs-recursive install-recursive uninstall-recursive @INSTALLINFO@ \
27 check-recursive installcheck-recursive info-recursive dvi-recursive:
28         @set fnord $(MAKEFLAGS); amf=$$2; \
29         dot_seen=no; \
30         target=`echo $@ | sed s/-recursive//`; \
31         list='$(SUBDIRS)'; for subdir in $$list; do \
32           echo "Making $$target in $$subdir"; \
33           if test "$$subdir" = "."; then \
34             dot_seen=yes; \
35             local_target="$$target-am"; \
36           else \
37             local_target="$$target"; \
38           fi; \
39           (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
40 ## This trick allows "-k" to keep its natural meaning when running a
41 ## recursive rule.
42            || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
43         done; \
44         if test "$$dot_seen" = "no"; then \
45           $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
46         fi; test -z "$$fail"
48 ## We run all `clean' targets in reverse order.  Why?  It's an attempt
49 ## to alleviate a problem that can happen when dependencies are
50 ## enabled.  In this case, the .P file in one directory can depend on
51 ## some automatically generated header in an earlier directory.  Since
52 ## the dependencies are required before any target is examined, make
53 ## bombs.
54 mostlyclean-recursive clean-recursive distclean-recursive \
55 maintainer-clean-recursive:
56         @set fnord $(MAKEFLAGS); amf=$$2; \
57         dot_seen=no; \
58         rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
59           rev="$$subdir $$rev"; \
60 ## FreeBSD make/sh will exit if the test fails and we use "&&";
61 ## hence the `if'.
62           if test "$$subdir" = "."; then dot_seen=yes; else :; fi; \
63         done; \
64 ## If we haven't seen `.', then add it at the beginning.
65         test "$$dot_seen" = "no" && rev=". $$rev"; \
66         target=`echo $@ | sed s/-recursive//`; \
67         for subdir in $$rev; do \
68           echo "Making $$target in $$subdir"; \
69           if test "$$subdir" = "."; then \
70             local_target="$$target-am"; \
71           else \
72             local_target="$$target"; \
73           fi; \
74           (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
75 ## This trick allows "-k" to keep its natural meaning when running a
76 ## recursive rule.
77            || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
78         done && test -z "$$fail"