open-src/common/Makefile.inc
changeset 810 6f94d3da0552
parent 705 24ca414edbff
child 822 2a89ea3c59be
--- a/open-src/common/Makefile.inc	Tue Oct 13 15:30:00 2009 -0700
+++ b/open-src/common/Makefile.inc	Thu Oct 15 20:19:43 2009 -0700
@@ -1,7 +1,7 @@
 # -*- Makefile -*- rules commonly shared among X consolidation open source dirs
 #
-# Copyright 2009 Sun Microsystems, Inc.  All Rights Reserved.
-# Use subject to license terms.
+# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a
 # copy of this software and associated documentation files (the
@@ -28,7 +28,7 @@
 # or other dealings in this Software without prior written authorization
 # of the copyright holder.
 #
-# @(#)Makefile.inc	1.99	09/05/15
+# ident	"@(#)Makefile.inc	1.100	09/10/13 SMI"
 #
 
 ### Default rules
@@ -45,6 +45,9 @@
 MODULE_MAKE_DEFAULT		= $(MODULE_MAKE_SET:yes=$(POUND_SIGN))
 $(MODULE_MAKE_DEFAULT)		MODULE_MAKE = $(MODTYPE_MAKE)
 
+# Enable parallel make for gmake built modules too
+#MAKEFLAGS			+= -j $(DMAKE_MAX_JOBS)
+
 # Where to install files
 MODTYPE_PREFIX_DEFAULT		= $(MODTYPE_PREFIX_SET:yes=$(POUND_SIGN))
 $(MODULE_PREFIX_DEFAULT)	MODTYPE_PREFIX=$(X11_DIR)
@@ -106,11 +109,16 @@
 					$(MODULE_ADD_INSTALL_TARGETS)
 
 # Additional flags to pass to make in 32-bit & 64-bit builds
-BUILD_32_FLAGS= BUILD_DIR=$(BUILD_DIR_32) ARCH_FLAGS="$(ARCH32_FLAGS)" \
-	BUILD_TYPE=32 $(MODTYPE_BUILD_32_FLAGS) $(MODULE_BUILD_32_FLAGS)
+BUILD_DIR_32_FLAGS= BUILD_DIR=$(BUILD_DIR_32) BUILD_TYPE=32
+
+BUILD_DIR_64_FLAGS= BUILD_DIR=$(BUILD_DIR_64) BUILD_TYPE=64 \
+	LIBSUBDIR=/$(SUBDIR64) ARCHLIBSUBDIR=/$(SUBDIR64)
 
-BUILD_64_FLAGS= BUILD_DIR=$(BUILD_DIR_64) ARCH_FLAGS="$(ARCH64_FLAGS)" \
-	BUILD_TYPE=64 $(MODTYPE_BUILD_64_FLAGS) $(MODULE_BUILD_64_FLAGS)
+BUILD_32_FLAGS= $(BUILD_DIR_32_FLAGS) ARCH_FLAGS="$(ARCH32_FLAGS)" \
+	$(MODTYPE_BUILD_32_FLAGS) $(MODULE_BUILD_32_FLAGS)
+
+BUILD_64_FLAGS= $(BUILD_DIR_64_FLAGS) ARCH_FLAGS="$(ARCH64_FLAGS)" \
+	$(MODTYPE_BUILD_64_FLAGS) $(MODULE_BUILD_64_FLAGS)
 
 all: $(BUILD_TYPES:%=source_%) $(BUILD_TYPES:%=build_%)
 all_32: source_32 configure_32 build_32
@@ -130,31 +138,31 @@
 
 source_32: $(SOURCE_DIR_32)/$(UNPACK_FILE)
 $(SOURCE_DIR_32)/$(UNPACK_FILE):
-	$(MAKE) $(MAKEFLAGS) BUILD_DIR=$(BUILD_DIR_32) source_gen
+	$(MAKE) $(MAKEFLAGS) $(BUILD_DIR_32_FLAGS) source_gen
 
 source_64: $(SOURCE_DIR_64)/$(UNPACK_FILE)
 $(SOURCE_DIR_64)/$(UNPACK_FILE):
-	$(MAKE) $(MAKEFLAGS) BUILD_DIR=$(BUILD_DIR_64) source_gen
+	$(MAKE) $(MAKEFLAGS) $(BUILD_DIR_64_FLAGS) source_gen
 
 configure: $(BUILD_TYPES:%=configure_%)
 
 configure_gen: $(CONFIGURE_TARGETS)
 
-configure_32:: 
+configure_32:: source_32
 	$(MAKE) $(MAKEFLAGS) $(BUILD_32_FLAGS) configure_gen
 
-configure_64::
-	$(MAKE) $(MAKEFLAGS) LIBSUBDIR=/$(SUBDIR64) ARCHLIBSUBDIR=/$(SUBDIR64) $(BUILD_64_FLAGS) configure_gen
+configure_64:: source_64
+	$(MAKE) $(MAKEFLAGS) $(BUILD_64_FLAGS) configure_gen
 
 build: $(BUILD_TYPES:%=build_%)
 
 build_gen: $(BUILD_TARGETS)
 
-build_32::
+build_32:: configure_32
 	$(MAKE) $(MAKEFLAGS) $(BUILD_32_FLAGS) build_gen
 
-build_64::
-	$(MAKE) $(MAKEFLAGS) LIBSUBDIR=/$(SUBDIR64) ARCHLIBSUBDIR=/$(SUBDIR64) $(BUILD_64_FLAGS) build_gen
+build_64:: configure_64
+	$(MAKE) $(MAKEFLAGS) $(BUILD_64_FLAGS) build_gen
 
 install: $(BUILD_TYPES:%=install_%)
 
@@ -164,7 +172,7 @@
 	$(MAKE) $(MAKEFLAGS) $(BUILD_32_FLAGS) install_gen
 
 install_64:: build_64
-	$(MAKE) $(MAKEFLAGS) LIBSUBDIR=/64 ARCHLIBSUBDIR=/$(SUBDIR64) $(BUILD_64_FLAGS) install_gen
+	$(MAKE) $(MAKEFLAGS) $(BUILD_64_FLAGS) install_gen
 
 DEBUG_BUILD_FLAGS = BUILD_DEBUG=yes
 
@@ -313,8 +321,7 @@
 
 # Command line options to GNU autoconf configure script
 DEFAULT_CONFIG_OPTS = --prefix=$(MODULE_PREFIX) \
-	--mandir='$${prefix}/share/man' --localstatedir=/var \
-	--disable-libtool-lock
+	--mandir='$${prefix}/share/man' --localstatedir=/var
 
 CONFIG_OPTS = $(DEFAULT_CONFIG_OPTS) \
 	$(MODTYPE_CONFIG_OPTS) $(MODULE_CONFIG_OPTS)
@@ -392,8 +399,13 @@
 LD_OPTIONS = -L$(PROTODIR)$(X11_DIR)/lib$(LIBSUBDIR) \
 	$(MODTYPE_LD_OPTIONS) $(MODULE_LD_OPTIONS)
 
+# MKDIRPROG - Workaround parallel build race condition
+#		in older upstream packaged install-sh
+
 BUILD_ENV = LD_OPTIONS='$(LD_OPTIONS)' \
 	PROTODIR='$(PROTODIR)' \
+	MAKE='$(MODULE_MAKE)' \
+	MKDIRPROG='mkdir -p' \
 	$(MODTYPE_BUILD_ENV) $(MODULE_BUILD_ENV)
 
 DEFAULT_BUILD_MAKEFLAGS=$(MODTYPE_MAKEFLAGS) $(MODULE_MAKEFLAGS) \
@@ -406,7 +418,7 @@
 print_default_build_flags:
 	@print "BUILD_ENV='$(BUILD_ENV)'" ; \
 	print "MAKE='$(MODULE_MAKE)'" ; \
-	print "MAKE_FLAGS='$(MAKEFLAGS) $(DEFAULT_BUILD_MAKEFLAGS)'"
+	print "MAKEFLAGS='$(MAKEFLAGS) $(DEFAULT_BUILD_MAKEFLAGS)'"
 
 build-in-subdir:
 	(cd $(subdir) ; \
@@ -443,7 +455,7 @@
 	-e 's|^sdkdir=|sdkdir=$$protodir|g;' \
 	-e 's|$$protodir\$${sdkdir}|\$${sdkdir}|g;'
 
-install_pkgconfig_uninstalled:
+install_pkgconfig_uninstalled: $(INSTALL_TARGETS)
 	@ if [[ ! -z "$(FIX_PC_FILES)" ]] ; then \
 	    cd $(SOURCE_DIR) ; \
 	    for pcin in $(FIX_PC_FILES:.in=) ; do \
@@ -462,7 +474,7 @@
 $(BUILD_DEBUG:yes=$(POUND_SIGN))	DEBUG_ELF_COMMENTS=
 ELF_COMMENTS += $(DEBUG_ELF_COMMENTS)
 
-set-elf-comments:
+set-elf-comments: $(BUILD_TARGETS:set-elf-comments=)
 	$(TOP)/common/set-elf-comments.pl -B $(TOP)/../packages/pkgversion \
 	 -M '$(ELF_COMMENTS)' $(SOURCE_DIR)