Makefile: allow 'modules' and 'libs' to build in parallel
Removes the shell serialisation `for .. in ..` expression This provides another significant speed up, after */Depend was made parallel. x3+ speedup over -j1.
This commit is contained in:
parent
a81184e205
commit
8eb2ec9ead
22
Makefile
22
Makefile
|
|
@ -47,15 +47,21 @@ database/database.h: ${MAGICDIR}/database/database.h.in
|
||||||
@echo --- making header file database/database.h
|
@echo --- making header file database/database.h
|
||||||
${SCRIPTS}/makedbh ${MAGICDIR}/database/database.h.in database/database.h
|
${SCRIPTS}/makedbh ${MAGICDIR}/database/database.h.in database/database.h
|
||||||
|
|
||||||
modules: database/database.h depend
|
# tiles xyz => tiles/libtiles.o xyz/libxyz.o
|
||||||
@echo --- making modules
|
MODULES_SUBDIR := $(shell for i in ${MODULES}; do echo "$${i}/lib$${i}.o"; done)
|
||||||
for dir in ${MODULES} ${PROGRAMS}; do \
|
# tiles xyz => tiles/libtiles.a xyz/libxyz.a
|
||||||
(cd $$dir && ${MAKE} module) || exit 1; done
|
LIBS_SUBDIR := $(shell for i in ${MODULES}; do echo "$${i}/lib$${i}.a"; done)
|
||||||
|
|
||||||
libs: database/database.h depend
|
.PHONY: FORCE
|
||||||
@echo --- making libraries
|
${MODULES_SUBDIR}: FORCE
|
||||||
for dir in ${LIBRARIES}; do \
|
@${MAKE} -C $(dir $@) module
|
||||||
(cd $$dir && ${MAKE} lib) || exit 1; done
|
|
||||||
|
modules: database/database.h depend ${MODULES_SUBDIR}
|
||||||
|
|
||||||
|
${LIBS_SUBDIR}: FORCE
|
||||||
|
@${MAKE} -C $(dir $@) lib
|
||||||
|
|
||||||
|
libs: database/database.h depend ${LIBS_SUBDIR}
|
||||||
|
|
||||||
#
|
#
|
||||||
# extcheck - utility tool
|
# extcheck - utility tool
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue