about summary refs log tree commit diff
path: root/GNUmakefile
diff options
context:
space:
mode:
authorgiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2008-09-27 01:37:09 +0000
committergiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2008-09-27 01:37:09 +0000
commit5d64f5134f6677a5f6766cd4a6245f0a9056e152 (patch)
treea63a6e23e55b3bcb090076aabffa41299f53478d /GNUmakefile
parenta23f38fc2e675b089ca23baf71d3e4c3ab23543e (diff)
downloadnetpbm-mirror-5d64f5134f6677a5f6766cd4a6245f0a9056e152.tar.gz
netpbm-mirror-5d64f5134f6677a5f6766cd4a6245f0a9056e152.tar.xz
netpbm-mirror-5d64f5134f6677a5f6766cd4a6245f0a9056e152.zip
Release 10.35.52
git-svn-id: http://svn.code.sf.net/p/netpbm/code/stable@735 9d0c8265-081b-0410-96cb-a4ca84ce46f8
Diffstat (limited to 'GNUmakefile')
-rw-r--r--GNUmakefile15
1 files changed, 14 insertions, 1 deletions
diff --git a/GNUmakefile b/GNUmakefile
index 14c01017..5aa25ca9 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