global: Makefiles now support parallel compiles.
authorPhilipp Hachtmann <hachti@hachti.de>
Sat, 18 Jan 2014 16:07:31 +0000 (17:07 +0100)
committerPhilipp Hachtmann <hachti@hachti.de>
Sat, 18 Jan 2014 16:20:52 +0000 (17:20 +0100)
Signed-off-by: Philipp Hachtmann <hachti@hachti.de>
15 files changed:
.gitignore
Makefile
lib/common/buildlib.sh
lib/fortran/Makefile
lib/hachti/Makefile
lib/iolib/Makefile
programs/Makefile
programs/first-steps/Makefile
programs/fortran/Makefile
programs/libtest/Makefile
programs/mandelbrot/Makefile
programs/plotter/Makefile
programs/punchomat/Makefile
programs/small-things/Makefile
programs/tools/Makefile

index 2d112bb02cf302f7742c916e9dd95f78cc28c5e3..2a3b04040d053634639186722ac8271b47fa0b45 100644 (file)
@@ -4,6 +4,7 @@
 *.dep
 .*
 h316rc
+bin/h316
 !.empty
 !.gitignore
 !obj
\ No newline at end of file
index cb4c049e93744e2d7200d4d21a44b0d4d97b295a..f7f397e649c7e6bb9f4b456d8318f90427a8573e 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -20,13 +20,15 @@ SUBDIRS = pc-tools lib systems programs
 .done_systems: .done_programs_tools
        @$(MAKE) -C systems && touch $@
 
-.done_programs_fortran: .done_systems
+.done_programs_fortran: .done_systems_dap
        @$(MAKE) -C programs/fortran && touch $@
 
 .done_programs: .done_programs_fortran
        @$(MAKE) -C programs && touch $@
 
-default: .done_programs
+.done_systems: .done_programs
+
+default: .done_systems
 
 clean:
        @$(foreach subdir, $(SUBDIRS), $(MAKE) -C $(subdir) $@&&) true
index 75875a68897cd22353620f93e21538c166470dd7..ae094832161bdf6c9784cc19eb6b94829a51012a 100755 (executable)
@@ -21,7 +21,7 @@ clean() {
 make_org() {
     if [ ! -d "$ORG_OBJDIR" ]; then
        echo "Buildlib: Creating directory $ORG_OBJDIR."
-       mkdir  $ORG_OBJDIR
+       mkdir -p $ORG_OBJDIR
     fi
     tdir=$PWD
     cd $ORG_OBJDIR
@@ -33,7 +33,7 @@ make_org() {
 genlib(){
     if [ ! -d "$LIB_DIR" ]; then
        echo -n "Creating $LIB_DIR:"
-       mkdir  $LIB_DIR && echo "Ok." || echo "FAILED!"
+       mkdir -p $LIB_DIR && echo "Ok." || echo "FAILED!"
     fi
     
     recipe=$1
index d2c768c5b2a32d2483a7ea8c18975bf587be2b00..4a0afaf4e533975f1413c245eb6ac4498a491f57 100644 (file)
@@ -51,7 +51,7 @@ $(OBJECTS): $(OBJECT_FILES)
 
 $(OBJECT_FILES) : $(OBJ_DIR)/%.obj : $(SRC_DIR)/%.asm
 #      @echo Building: $(subst         $$,\$$,$@)
-       @if [ ! -d $(OBJ_DIR) ]; then mkdir $(OBJ_DIR); fi
+       @if [ ! -d $(OBJ_DIR) ]; then mkdir -p $(OBJ_DIR); fi
        @ rm -f $@
        @ cd $(OBJ_DIR) && $(ASM_COMMAND) ../$(subst $$,\$$,$^) $(LISTING)
        @ cd $(OBJ_DIR) && $(LDC_COMMAND) $(notdir $(subst $$,\$$,$@))
index d813e062ad4cc449498efab8a23eab37fb7dab84..4a2cf53578d5d072fe8cc3c3db25b05d4c8a47f8 100644 (file)
@@ -47,7 +47,7 @@ all: $(LIBS)
 #      @echo '$(F4_OBJECT_FILES)'
 
 $(ORG_OBJDIR)/lastrun: $(ORG_LIBDIR)/*
-       @if [ ! -d $(OBJ_DIR) ]; then mkdir $(OBJ_DIR); fi
+       @if [ ! -d $(OBJ_DIR) ]; then mkdir -p $(OBJ_DIR); fi
        @./buildlib.sh makeorg
 
 $(OBJECTS): $(OBJECT_FILES) $(F4_OBJECT_FILES)
@@ -55,7 +55,7 @@ $(OBJECTS): $(OBJECT_FILES) $(F4_OBJECT_FILES)
 
 $(OBJECT_FILES):$(OBJ_DIR)/%.obj : $(SRC_DIR)/%.asm
        @echo Building: $(subst         $$,\$$,$@)
-       @if [ ! -d $(OBJ_DIR) ]; then mkdir $(OBJ_DIR); fi
+       @if [ ! -d $(OBJ_DIR) ]; then mkdir -p $(OBJ_DIR); fi
        @ rm -f $@
        @ cd $(OBJ_DIR) && $(ASM_COMMAND) ../$(subst $$,\$$,$^) $(LISTING)
        @ cd $(OBJ_DIR) && $(LDC_COMMAND) $(notdir $(subst $$,\$$,$@))
@@ -63,7 +63,7 @@ $(OBJECT_FILES):$(OBJ_DIR)/%.obj : $(SRC_DIR)/%.asm
 
 $(F4_OBJECT_FILES):$(OBJ_DIR)/%.obj : $(SRC_DIR)/%.f
 #      @echo Building: $(subst         $$,\$$,$@)
-       @if [ ! -d $(OBJ_DIR) ]; then mkdir $(OBJ_DIR); fi
+       @if [ ! -d $(OBJ_DIR) ]; then mkdir -p $(OBJ_DIR); fi
        @ rm -f $@
        @ cd $(OBJ_DIR) && $(FRTN_COMMAND) ../$(subst $$,\$$,$^)
        @ cd $(OBJ_DIR) && $(LDC_COMMAND) $(notdir $(subst $$,\$$,$@))
index 587fc2a3946b029ea8e67f6dccfa8fb0b28095f7..133ccd671cff33a6dc26bac54f907f3f2517e678 100644 (file)
@@ -58,7 +58,7 @@ $(OBJECTS): $(OBJECT_FILES)
 
 $(OBJECT_FILES) : $(OBJ_DIR)/%.obj : $(SRC_DIR)/%.asm
 #      @echo Building: $(subst         $$,\$$,$@)
-       @if [ ! -d $(OBJ_DIR) ]; then mkdir $(OBJ_DIR); fi
+       @if [ ! -d $(OBJ_DIR) ]; then mkdir -p $(OBJ_DIR); fi
        @ rm -f $@
        @ cd $(OBJ_DIR) && $(ASM_COMMAND) ../$(subst $$,\$$,$^) $(LISTING)
        @ cd $(OBJ_DIR) && $(LDC_COMMAND) $(notdir $(subst $$,\$$,$@))
index bf806aab0eec7153478b6ffaed14721b1a757ab0..381de2f702af07e3ade25a06ddd88904dfa0f5da 100644 (file)
@@ -2,6 +2,11 @@
 MODULES=first-steps  fortran  mandelbrot  plotter\
         punchomat  small-things  tools libtest
 
+.done_fortran: 
+       @$(MAKE) -C fortran && touch $@
+
+.done_tools:
+       @$(MAKE) -C tools && touch $@
 
 %:
        @$(foreach mod,$(MODULES),$(MAKE) -C $(mod) $@ &&) true
@@ -9,4 +14,9 @@ MODULES=first-steps  fortran  mandelbrot  plotter\
 katzelmutelbrummsilalla:
        @$(foreach mod,$(MODULES),$(MAKE) -C $(mod)&&) true
 
-.PHONY:default
\ No newline at end of file
+clean:
+       @$(foreach mod,$(MODULES),$(MAKE) -C $(mod) $@ &&) true
+       rm -f .done_*
+
+
+.PHONY:default clean
\ No newline at end of file
index 9720a0530c9dbc0c49f7768c8c2a9a188700a750..81f0c3ab440fe44187c95fa2560baaf8fbd05dd0 100644 (file)
@@ -13,11 +13,11 @@ PROGRAMS=$(foreach n, $(wildcard $(SRC_DIR)/*.f $(SRC_DIR)/*.asm),$(notdir $(bas
 default: $(foreach prog, $(PROGRAMS),$(BUILD_DIR)/$(prog).obj)
 
 $(BUILD_DIR)/%.obj:$(SRC_DIR)/%.f
-       @if [ ! -d $(BUILD_DIR) ]; then mkdir $(BUILD_DIR); fi
+       @if [ ! -d $(BUILD_DIR) ]; then mkdir -p $(BUILD_DIR); fi
        @$(FRTN_CMD) $< && mv $(notdir $(basename $<)).obj $(BUILD_DIR)
 
 $(BUILD_DIR)/%.obj:$(SRC_DIR)/%.asm
-       @if [ ! -d $(BUILD_DIR) ]; then mkdir $(BUILD_DIR); fi
+       @if [ ! -d $(BUILD_DIR) ]; then mkdir -p $(BUILD_DIR); fi
        @$(ASM_CMD) $< && mv $(notdir $(basename $<)).obj $(BUILD_DIR)
 
 clean :
index 6eaa150e5bb885ae704bb26046dead878ce8e031..7dfedf14ca0ec1d710cf0439b6adee74bd3771a3 100644 (file)
@@ -15,10 +15,10 @@ clean :
 .PHONY: default clean
 
 build/%.obj:src/%.f
-       @if [ ! -d build ]; then mkdir build; fi
+       @if [ ! -d build ]; then mkdir -p build; fi
        $(FRTN) '$^'
        mv '$(notdir $@)' build
 
 build/%.obj:src/%.asm
-       @if [ ! -d build ]; then mkdir build; fi
+       @if [ ! -d build ]; then mkdir -p build; fi
        @ $(ASM) '$^' && mv '$(notdir $@)' build
index b905399dd8dbed8a3db7a3c1a976228f51573bb4..29c32be313e63b326a2e739c6bd0a521bb3e1805 100644 (file)
@@ -11,11 +11,11 @@ PROGRAMS=$(foreach n, $(wildcard $(SRC_DIR)/*.f $(SRC_DIR)/*.asm),$(notdir $(bas
 default: $(foreach prog, $(PROGRAMS),$(BUILD_DIR)/$(prog).obj)
 
 $(BUILD_DIR)/%.obj:$(SRC_DIR)/%.f
-       @if [ ! -d $(BUILD_DIR) ]; then mkdir $(BUILD_DIR); fi
+       @if [ ! -d $(BUILD_DIR) ]; then mkdir -p $(BUILD_DIR); fi
        $(FRTN_CMD) $< $(LISTING) && mv $(notdir $(basename $<)).obj $(BUILD_DIR)
 
 $(BUILD_DIR)/%.obj:$(SRC_DIR)/%.asm
-       @if [ ! -d $(BUILD_DIR) ]; then mkdir $(BUILD_DIR); fi
+       @if [ ! -d $(BUILD_DIR) ]; then mkdir -p $(BUILD_DIR); fi
        $(ASM_CMD) $< $(LISTING)&& mv $(notdir $(basename $<)).obj $(BUILD_DIR)
 
 clean :
index 52bf5851524de0612424327ea63dd2591f9b121f..6b886be22aa4e99d445cafda716861c641b2c0d4 100644 (file)
@@ -12,11 +12,11 @@ PROGRAMS=$(foreach n, $(wildcard $(SRC_DIR)/*.f $(SRC_DIR)/*.asm),$(notdir $(bas
 default: $(foreach prog, $(PROGRAMS),$(BUILD_DIR)/$(prog).obj)
 
 $(BUILD_DIR)/%.obj:$(SRC_DIR)/%.f
-       @if [ ! -d $(BUILD_DIR) ]; then mkdir $(BUILD_DIR); fi
+       @if [ ! -d $(BUILD_DIR) ]; then mkdir -p $(BUILD_DIR); fi
        @$(FRTN_CMD) $< && mv $(notdir $(basename $<)).obj $(BUILD_DIR)
 
 $(BUILD_DIR)/%.obj:$(SRC_DIR)/%.asm
-       @if [ ! -d $(BUILD_DIR) ]; then mkdir $(BUILD_DIR); fi
+       @if [ ! -d $(BUILD_DIR) ]; then mkdir -p $(BUILD_DIR); fi
        @$(ASM_CMD) $< && mv $(notdir $(basename $<)).obj $(BUILD_DIR)
 
 clean :
index 199adffd830a2a9537a0f3d00e6dc6f57d61a0ad..f9e0155b824749fcf4ae7a66cb7e283fafbbf087 100644 (file)
@@ -11,12 +11,12 @@ PROGRAMS=$(foreach n, $(wildcard $(SRC_DIR)/*.f $(SRC_DIR)/*.asm),$(notdir $(bas
 default: $(foreach prog, $(PROGRAMS),$(BUILD_DIR)/$(prog).obj)
 
 $(BUILD_DIR)/%.obj:$(SRC_DIR)/%.f
-       @if [ ! -d $(BUILD_DIR) ]; then mkdir $(BUILD_DIR); fi
+       @if [ ! -d $(BUILD_DIR) ]; then mkdir -p $(BUILD_DIR); fi
        $(FRTN_CMD) $< $(LISTING) && mv $(notdir $(basename $<)).obj $(BUILD_DIR)
 
 
 $(BUILD_DIR)/%.obj:$(SRC_DIR)/%.asm
-       @if [ ! -d $(BUILD_DIR) ]; then mkdir $(BUILD_DIR); fi
+       @if [ ! -d $(BUILD_DIR) ]; then mkdir -p $(BUILD_DIR); fi
        $(ASM_CMD) $< $(LISTING)&& mv $(notdir $(basename $<)).obj $(BUILD_DIR)
 
 
index 686e7d15c7e529108ae027737a9d48779d11c6e7..ead349c2971a3d0188d051a8e760fd8730accae8 100644 (file)
@@ -12,12 +12,12 @@ default: all
 all: $(foreach prog, $(PROGRAMS),$(BUILD_DIR)/$(prog).obj)
 
 $(BUILD_DIR)/%.obj:$(SRC_DIR)/%.f
-       @if [ ! -d $(BUILD_DIR) ]; then mkdir $(BUILD_DIR); fi
+       @if [ ! -d $(BUILD_DIR) ]; then mkdir -p $(BUILD_DIR); fi
        @$(FRTN_CMD) "$(subst $$,\$$,$^)" &&\
         mv "$(notdir $(basename $(subst $$,\$$,$^))).obj" $(BUILD_DIR)
 
 $(BUILD_DIR)/%.obj:$(SRC_DIR)/%.asm
-       @if [ ! -d $(BUILD_DIR) ]; then mkdir $(BUILD_DIR); fi
+       @if [ ! -d $(BUILD_DIR) ]; then mkdir -p $(BUILD_DIR); fi
        @$(ASM_CMD) "$(subst $$,\$$,$^)" &&\
         mv "$(notdir $(basename "\"$(subst $$,\$$,$^)\"")).obj" $(BUILD_DIR)
 
index 686e7d15c7e529108ae027737a9d48779d11c6e7..ead349c2971a3d0188d051a8e760fd8730accae8 100644 (file)
@@ -12,12 +12,12 @@ default: all
 all: $(foreach prog, $(PROGRAMS),$(BUILD_DIR)/$(prog).obj)
 
 $(BUILD_DIR)/%.obj:$(SRC_DIR)/%.f
-       @if [ ! -d $(BUILD_DIR) ]; then mkdir $(BUILD_DIR); fi
+       @if [ ! -d $(BUILD_DIR) ]; then mkdir -p $(BUILD_DIR); fi
        @$(FRTN_CMD) "$(subst $$,\$$,$^)" &&\
         mv "$(notdir $(basename $(subst $$,\$$,$^))).obj" $(BUILD_DIR)
 
 $(BUILD_DIR)/%.obj:$(SRC_DIR)/%.asm
-       @if [ ! -d $(BUILD_DIR) ]; then mkdir $(BUILD_DIR); fi
+       @if [ ! -d $(BUILD_DIR) ]; then mkdir -p $(BUILD_DIR); fi
        @$(ASM_CMD) "$(subst $$,\$$,$^)" &&\
         mv "$(notdir $(basename "\"$(subst $$,\$$,$^)\"")).obj" $(BUILD_DIR)
 
index 686e7d15c7e529108ae027737a9d48779d11c6e7..ead349c2971a3d0188d051a8e760fd8730accae8 100644 (file)
@@ -12,12 +12,12 @@ default: all
 all: $(foreach prog, $(PROGRAMS),$(BUILD_DIR)/$(prog).obj)
 
 $(BUILD_DIR)/%.obj:$(SRC_DIR)/%.f
-       @if [ ! -d $(BUILD_DIR) ]; then mkdir $(BUILD_DIR); fi
+       @if [ ! -d $(BUILD_DIR) ]; then mkdir -p $(BUILD_DIR); fi
        @$(FRTN_CMD) "$(subst $$,\$$,$^)" &&\
         mv "$(notdir $(basename $(subst $$,\$$,$^))).obj" $(BUILD_DIR)
 
 $(BUILD_DIR)/%.obj:$(SRC_DIR)/%.asm
-       @if [ ! -d $(BUILD_DIR) ]; then mkdir $(BUILD_DIR); fi
+       @if [ ! -d $(BUILD_DIR) ]; then mkdir -p $(BUILD_DIR); fi
        @$(ASM_CMD) "$(subst $$,\$$,$^)" &&\
         mv "$(notdir $(basename "\"$(subst $$,\$$,$^)\"")).obj" $(BUILD_DIR)