global: Make Makefile better and some small fixes
[h316.git] / Makefile
index 3b41a62a6e4a99acbb88456f845c58a70c6a254d..cb4c049e93744e2d7200d4d21a44b0d4d97b295a 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,17 +1,43 @@
 # Toplevel Makefile for Hachti's H316 stuff collection
 
-SUBDIRS=lib/iolib lib/fortran docs/manual lib/fortran lib/fortran/vpunch-help\
-lib/iolib pc-tools/ldc pc-tools/src-filters programs/mandelbrot\
-programs/punchomat
+SUBDIRS = pc-tools lib systems programs
 
+# If you want to build the docs, too: Uncomment next line:
+#SUBDIRS+=docs/manual
 
-default: 
-       $(foreach subdir, $(SUBDIRS), $(MAKE) -C $(subdir);)
+.done_pc-tools :
+       @$(MAKE) -C pc-tools && touch $@
+
+.done_lib: .done_pc-tools
+       @$(MAKE) -C lib && touch $@
+
+.done_systems_dap: .done_lib
+       @$(MAKE) -C systems/dap && touch $@
+
+.done_programs_tools: .done_systems_dap
+       @$(MAKE) -C programs/tools && touch $@
+
+.done_systems: .done_programs_tools
+       @$(MAKE) -C systems && touch $@
+
+.done_programs_fortran: .done_systems
+       @$(MAKE) -C programs/fortran && touch $@
+
+.done_programs: .done_programs_fortran
+       @$(MAKE) -C programs && touch $@
+
+default: .done_programs
+
+clean:
+       @$(foreach subdir, $(SUBDIRS), $(MAKE) -C $(subdir) $@&&) true
+       @rm -f h316rc
+       @rm -f .done_*
 
 %:
        @echo $@
        $(foreach subdir, $(SUBDIRS), $(MAKE) -C $(subdir) $@;)
 
 
-.PHONY: default./build/Makefile
+.PHONY: default cvsclean
+