build: Fix 'make -j' handling.

Some build targets create multiple outputs, which can cause problems
when doing parallel builds. Clean up the build system so that all
subdir invocations come from the top-level Makefile and use $(MAKE).
Also fix the FREEDOOM/FREEDM lumps to really include the version
number by using $(shell ...) syntax.
This commit is contained in:
Simon Howard 2014-01-16 06:30:15 +00:00
parent d9b4c2530a
commit d241e7f326
4 changed files with 44 additions and 51 deletions

View file

@ -1,13 +1,9 @@
CPP=../../scripts/simplecpp
PHASE1_OUTPUTS = phase1/texture1.lmp phase1/texture2.lmp \
phase1/pnames.lmp
PHASE2_OUTPUTS = phase2/texture1.lmp phase2/pnames.lmp
FREEDM_OUTPUTS = freedm/texture1.lmp freedm/pnames.lmp
all: $(PHASE1_OUTPUTS) $(PHASE2_OUTPUTS) $(FREEDM_OUTPUTS)
all: phase1/texture1.lmp phase2/texture1.lmp freedm/texture1.lmp
$(PHASE1_OUTPUTS): textures.cfg
phase1/texture1.lmp:
$(CPP) -DDOOM1 -DULTDOOM < textures.cfg | \
./build-textures -compat_texture1=doom1/texture1.txt \
-compat_texture2=doom1/texture2.txt \
@ -16,14 +12,14 @@ $(PHASE1_OUTPUTS): textures.cfg
-output_texture2=phase1/texture2.lmp \
-output_pnames=phase1/pnames.lmp
$(PHASE2_OUTPUTS): textures.cfg
phase2/texture1.lmp:
$(CPP) -DDOOM1 -DDOOM2 < textures.cfg | \
./build-textures -compat_texture1=doom2/texture1.txt \
-compat_pnames=doom2/pnames.txt \
-output_texture1=phase2/texture1.lmp \
-output_pnames=phase2/pnames.lmp
$(FREEDM_OUTPUTS): textures.cfg
freedm/texture1.lmp:
$(CPP) -DDOOM1 -DDOOM2 -DFREEDM < textures.cfg | \
./build-textures -compat_texture1=doom2/texture1.txt \
-compat_pnames=doom2/pnames.txt \
@ -32,5 +28,7 @@ $(FREEDM_OUTPUTS): textures.cfg
clean:
rm -f $(PHASE1_OUTPUTS) $(PHASE2_OUTPUTS) $(FREEDM_OUTPUTS)
rm -f phase1/texture1.lmp phase1/texture2.lmp phase1/pnames.lmp \
phase2/texture1.lmp phase2/pnames.lmp \
freedm/texture1.lmp freedm/pnames.lmp