make/bsd/makefiles/universal.gmk

Print this page
rev 6239 : Fix non-product (aka. optimized) build on MacOS X


  12 # version 2 for more details (a copy is included in the LICENSE file that
  13 # accompanied this code).
  14 #
  15 # You should have received a copy of the GNU General Public License version
  16 # 2 along with this work; if not, write to the Free Software Foundation,
  17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18 #
  19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20 # or visit www.oracle.com if you need additional information or have any
  21 # questions.
  22 #
  23 #
  24 
  25 # macosx universal builds
  26 universal_product:
  27         $(MAKE) MACOSX_UNIVERSAL=true all_product_universal
  28 universal_fastdebug:
  29         $(MAKE) MACOSX_UNIVERSAL=true all_fastdebug_universal
  30 universal_debug:
  31         $(MAKE) MACOSX_UNIVERSAL=true all_debug_universal


  32 
  33 
  34 # Universal builds include 1 or more architectures in a single binary
  35 all_product_universal:
  36 #       $(QUIETLY) $(MAKE) ARCH_DATA_MODEL=32 $(COMMON_VM_PRODUCT_TARGETS)
  37         $(QUIETLY) $(MAKE) ARCH_DATA_MODEL=64 $(COMMON_VM_PRODUCT_TARGETS)
  38         $(QUIETLY) $(MAKE) BUILD_FLAVOR=product EXPORT_SUBDIR= universalize
  39 all_fastdebug_universal:
  40 #       $(QUIETLY) $(MAKE) ARCH_DATA_MODEL=32 $(COMMON_VM_FASTDEBUG_TARGETS)
  41         $(QUIETLY) $(MAKE) ARCH_DATA_MODEL=64 $(COMMON_VM_FASTDEBUG_TARGETS)
  42         $(QUIETLY) $(MAKE) BUILD_FLAVOR=fastdebug EXPORT_SUBDIR=/fastdebug universalize
  43 all_debug_universal:
  44 #       $(QUIETLY) $(MAKE) ARCH_DATA_MODEL=32 $(COMMON_VM_DEBUG_TARGETS)
  45         $(QUIETLY) $(MAKE) ARCH_DATA_MODEL=64 $(COMMON_VM_DEBUG_TARGETS)
  46         $(QUIETLY) $(MAKE) BUILD_FLAVOR=debug EXPORT_SUBDIR=/debug universalize




  47 
  48 
  49 # Consolidate architecture builds into a single Universal binary
  50 universalize: $(UNIVERSAL_LIPO_LIST) $(UNIVERSAL_COPY_LIST)
  51         $(RM) -r $(EXPORT_PATH)/jre/lib/{i386,amd64}
  52 
  53 
  54 # Package built libraries in a universal binary
  55 $(UNIVERSAL_LIPO_LIST):
  56         BUILT_LIPO_FILES="`find $(EXPORT_JRE_LIB_DIR)/{i386,amd64}/$(subst $(EXPORT_JRE_LIB_DIR)/,,$@) 2>/dev/null`"; \
  57         if [ -n "$${BUILT_LIPO_FILES}" ]; then \
  58           $(MKDIR) -p $(shell dirname $@); \
  59           lipo -create -output $@ $${BUILT_LIPO_FILES}; \
  60         fi
  61 
  62 
  63 # Copy built non-universal binaries in place
  64 # - copies directories; including empty dirs
  65 # - copies files, symlinks, other non-directory files
  66 $(UNIVERSAL_COPY_LIST):




  12 # version 2 for more details (a copy is included in the LICENSE file that
  13 # accompanied this code).
  14 #
  15 # You should have received a copy of the GNU General Public License version
  16 # 2 along with this work; if not, write to the Free Software Foundation,
  17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18 #
  19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20 # or visit www.oracle.com if you need additional information or have any
  21 # questions.
  22 #
  23 #
  24 
  25 # macosx universal builds
  26 universal_product:
  27         $(MAKE) MACOSX_UNIVERSAL=true all_product_universal
  28 universal_fastdebug:
  29         $(MAKE) MACOSX_UNIVERSAL=true all_fastdebug_universal
  30 universal_debug:
  31         $(MAKE) MACOSX_UNIVERSAL=true all_debug_universal
  32 universal_optimized:
  33         $(MAKE) MACOSX_UNIVERSAL=true all_optimized_universal
  34 
  35 
  36 # Universal builds include 1 or more architectures in a single binary
  37 all_product_universal:
  38 #       $(QUIETLY) $(MAKE) ARCH_DATA_MODEL=32 $(COMMON_VM_PRODUCT_TARGETS)
  39         $(QUIETLY) $(MAKE) ARCH_DATA_MODEL=64 $(COMMON_VM_PRODUCT_TARGETS)
  40         $(QUIETLY) $(MAKE) BUILD_FLAVOR=product EXPORT_SUBDIR= universalize
  41 all_fastdebug_universal:
  42 #       $(QUIETLY) $(MAKE) ARCH_DATA_MODEL=32 $(COMMON_VM_FASTDEBUG_TARGETS)
  43         $(QUIETLY) $(MAKE) ARCH_DATA_MODEL=64 $(COMMON_VM_FASTDEBUG_TARGETS)
  44         $(QUIETLY) $(MAKE) BUILD_FLAVOR=fastdebug EXPORT_SUBDIR=/fastdebug universalize
  45 all_debug_universal:
  46 #       $(QUIETLY) $(MAKE) ARCH_DATA_MODEL=32 $(COMMON_VM_DEBUG_TARGETS)
  47         $(QUIETLY) $(MAKE) ARCH_DATA_MODEL=64 $(COMMON_VM_DEBUG_TARGETS)
  48         $(QUIETLY) $(MAKE) BUILD_FLAVOR=debug EXPORT_SUBDIR=/debug universalize
  49 all_optimized_universal:
  50 #       $(QUIETLY) $(MAKE) ARCH_DATA_MODEL=32 $(COMMON_VM_OPTIMIZED_TARGETS)
  51         $(QUIETLY) $(MAKE) ARCH_DATA_MODEL=64 $(COMMON_VM_OPTIMIZED_TARGETS)
  52         $(QUIETLY) $(MAKE) BUILD_FLAVOR=optimized EXPORT_SUBDIR=/optimized universalize
  53 
  54 
  55 # Consolidate architecture builds into a single Universal binary
  56 universalize: $(UNIVERSAL_LIPO_LIST) $(UNIVERSAL_COPY_LIST)
  57         $(RM) -r $(EXPORT_PATH)/jre/lib/{i386,amd64}
  58 
  59 
  60 # Package built libraries in a universal binary
  61 $(UNIVERSAL_LIPO_LIST):
  62         BUILT_LIPO_FILES="`find $(EXPORT_JRE_LIB_DIR)/{i386,amd64}/$(subst $(EXPORT_JRE_LIB_DIR)/,,$@) 2>/dev/null`"; \
  63         if [ -n "$${BUILT_LIPO_FILES}" ]; then \
  64           $(MKDIR) -p $(shell dirname $@); \
  65           lipo -create -output $@ $${BUILT_LIPO_FILES}; \
  66         fi
  67 
  68 
  69 # Copy built non-universal binaries in place
  70 # - copies directories; including empty dirs
  71 # - copies files, symlinks, other non-directory files
  72 $(UNIVERSAL_COPY_LIST):