global: Make Makefile better and some small fixes
[h316.git] / Makefile
index f9a129abbc3a34c6c2284d3b5e9e69156cfa63cc..cb4c049e93744e2d7200d4d21a44b0d4d97b295a 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,45 +1,37 @@
 # Toplevel Makefile for Hachti's H316 stuff collection
 
-<<<<<<< Makefile
-# First we need the PC side tools. Nothing runs without them!
-SUBDIRS=pc-tools/ldc pc-tools/src-filters  pc-tools/boot-maker 
+SUBDIRS = pc-tools lib systems programs
 
-# Now we build the libraries which are always rebuild using the original compiler and 
-# assembler tapes
-SUBDIRS+=lib/iolib lib/fortran \
-
-# Here we link the assembler - via a trick
-SUBDIRS+=systems/dap
+# If you want to build the docs, too: Uncomment next line:
+#SUBDIRS+=docs/manual
 
-# What's missing for the systems
-SUBDIRS+=programs/tools
+.done_pc-tools :
+       @$(MAKE) -C pc-tools && touch $@
 
-# Now we can build the super images and slst
-SUBDIRS+=systems
+.done_lib: .done_pc-tools
+       @$(MAKE) -C lib && touch $@
 
-# The compiler is rebuilt as well!
-SUBDIRS+=programs/frtn
+.done_systems_dap: .done_lib
+       @$(MAKE) -C systems/dap && touch $@
 
-# And all other H316 tools depending on all the other stuff
-SUBDIRS+=programs/mandelbrot\
-        programs/punchomat\
+.done_programs_tools: .done_systems_dap
+       @$(MAKE) -C programs/tools && touch $@
 
+.done_systems: .done_programs_tools
+       @$(MAKE) -C systems && touch $@
 
-=======
-SUBDIRS=pc-tools/ldc pc-tools/src-filters  pc-tools/boot-maker lib/iolib lib/fortran \
-        lib/fortran  lib/iolib programs/mandelbrot\
-        programs/punchomat programs/tools systems
->>>>>>> 1.12
+.done_programs_fortran: .done_systems
+       @$(MAKE) -C programs/fortran && touch $@
 
-#lib/fortran/vpunch-help
+.done_programs: .done_programs_fortran
+       @$(MAKE) -C programs && touch $@
 
-# If you want to build the docs, too: Uncomment next line:
-#SUBDIRS+=docs/manual
-cvsclean: clean
-       touch slst/* sys/*
+default: .done_programs
 
-default: 
-       @$(foreach subdir, $(SUBDIRS), $(MAKE) -C $(subdir)&&) /bin/true
+clean:
+       @$(foreach subdir, $(SUBDIRS), $(MAKE) -C $(subdir) $@&&) true
+       @rm -f h316rc
+       @rm -f .done_*
 
 %:
        @echo $@