global: Make Makefile better and some small fixes
[h316.git] / Makefile
index 09d81ca4ac854cf3e87361083694600502b3bc38..cb4c049e93744e2d7200d4d21a44b0d4d97b295a 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,18 +1,43 @@
 # Toplevel Makefile for Hachti's H316 stuff collection
 
-SUBDIRS=pc-tools/ldc pc-tools/src-filters pc-tools/boot-maker lib/iolib lib/fortran \
-        lib/fortran lib/fortran/vpunch-help lib/iolib programs/mandelbrot\
-        programs/punchomat docs/manual
+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)&&) /bin/true
+.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
+.PHONY: default cvsclean