* automake.texi (Invoking aclocal): Mention ## comments.
[automake.git] / subdirs.am
blobadb3672624d8bcd639feb677eacb8ec65e4e38e2
1 ## automake - create Makefile.in from Makefile.am
2 ## Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000
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 2, or (at your option)
8 ## any later version.
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, write to the Free Software
17 ## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
18 ## 02111-1307, USA.
19 # This directory's subdirectories are mostly independent; you can cd
20 # into them and run `make' without going through this Makefile.
21 # To change the values of `make' variables: instead of editing Makefiles,
22 # (1) if the variable is set in `config.status', edit `config.status'
23 #     (which will cause the Makefiles to be regenerated when you run `make');
24 # (2) otherwise, pass the desired values on the `make' command line.
26 all-recursive install-data-recursive install-exec-recursive \
27 installdirs-recursive install-recursive uninstall-recursive @INSTALLINFO@ \
28 check-recursive installcheck-recursive info-recursive dvi-recursive:
29         @set fnord $(MAKEFLAGS); amf=$$2; \
30         dot_seen=no; \
31         target=`echo $@ | sed s/-recursive//`; \
32         list='$(SUBDIRS)'; for subdir in $$list; do \
33           echo "Making $$target in $$subdir"; \
34           if test "$$subdir" = "."; then \
35             dot_seen=yes; \
36             local_target="$$target-am"; \
37           else \
38             local_target="$$target"; \
39           fi; \
40           (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
41 ## This trick allows "-k" to keep its natural meaning when running a
42 ## recursive rule.
43            || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
44         done; \
45         if test "$$dot_seen" = "no"; then \
46           $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
47         fi; test -z "$$fail"
49 ## We run all `clean' targets in reverse order.  Why?  It's an attempt
50 ## to alleviate a problem that can happen when dependencies are
51 ## enabled.  In this case, the .P file in one directory can depend on
52 ## some automatically generated header in an earlier directory.  Since
53 ## the dependencies are required before any target is examined, make
54 ## bombs.
55 mostlyclean-recursive clean-recursive distclean-recursive \
56 maintainer-clean-recursive:
57         @set fnord $(MAKEFLAGS); amf=$$2; \
58         dot_seen=no; \
59         rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
60           if test "$$subdir" = "."; then :; else \
61             rev="$$subdir $$rev"; \
62           fi; \
63         done; \
64 ## Always do `.' last.
65         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"