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.
13 buildfirst = igen util thread visi dag hist
14 subsystems = bininst paradyn paradynd paradyndSIM paradyndPVM \
18 # This rule makes most of the normal recursive stuff. Just about any
19 # target can be passed down to the lower-level Makefiles by listing it
20 # as a target on the next line:
22 # Note that the first item listed in this rule ("all") is what gets
23 # made by default if make is passed no arguments. Don't add other
27 +for subsystem in $(buildfirst) $(subsystems); do \
28 if [ -f $$subsystem/$(PLATFORM)/Makefile ]; then \
29 $(MAKE) -C $$subsystem/$(PLATFORM) $@; \
35 # This rules passes down the documentation-related stuff to
36 # lower-level Makefiles in the individual "docs" directories.
39 +for subsystem in $(buildfirst) $(subsystems); do \
40 if [ -f $$subsystem/docs/Makefile ]; then \
41 $(MAKE) -C $$subsystem/docs $@; \
48 # The "make world" target is what should get run automatically every
49 # night. It builds things in the right order for a build from
50 # scratch. This doesn't go first in the Makefile, though, since we
51 # really only want to make "install" when it's specifically requested.
52 # Note that "world" doesn't do a "clean", since it's nice to be able
53 # to restart a compilation that fails without re-doing a lot of work.
54 # Instead, the nightly build should be a "make clean world".
57 +for subsystem in $(buildfirst); do \
58 if [ -f $$subsystem/$(PLATFORM)/Makefile ]; then \
59 $(MAKE) -C $$subsystem/$(PLATFORM) all install; \
68 chmod 644 /var/home/paradyn/man/man?/*