source: rtems/make/directory.cfg @ 45789f2

4.104.114.84.95
Last change on this file since 45789f2 was 9608320, checked in by Joel Sherrill <joel.sherrill@…>, on Nov 22, 1999 at 1:41:11 PM

Patch rtems-rc-19991117-4.diff from Ralf Corsepius <corsepiu@…>:

.. a major configuration cleanup
... major enhancement of automake support.

... and it contains a *major* breakthough:

Automake support for libchip and libmisc *LEAF* directories.

To implement this I have used several nasty tricks

  • The basical trick is to wrap an old Makefile.in's contents into a Makefile.am and still continue to use (i.e include) the old *.cfg files.
  • Replaced each INSTALL_IF_CHANGE and INSTALL_VARIANT with make dependencies
  • Add a gnu-make ifdef AUTOMAKE to main.cfg to avoid conflicts between automake and RTEMS make rules
  • Replaced each install:: and preinstall:: rule with make dependencies
  • Replaced SUB_DIRS with SUBDIRS in all Makefile.ins (Automake convention)
  • Removed each manually added autoconf substitution which automake performs automatically.

This is not yet full automake support, because using the temporary
installation directory, preinstallation in general and building variants
are in contradiction to automake's basic working principles ...

... the new Makefile.ams work still somewhat clumsy
... nevertheless they work (quite well).

WARNING:

At first glance this patch is small, but

  • it affects the whole configuration system.
  • it opens the road to introducing automake to all Makefile.ins currently not being under automake control.

JOEL> Does this remove or add any files?

Both, all Makefile.ins below libchip and libmisc get replaced with
Makefile.ams.

  • Property mode set to 100644
File size: 1.7 KB
Line 
1#
2#  $Id$
3#
4# make/directory.cfg
5#
6#   Make(1) configuration file include'd by all directory-level Makefile's.
7#
8#   See also make/main.cfg
9#
10
11# This is a simplified variant of automake-1.4's rule for handling
12# subdirectories
13$(RECURSE_TARGETS):
14        @set fnord $(MAKEFLAGS); amf=$$2; \
15        dot_seen=no; \
16        target=`echo $@ | sed -e s/-recursive// -e s/debug_// -e s/profile_// `; \
17        list='$(SUBDIRS)'; for subdir in $$list; do \
18          echo "Making $$target in $$subdir"; \
19          local_target="$$target"; \
20          (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
21           || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
22        done && test -z "$$fail"
23
24
25# mostlyclean-recursive maintainer-clean-recursive:
26clean-recursive \
27distclean-recursive:
28        @set fnord $(MAKEFLAGS); amf=$$2; \
29        dot_seen=no; \
30        rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
31          rev="$$subdir $$rev"; \
32          test "$$subdir" = "." && dot_seen=yes; \
33        done; \
34        test "$$dot_seen" = "no" && rev=". $$rev"; \
35        target=`echo $@ | sed s/-recursive//`; \
36        for subdir in $$rev; do \
37          echo "Making $$target in $$subdir"; \
38          if test "$$subdir" = "."; then \
39            local_target="$$target-am"; \
40          else \
41            local_target="$$target"; \
42          fi; \
43          (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
44           || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
45        done && test -z "$$fail"
46
47clean-am: clean-generic
48distclean-am: distclean-generic clean-am
49
50preinstall: preinstall-recursive
51.PHONY: preinstall preinstall-am preinstall-recursive
52
53distclean: distclean-recursive
54        -$(RM) config.status
55
56.PHONY: distclean distclean-am distclean-recursive
57
58clean: clean-recursive
59.PHONY: clean clean-am clean-recursive
60
Note: See TracBrowser for help on using the repository browser.