jdk/make/launcher/LauncherCommon.gmk
changeset 27565 729f9700483a
parent 25859 3317bb8137f4
child 27799 097b1d6f6894
equal deleted inserted replaced
27564:eaaa79b68cd5 27565:729f9700483a
    21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    22 # or visit www.oracle.com if you need additional information or have any
    22 # or visit www.oracle.com if you need additional information or have any
    23 # questions.
    23 # questions.
    24 #
    24 #
    25 
    25 
    26 default: all
       
    27 
       
    28 include $(SPEC)
       
    29 include MakeBase.gmk
       
    30 include NativeCompilation.gmk
    26 include NativeCompilation.gmk
    31 
    27 
    32 # Prepare the find cache.
    28 # Prepare the find cache.
    33 $(eval $(call FillCacheFind, $(JDK_TOPDIR)/src/java.base/share/native/launcher))
    29 $(eval $(call FillCacheFind, $(JDK_TOPDIR)/src/java.base/share/native/launcher))
    34 
    30 
    91   # Parameter 10 if set, link statically with c runtime on windows.
    87   # Parameter 10 if set, link statically with c runtime on windows.
    92   # Parameter 11 if set, override plist file on macosx.
    88   # Parameter 11 if set, override plist file on macosx.
    93   $(call LogSetupMacroEntry,SetupLauncher($1),$2,$3,$4,$5,$6,$7,$8,$9,$(10),$(11))
    89   $(call LogSetupMacroEntry,SetupLauncher($1),$2,$3,$4,$5,$6,$7,$8,$9,$(10),$(11))
    94   $(if $(13),$(error Internal makefile error: Too many arguments to SetupLauncher, please update CompileLaunchers.gmk))
    90   $(if $(13),$(error Internal makefile error: Too many arguments to SetupLauncher, please update CompileLaunchers.gmk))
    95 
    91 
    96   $1_WINDOWS_JLI_LIB := $(JDK_OUTPUTDIR)/objs/libjli/jli.lib
    92   $1_WINDOWS_JLI_LIB := $(SUPPORT_OUTPUTDIR)/native/java.base/libjli/jli.lib
    97   ifneq ($6, )
    93   ifneq ($6, )
    98     $1_WINDOWS_JLI_LIB := $6
    94     $1_WINDOWS_JLI_LIB := $6
    99   endif
    95   endif
   100   $1_VERSION_INFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE)
    96   $1_VERSION_INFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE)
   101   ifneq ($8, )
    97   ifneq ($8, )
   111       ifneq ($$(findstring privileged, $$($1_PLIST_FILE)), )
   107       ifneq ($$(findstring privileged, $$($1_PLIST_FILE)), )
   112         $1_CODESIGN := true
   108         $1_CODESIGN := true
   113       endif
   109       endif
   114     endif
   110     endif
   115 
   111 
   116     $1_LDFLAGS += -Wl,-all_load $(JDK_OUTPUTDIR)/objs/libjli_static.a \
   112     $1_LDFLAGS += -Wl,-all_load $(SUPPORT_OUTPUTDIR)/native/java.base/libjli_static.a \
   117         -framework Cocoa -framework Security -framework ApplicationServices \
   113         -framework Cocoa -framework Security -framework ApplicationServices \
   118         -sectcreate __TEXT __info_plist $(MACOSX_PLIST_DIR)/$$($1_PLIST_FILE)
   114         -sectcreate __TEXT __info_plist $(MACOSX_PLIST_DIR)/$$($1_PLIST_FILE)
   119         $1_LDFLAGS_SUFFIX += -pthread
   115         $1_LDFLAGS_SUFFIX += -pthread
   120   endif
   116   endif
   121 
   117 
   122   ifeq ($(OPENJDK_TARGET_OS), aix)
   118   ifeq ($(OPENJDK_TARGET_OS), aix)
   123     $1_LDFLAGS_SUFFIX += -L$(JDK_OUTPUTDIR)/objs -ljli_static
   119     $1_LDFLAGS_SUFFIX += -L$(SUPPORT_OUTPUTDIR)/native/$(MODULE) -ljli_static
   124   endif
   120   endif
   125 
   121 
   126   ifeq ($(USE_EXTERNAL_LIBZ), true)
   122   ifeq ($(USE_EXTERNAL_LIBZ), true)
   127     $1_LDFLAGS_SUFFIX += -lz
   123     $1_LDFLAGS_SUFFIX += -lz
   128   endif
   124   endif
   129 
   125 
   130   $1_OUTPUT_DIR_ARG := $9
   126   $1_OUTPUT_DIR_ARG := $9
   131   ifeq (, $$($1_OUTPUT_DIR_ARG))
   127   ifeq (, $$($1_OUTPUT_DIR_ARG))
   132     $1_OUTPUT_DIR_ARG := $(JDK_OUTPUTDIR)/bin
   128     $1_OUTPUT_DIR_ARG := $(SUPPORT_OUTPUTDIR)/modules_cmds/$(MODULE)
   133   endif
   129   endif
   134 
   130 
   135   # TODO: maybe it's better to move this if-statement out of this function
   131   # TODO: maybe it's better to move this if-statement out of this function
   136   ifeq ($1, java)
   132   ifeq ($1, java)
   137     $1_OPTIMIZATION_ARG := HIGH
   133     $1_OPTIMIZATION_ARG := HIGH
   187           $(call SET_SHARED_LIBRARY_NAME,$(LIBRARY_PREFIX)$(SHARED_LIBRARY_SUFFIX)), \
   183           $(call SET_SHARED_LIBRARY_NAME,$(LIBRARY_PREFIX)$(SHARED_LIBRARY_SUFFIX)), \
   188       MAPFILE := $$($1_MAPFILE), \
   184       MAPFILE := $$($1_MAPFILE), \
   189       LDFLAGS_SUFFIX := $(LDFLAGS_JDKEXE_SUFFIX) $$($1_LDFLAGS_SUFFIX), \
   185       LDFLAGS_SUFFIX := $(LDFLAGS_JDKEXE_SUFFIX) $$($1_LDFLAGS_SUFFIX), \
   190       LDFLAGS_SUFFIX_posix := $4, \
   186       LDFLAGS_SUFFIX_posix := $4, \
   191       LDFLAGS_SUFFIX_windows := $$($1_WINDOWS_JLI_LIB) \
   187       LDFLAGS_SUFFIX_windows := $$($1_WINDOWS_JLI_LIB) \
   192           $(JDK_OUTPUTDIR)/objs/libjava/java.lib advapi32.lib $5, \
   188           $(SUPPORT_OUTPUTDIR)/native/java.base/libjava/java.lib advapi32.lib $5, \
   193       LDFLAGS_SUFFIX_linux := -L$(JDK_OUTPUTDIR)/lib$(OPENJDK_TARGET_CPU_LIBDIR)/jli -ljli $(LIBDL) -lc, \
   189       LDFLAGS_SUFFIX_linux := -L$(SUPPORT_OUTPUTDIR)/modules_libs/java.base$(OPENJDK_TARGET_CPU_LIBDIR)/jli -ljli $(LIBDL) -lc, \
   194       LDFLAGS_SUFFIX_solaris := -L$(JDK_OUTPUTDIR)/lib$(OPENJDK_TARGET_CPU_LIBDIR)/jli -ljli -lthread $(LIBDL) -lc, \
   190       LDFLAGS_SUFFIX_solaris := -L$(SUPPORT_OUTPUTDIR)/modules_libs/java.base$(OPENJDK_TARGET_CPU_LIBDIR)/jli -ljli -lthread $(LIBDL) -lc, \
   195       OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/$1_objs$(OUTPUT_SUBDIR), \
   191       OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/$1_objs$(OUTPUT_SUBDIR), \
   196       OUTPUT_DIR := $$($1_OUTPUT_DIR_ARG)$(OUTPUT_SUBDIR), \
   192       OUTPUT_DIR := $$($1_OUTPUT_DIR_ARG)$(OUTPUT_SUBDIR), \
   197       PROGRAM := $1, \
   193       PROGRAM := $1, \
   198       DEBUG_SYMBOLS := true, \
   194       DEBUG_SYMBOLS := true, \
   199       VERSIONINFO_RESOURCE := $$($1_VERSION_INFO_RESOURCE), \
   195       VERSIONINFO_RESOURCE := $$($1_VERSION_INFO_RESOURCE), \
   200       RC_FLAGS := $(RC_FLAGS) \
   196       RC_FLAGS := $(RC_FLAGS) \
   203           -D "JDK_FTYPE=0x1L" \
   199           -D "JDK_FTYPE=0x1L" \
   204           $7, \
   200           $7, \
   205       MANIFEST := $(JAVA_MANIFEST), \
   201       MANIFEST := $(JAVA_MANIFEST), \
   206       CODESIGN := $$($1_CODESIGN))
   202       CODESIGN := $$($1_CODESIGN))
   207 
   203 
   208   LAUNCHERS += $$(BUILD_LAUNCHER_$1)
   204   TARGETS += $$(BUILD_LAUNCHER_$1)
   209 
   205 
   210   ifneq (,$(filter $(OPENJDK_TARGET_OS), macosx aix))
   206   ifneq (,$(filter $(OPENJDK_TARGET_OS), macosx aix))
   211     $$(BUILD_LAUNCHER_$1): $(JDK_OUTPUTDIR)/objs/libjli_static.a
   207     $$(BUILD_LAUNCHER_$1): $(SUPPORT_OUTPUTDIR)/native/java.base/libjli_static.a
   212   endif
   208   endif
   213 
   209 
   214   ifeq ($(OPENJDK_TARGET_OS), windows)
   210   ifeq ($(OPENJDK_TARGET_OS), windows)
   215     $$(BUILD_LAUNCHER_$1): $(JDK_OUTPUTDIR)/objs/libjava/java.lib \
   211     $$(BUILD_LAUNCHER_$1): $(SUPPORT_OUTPUTDIR)/native/java.base/libjava/java.lib \
   216         $$($1_WINDOWS_JLI_LIB)
   212         $$($1_WINDOWS_JLI_LIB)
   217   endif
   213   endif
   218 endef
   214 endef
   219 
   215 
   220 ##########################################################################################
   216 ##########################################################################################