annotate make/bsd/makefiles/universal.gmk @ 4886:64b46f975ab8 hs23-b14

7142616: MAC: Honor ALT_EXPORT_PATH overrides from JDK control builds Summary: Fix EXPORT_PATH overrides on Mac OS X and only change default. Reviewed-by: phh, dcubed Contributed-by: james.melvin@oracle.com
author phh
date Mon, 06 Feb 2012 14:02:51 -0500
parents 481a9443f721
children 74533f63b116
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4865
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
1 #
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
2 # Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
4 #
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
5 # This code is free software; you can redistribute it and/or modify it
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
6 # under the terms of the GNU General Public License version 2 only, as
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
7 # published by the Free Software Foundation.
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
8 #
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
9 # This code is distributed in the hope that it will be useful, but WITHOUT
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
11 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
12 # version 2 for more details (a copy is included in the LICENSE file that
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
13 # accompanied this code).
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
14 #
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
15 # You should have received a copy of the GNU General Public License version
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
16 # 2 along with this work; if not, write to the Free Software Foundation,
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
18 #
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
20 # or visit www.oracle.com if you need additional information or have any
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
21 # questions.
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
22 #
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
23 #
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
24
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
25 # macosx universal builds
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
26 universal_product:
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
27 $(MAKE) MACOSX_UNIVERSAL=true all_product_universal
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
28 universal_fastdebug:
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
29 $(MAKE) MACOSX_UNIVERSAL=true all_fastdebug_universal
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
30 universal_debug:
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
31 $(MAKE) MACOSX_UNIVERSAL=true all_debug_universal
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
32
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
33
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
34 # Universal builds include 1 or more architectures in a single binary
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
35 all_product_universal:
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
36 # $(QUIETLY) $(MAKE) ARCH_DATA_MODEL=32 $(COMMON_VM_PRODUCT_TARGETS)
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
37 $(QUIETLY) $(MAKE) ARCH_DATA_MODEL=64 $(COMMON_VM_PRODUCT_TARGETS)
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
38 $(QUIETLY) $(MAKE) EXPORT_SUBDIR= universalize
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
39 all_fastdebug_universal:
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
40 # $(QUIETLY) $(MAKE) ARCH_DATA_MODEL=32 $(COMMON_VM_FASTDEBUG_TARGETS)
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
41 $(QUIETLY) $(MAKE) ARCH_DATA_MODEL=64 $(COMMON_VM_FASTDEBUG_TARGETS)
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
42 $(QUIETLY) $(MAKE) EXPORT_SUBDIR=/fastdebug universalize
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
43 all_debug_universal:
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
44 # $(QUIETLY) $(MAKE) ARCH_DATA_MODEL=32 $(COMMON_VM_DEBUG_TARGETS)
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
45 $(QUIETLY) $(MAKE) ARCH_DATA_MODEL=64 $(COMMON_VM_DEBUG_TARGETS)
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
46 $(QUIETLY) $(MAKE) EXPORT_SUBDIR=/debug universalize
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
47
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
48
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
49 # Consolidate architecture builds into a single Universal binary
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
50 universalize: $(UNIVERSAL_LIPO_LIST) $(UNIVERSAL_COPY_LIST)
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
51 $(RM) -r $(EXPORT_PATH)/jre/lib/{i386,amd64}
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
52
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
53
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
54 # Package built libraries in a universal binary
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
55 $(UNIVERSAL_LIPO_LIST):
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
56 BUILT_LIPO_FILES="`find $(EXPORT_JRE_LIB_DIR)/{i386,amd64}/$(subst $(EXPORT_JRE_LIB_DIR)/,,$@) 2>/dev/null`"; \
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
57 if [ -n "$${BUILT_LIPO_FILES}" ]; then \
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
58 $(MKDIR) -p $(shell dirname $@); \
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
59 lipo -create -output $@ $${BUILT_LIPO_FILES}; \
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
60 fi
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
61
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
62
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
63 # Copy built non-universal binaries in place
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
64 $(UNIVERSAL_COPY_LIST):
4886
64b46f975ab8 7142616: MAC: Honor ALT_EXPORT_PATH overrides from JDK control builds
phh
parents: 4865
diff changeset
65 BUILT_COPY_FILES="`find $(EXPORT_JRE_LIB_DIR)/{i386,amd64}/$(subst $(EXPORT_JRE_LIB_DIR)/,,$@) 2>/dev/null`"; \
64b46f975ab8 7142616: MAC: Honor ALT_EXPORT_PATH overrides from JDK control builds
phh
parents: 4865
diff changeset
66 if [ -n "$${BUILT_COPY_FILES}" ]; then \
64b46f975ab8 7142616: MAC: Honor ALT_EXPORT_PATH overrides from JDK control builds
phh
parents: 4865
diff changeset
67 for i in $${BUILT_COPY_FILES}; do \
64b46f975ab8 7142616: MAC: Honor ALT_EXPORT_PATH overrides from JDK control builds
phh
parents: 4865
diff changeset
68 if [ -f $${i} ]; then \
64b46f975ab8 7142616: MAC: Honor ALT_EXPORT_PATH overrides from JDK control builds
phh
parents: 4865
diff changeset
69 $(MKDIR) -p $(shell dirname $@); \
64b46f975ab8 7142616: MAC: Honor ALT_EXPORT_PATH overrides from JDK control builds
phh
parents: 4865
diff changeset
70 $(CP) $${i} $@; \
64b46f975ab8 7142616: MAC: Honor ALT_EXPORT_PATH overrides from JDK control builds
phh
parents: 4865
diff changeset
71 fi; \
64b46f975ab8 7142616: MAC: Honor ALT_EXPORT_PATH overrides from JDK control builds
phh
parents: 4865
diff changeset
72 done; \
4865
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
73 fi
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
74
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
75
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
76 # Replace arch specific binaries with universal binaries
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
77 export_universal:
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
78 $(RM) -r $(EXPORT_PATH)/jre/lib/{i386,amd64}
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
79 $(RM) -r $(JDK_IMAGE_DIR)/jre/lib/{i386,amd64}
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
80 $(RM) $(JDK_IMAGE_DIR)/jre/lib/{client,server}/libjsig.$(LIBRARY_SUFFIX)
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
81 ($(CD) $(EXPORT_PATH) && \
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
82 $(TAR) -cf - *) | \
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
83 ($(CD) $(JDK_IMAGE_DIR) && $(TAR) -xpf -)
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
84
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
85
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
86 # Overlay universal binaries
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
87 copy_universal:
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
88 $(RM) -r $(JDK_IMAGE_DIR)$(COPY_SUBDIR)/jre/lib/{i386,amd64}
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
89 $(RM) $(JDK_IMAGE_DIR)$(COPY_SUBDIR)/jre/lib/{client,server}/libjsig.$(LIBRARY_SUFFIX)
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
90 ($(CD) $(EXPORT_PATH)$(COPY_SUBDIR) && \
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
91 $(TAR) -cf - *) | \
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
92 ($(CD) $(JDK_IMAGE_DIR)$(COPY_SUBDIR) && $(TAR) -xpf -)
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
93
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
94
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
95 # Additional processing for universal builds
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
96 export_product_jdk::
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
97 $(MAKE) EXPORT_SUBDIR= export_universal
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
98 export_optimized_jdk::
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
99 $(MAKE) EXPORT_SUBDIR= export_universal
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
100 export_fastdebug_jdk::
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
101 $(MAKE) EXPORT_SUBDIR=/fastdebug export_universal
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
102 export_debug_jdk::
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
103 $(MAKE) EXPORT_SUBDIR=/debug export_universal
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
104 copy_product_jdk::
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
105 $(MAKE) COPY_SUBDIR= copy_universal
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
106 copy_fastdebug_jdk::
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
107 $(MAKE) COPY_SUBDIR=/fastdebug copy_universal
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
108 copy_debug_jdk::
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
109 $(MAKE) COPY_SUBDIR=/debug copy_universal
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
110
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
111 .PHONY: universal_product universal_fastdebug universal_debug \
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
112 all_product_universal all_fastdebug_universal all_debug_universal \
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
diff changeset
113 universalize export_universal copy_universal