3 # First cut at a topLevel makefile for the paradyn system.
6 # Revision 1.19 1995/01/30 18:08:12 jcargill
7 # Major build system reorganization
11 # Standalone is the list of standalone binaries. These get built
12 # first when we "make world", since they include tools for building
13 # the rest of the system.
15 # Subsystems is the list of all other pieces which should be built.
17 buildfirst = util igen thread visi dag hist
18 subsystems = bininst paradyn paradynd paradyndSIM paradyndPVM \
19 rtinst rthist visiClients/tclVisi visiClients/barchart
22 # This rule makes most of the normal recursive stuff. Just about any
23 # target can be passed down to the lower-level Makefiles by listing it
24 # as a target on the next line:
26 # Note that the first item listed in this rule ("all") is what gets
27 # made by default if make is passed no arguments. Don't add other
30 all clean install depend:
31 +for subsystem in $(buildfirst) $(subsystems); do \
32 if [ -f $$subsystem/$(PLATFORM)/Makefile ]; then \
33 $(MAKE) -C $$subsystem/$(PLATFORM) $@; \
39 # This rules passes down the documentation-related stuff to
40 # lower-level Makefiles in the individual "docs" directories.
43 +for subsystem in $(buildfirst) $(subsystems); do \
44 if [ -f $$subsystem/docs/Makefile ]; then \
45 $(MAKE) -C $$subsystem/docs $@; \
52 # The "make world" target is set up to build things in the "correct"
53 # order for a build from scratch. It builds things in the
54 # "buildfirst" list first, then builds everything, then installs
57 # This make target doesn't go first in the Makefile, though, since we
58 # really only want to make "install" when it's specifically requested.
59 # Note that "world" doesn't do a "clean", since it's nice to be able
60 # to restart a compilation that fails without re-doing a lot of
64 +for subsystem in $(buildfirst); do \
65 if [ -f $$subsystem/$(PLATFORM)/Makefile ]; then \
66 $(MAKE) -C $$subsystem/$(PLATFORM) all install; \
75 # The "make nightly" target is what should get run automatically every
76 # night. It uses "make world" to build things in the right order for
77 # a build from scratch.
80 # Note that "nightly" should only be run on the primary build site,
81 # and does things like building documentation that don't need to be
82 # built for each different architecture. Other "non-primary" build
83 # sites that run each night should just run "make clean world".
90 chmod 644 /p/paradyn/man/man?/*