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 ########################################################################################## |