3 # First cut at a topLevel makefile for the paradyn system.
6 # Revision 1.24 1997/05/12 20:25:03 naim
7 # Adding "Terrain" visualization to paradyn (commited by naim, done by tung).
9 # Revision 1.23 1996/08/16 18:42:46 newhall
10 # removed bininst and paradyndSIM from Makefile
12 # Revision 1.22 1995/12/20 00:16:41 tamches
13 # removed paradyndPVM, a now-obsolete directory, from the nightly build
15 # Revision 1.21 1995/12/15 22:45:39 tamches
16 # removed reference to "dag", an obsolete directory.
17 # Added visiClients/phaseTable
19 # Revision 1.20 1995/11/04 01:14:56 tamches
20 # added the new table visi (visiClients/tableVisi) to the nightly build
22 # Revision 1.19 1995/01/30 18:08:12 jcargill
23 # Major build system reorganization
27 # Standalone is the list of standalone binaries. These get built
28 # first when we "make world", since they include tools for building
29 # the rest of the system.
31 # Subsystems is the list of all other pieces which should be built.
33 buildfirst = util igen thread visi hist
34 subsystems = paradyn rtinst rthist \
35 paradynd visiClients/tclVisi visiClients/barchart \
36 visiClients/tableVisi visiClients/phaseTable \
39 # This rule makes most of the normal recursive stuff. Just about any
40 # target can be passed down to the lower-level Makefiles by listing it
41 # as a target on the next line:
43 # Note that the first item listed in this rule ("all") is what gets
44 # made by default if make is passed no arguments. Don't add other
47 all clean install depend:
48 +for subsystem in $(buildfirst) $(subsystems); do \
49 if [ -f $$subsystem/$(PLATFORM)/Makefile ]; then \
50 $(MAKE) -C $$subsystem/$(PLATFORM) $@; \
56 # This rules passes down the documentation-related stuff to
57 # lower-level Makefiles in the individual "docs" directories.
60 +for subsystem in $(buildfirst) $(subsystems); do \
61 if [ -f $$subsystem/docs/Makefile ]; then \
62 $(MAKE) -C $$subsystem/docs $@; \
69 # The "make world" target is set up to build things in the "correct"
70 # order for a build from scratch. It builds things in the
71 # "buildfirst" list first, then builds everything, then installs
74 # This make target doesn't go first in the Makefile, though, since we
75 # really only want to make "install" when it's specifically requested.
76 # Note that "world" doesn't do a "clean", since it's nice to be able
77 # to restart a compilation that fails without re-doing a lot of
81 +for subsystem in $(buildfirst); do \
82 if [ -f $$subsystem/$(PLATFORM)/Makefile ]; then \
83 $(MAKE) -C $$subsystem/$(PLATFORM) all install; \
92 # The "make nightly" target is what should get run automatically every
93 # night. It uses "make world" to build things in the right order for
94 # a build from scratch.
97 # Note that "nightly" should only be run on the primary build site,
98 # and does things like building documentation that don't need to be
99 # built for each different architecture. Other "non-primary" build
100 # sites that run each night should just run "make clean world".
107 chmod 644 /p/paradyn/man/man?/*