diff options
author | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2008-09-24 17:43:33 +0000 |
---|---|---|
committer | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2008-09-24 17:43:33 +0000 |
commit | dfca97b2fb4638ee07e8db5e26c62cd8668bfc0b (patch) | |
tree | 281808a6860c90d531036f11812b7fedb31fc7a5 /GNUmakefile | |
parent | b4d1d96884260e76d0cdb78ee16dd7375f0a4e54 (diff) | |
download | netpbm-mirror-dfca97b2fb4638ee07e8db5e26c62cd8668bfc0b.tar.gz netpbm-mirror-dfca97b2fb4638ee07e8db5e26c62cd8668bfc0b.tar.xz netpbm-mirror-dfca97b2fb4638ee07e8db5e26c62cd8668bfc0b.zip |
Make parallel make work
git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@733 9d0c8265-081b-0410-96cb-a4ca84ce46f8
Diffstat (limited to 'GNUmakefile')
-rw-r--r-- | GNUmakefile | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/GNUmakefile b/GNUmakefile index 33a01b43..bb9db4fe 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -59,7 +59,8 @@ VPATH=.:$(SRCDIR) include $(BUILDDIR)/Makefile.config -PRODUCT_SUBDIRS = lib converter analyzer editor generator other +PROG_SUBDIRS = converter analyzer editor generator other +PRODUCT_SUBDIRS = lib $(PROG_SUBDIRS) SUPPORT_SUBDIRS = urt buildtools SUBDIRS = $(PRODUCT_SUBDIRS) $(SUPPORT_SUBDIRS) @@ -87,6 +88,18 @@ all: nonmerge .PHONY: nonmerge nonmerge: $(PRODUCT_SUBDIRS:%=%/all) +# Parallel make (make --jobs) is not smart enough to coordinate builds +# between submakes, so a naive parallel make would cause certain +# targets to get built multiple times simultaneously. That is usually +# unacceptable. So we introduce extra dependencies here just to make +# sure such targets are already up to date before the submake starts, +# for the benefit of parallel make. Note that we ensure that parallel +# make works for 'make all' in the top directory, but it may still fail +# for the aforementioned reason for other invocations. + +$(SUBDIRS:%=%/all): pm_config.h inttypes_netpbm.h version.h +$(PROG_SUBDIRS:%=%/all): lib/all $(SUPPORT_SUBDIRS:%=%/all) + OMIT_CONFIG_RULE = 1 OMIT_VERSION_H_RULE = 1 OMIT_INTTYPES_RULE = 1 |