# Toplevel Makefile for Hachti's H316 stuff collection
-# First we need the PC side tools. Nothing runs without them!
-SUBDIRS=pc-tools
+SUBDIRS = pc-tools lib systems programs
-# Now we build the libraries which are always rebuild using the original compiler and
-# assembler tapes
-SUBDIRS+=lib
-
-# 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/fortran
+.done_systems_dap: .done_lib
+ @$(MAKE) -C systems/dap && touch $@
-# And all other H316 tools depending on all the other stuff
-SUBDIRS+=programs
+.done_programs_tools: .done_systems_dap
+ @$(MAKE) -C programs/tools && touch $@
-#lib/fortran/vpunch-help
+.done_systems: .done_programs_tools
+ @$(MAKE) -C systems && touch $@
-# If you want to build the docs, too: Uncomment next line:
-#SUBDIRS+=docs/manual
+.done_programs_fortran: .done_systems
+ @$(MAKE) -C programs/fortran && touch $@
+.done_programs: .done_programs_fortran
+ @$(MAKE) -C programs && touch $@
-default:
- @$(foreach subdir, $(SUBDIRS), $(MAKE) -C $(subdir)&&) /bin/true
+default: .done_programs
clean:
@$(foreach subdir, $(SUBDIRS), $(MAKE) -C $(subdir) $@&&) true
@rm -f h316rc
+ @rm -f .done_*
%:
@echo $@