3 # First cut at a topLevel makefile for the paradyn system.
7 # Standalone is the list of standalone binaries. These get built
8 # first when we "make world", since they include tools for building
9 # the rest of the system.
11 # Subsystems is the list of all other pieces which should be built.
14 subsystems = igen bininst util rtinst thread paradyn paradynd paradyndSIM
17 # This rule makes most of the normal recursive stuff. Just about any
18 # target can be passed down to the lower-level Makefiles by listing it
19 # as a target on the next line:
21 # Note that the first item listed in this rule ("all") is what gets
22 # made by default if make is passed no arguments. Don't add other
26 +for subsystem in $(subsystems); do \
27 if [ -f $$subsystem/$(PLATFORM)/Makefile ]; then \
28 $(MAKE) -C $$subsystem/$(PLATFORM) $@; \
34 # This rules passes down the documentation-related stuff to
35 # lower-level Makefiles in the individual "docs" directories.
38 +for subsystem in $(subsystems); do \
39 if [ -f $$subsystem/$(PLATFORM)/Makefile ]; then \
40 $(MAKE) -C $$subsystem/docs $@; \
47 # The "make world" target is what should get run automatically every
48 # night. It builds things in the right order for a build from
49 # scratch. This doesn't go first in the Makefile, though, since we
50 # really only want to make "install" when it's specifically requested.
51 # Note that "world" doesn't do a "clean", since it's nice to be able
52 # to restart a compilation that fails without re-doing a lot of work.
53 # Instead, the nightly build should be a "make clean world".
56 +for subsystem in $(buildfirst); do \
57 if [ -f $$subsystem/$(PLATFORM)/Makefile ]; then \
58 $(MAKE) -C $$subsystem/$(PLATFORM) all install; \