25 |
25 |
26 include LibCommon.gmk |
26 include LibCommon.gmk |
27 |
27 |
28 ################################################################################ |
28 ################################################################################ |
29 |
29 |
30 # Output shared library and symbols files in the same directory as .obj files. |
30 # Output app launcher library in resources dir, and symbols in the object dir |
31 $(eval $(call SetupJdkLibrary, BUILD_LIBJPACKAGE, \ |
31 $(eval $(call SetupJdkLibrary, BUILD_LIB_APPLAUNCHER, \ |
32 NAME := jpackage, \ |
32 NAME := applauncher, \ |
|
33 OUTPUT_DIR := $(JDK_OUTPUTDIR)/modules/$(MODULE)/jdk/jpackage/internal/resources, \ |
|
34 SYMBOLS_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libapplauncher, \ |
33 TOOLCHAIN := TOOLCHAIN_LINK_CXX, \ |
35 TOOLCHAIN := TOOLCHAIN_LINK_CXX, \ |
34 OPTIMIZATION := LOW, \ |
36 OPTIMIZATION := LOW, \ |
35 CFLAGS := $(CXXFLAGS_JDKLIB), \ |
37 CFLAGS := $(CXXFLAGS_JDKLIB), \ |
36 CFLAGS_windows := -EHsc -DUNICODE -D_UNICODE, \ |
38 CFLAGS_windows := -EHsc -DUNICODE -D_UNICODE, \ |
37 LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \ |
39 LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \ |
38 $(call SET_SHARED_LIBRARY_ORIGIN), \ |
40 $(call SET_SHARED_LIBRARY_ORIGIN), \ |
39 LIBS := $(LIBCXX), \ |
41 LIBS := $(LIBCXX), \ |
40 LIBS_windows := user32.lib shell32.lib advapi32.lib ole32.lib, \ |
42 LIBS_windows := user32.lib shell32.lib advapi32.lib ole32.lib, \ |
41 LIBS_linux := -ldl -lpthread, \ |
43 LIBS_linux := -ldl -lpthread, \ |
42 LDFLAGS_macosx := -dynamiclib -stdlib=libc++, \ |
|
43 LIBS_macosx := -ldl -framework Cocoa, \ |
44 LIBS_macosx := -ldl -framework Cocoa, \ |
44 )) |
45 )) |
45 |
46 |
46 $(BUILD_LIBJPACKAGE): $(call FindLib, java.base, java) |
47 $(BUILD_LIB_APPLAUNCHER): $(call FindLib, java.base, java) |
47 |
48 |
48 TARGETS += $(BUILD_LIBJPACKAGE) |
49 TARGETS += $(BUILD_LIB_APPLAUNCHER) |
49 |
50 |
50 ################################################################################ |
51 ################################################################################ |
51 |
52 |
52 JPACKAGE_APPLAUNCHEREXE_SRC := \ |
53 JPACKAGE_APPLAUNCHEREXE_SRC := \ |
53 $(TOPDIR)/src/jdk.jpackage/$(OPENJDK_TARGET_OS)/native/launcher |
54 $(TOPDIR)/src/jdk.jpackage/$(OPENJDK_TARGET_OS)/native/jpackageapplauncher |
54 |
55 |
55 # Output executable and symbols files in the same directory as .obj files. |
56 # Output app launcher executable in resources dir, and symbols in the object dir |
56 $(eval $(call SetupJdkExecutable, BUILD_JPACKAGE_APPLAUNCHEREXE, \ |
57 $(eval $(call SetupJdkExecutable, BUILD_JPACKAGE_APPLAUNCHEREXE, \ |
57 NAME := papplauncher, \ |
58 NAME := jpackageapplauncher, \ |
|
59 OUTPUT_DIR := $(JDK_OUTPUTDIR)/modules/$(MODULE)/jdk/jpackage/internal/resources, \ |
|
60 SYMBOLS_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/jpackageapplauncher, \ |
58 SRC := $(JPACKAGE_APPLAUNCHEREXE_SRC), \ |
61 SRC := $(JPACKAGE_APPLAUNCHEREXE_SRC), \ |
59 TOOLCHAIN := TOOLCHAIN_LINK_CXX, \ |
62 TOOLCHAIN := TOOLCHAIN_LINK_CXX, \ |
60 OPTIMIZATION := LOW, \ |
63 OPTIMIZATION := LOW, \ |
61 CFLAGS := $(CXXFLAGS_JDKEXE), \ |
64 CFLAGS := $(CXXFLAGS_JDKEXE), \ |
62 CFLAGS_linux := -fPIC, \ |
65 CFLAGS_linux := -fPIC, \ |
63 CFLAGS_solaris := -KPIC, \ |
66 CFLAGS_solaris := -KPIC, \ |
64 CFLAGS_macosx := -fPIC, \ |
67 CFLAGS_macosx := -fPIC, \ |
65 CFLAGS_windows := -EHsc -DUNICODE -D_UNICODE, \ |
68 CFLAGS_windows := -EHsc -DLAUNCHERC -DUNICODE -D_UNICODE, \ |
66 LDFLAGS_windows := -nologo, \ |
69 LDFLAGS_windows := -nologo, \ |
67 LDFLAGS_macosx := -stdlib=libstdc++, \ |
|
68 LIBS_macosx := -framework Cocoa, \ |
70 LIBS_macosx := -framework Cocoa, \ |
69 LIBS := $(LIBCXX), \ |
71 LIBS := $(LIBCXX), \ |
70 LIBS_solaris := -lc, \ |
72 LIBS_solaris := -lc, \ |
71 LIBS_linux := -ldl, \ |
73 LIBS_linux := -ldl, \ |
72 LIBS_windows := user32.lib shell32.lib advapi32.lib, \ |
74 LIBS_windows := user32.lib shell32.lib advapi32.lib, \ |
73 VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \ |
75 VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \ |
74 )) |
76 )) |
75 |
77 |
76 TARGETS += $(BUILD_JPACKAGE_APPLAUNCHEREXE) |
78 TARGETS += $(BUILD_JPACKAGE_APPLAUNCHEREXE) |
77 |
79 |
78 # Build console version of launcher |
80 # Build non-console version of launcher |
79 ifeq ($(OPENJDK_TARGET_OS), windows) |
81 ifeq ($(OPENJDK_TARGET_OS), windows) |
80 |
82 |
81 # Output executable and symbols files in the same directory as .obj files. |
83 $(eval $(call SetupJdkExecutable, BUILD_JPACKAGE_APPLAUNCHERWEXE, \ |
82 $(eval $(call SetupJdkExecutable, BUILD_JPACKAGE_APPLAUNCHERCEXE, \ |
84 NAME := jpackageapplauncherw, \ |
83 NAME := papplauncherc, \ |
85 OUTPUT_DIR := $(JDK_OUTPUTDIR)/modules/$(MODULE)/jdk/jpackage/internal/resources, \ |
|
86 SYMBOLS_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/jpackageapplauncherw, \ |
84 SRC := $(JPACKAGE_APPLAUNCHEREXE_SRC), \ |
87 SRC := $(JPACKAGE_APPLAUNCHEREXE_SRC), \ |
85 TOOLCHAIN := TOOLCHAIN_LINK_CXX, \ |
88 TOOLCHAIN := TOOLCHAIN_LINK_CXX, \ |
86 OPTIMIZATION := LOW, \ |
89 OPTIMIZATION := LOW, \ |
87 CFLAGS := $(CXXFLAGS_JDKEXE), \ |
90 CFLAGS := $(CXXFLAGS_JDKEXE), \ |
88 CFLAGS_windows := -EHsc -DLAUNCHERC -DUNICODE -D_UNICODE, \ |
91 CFLAGS_windows := -EHsc -DUNICODE -D_UNICODE, \ |
89 LDFLAGS_windows := -nologo, \ |
92 LDFLAGS_windows := -nologo, \ |
90 LIBS := $(LIBCXX), \ |
93 LIBS := $(LIBCXX), \ |
91 LIBS_windows := user32.lib shell32.lib advapi32.lib, \ |
94 LIBS_windows := user32.lib shell32.lib advapi32.lib, \ |
92 VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \ |
95 VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \ |
93 )) |
96 )) |
94 |
97 |
95 TARGETS += $(BUILD_JPACKAGE_APPLAUNCHERCEXE) |
98 TARGETS += $(BUILD_JPACKAGE_APPLAUNCHERWEXE) |
96 endif |
99 endif |
97 |
100 |
98 ################################################################################ |
|
99 |
|
100 |
|
101 # Copy binaries to module classes output directory so that JDK build system |
|
102 # put them in module resources. |
|
103 |
|
104 SetupCopyTargetFiles = \ |
|
105 $(eval $(call SetupCopyFiles, COPY_DEBUG_SYMBOLS_$1, \ |
|
106 SRC := $(dir $(firstword $($1))), \ |
|
107 DEST := $(JDK_OUTPUTDIR)/modules/$(MODULE)/jdk/jpackage/internal/resources, \ |
|
108 FILES := $(notdir $(filter %.diz %.pdb %.map, $($1))) \ |
|
109 )) \ |
|
110 $(eval $(call SetupCopyFiles, COPY_BINARIES_$1, \ |
|
111 SRC := $(dir $(firstword $($1))), \ |
|
112 DEST := $(JDK_OUTPUTDIR)/modules/$(MODULE)/jdk/jpackage/internal/resources, \ |
|
113 FILES := $(notdir $(firstword $($1))) \ |
|
114 )) \ |
|
115 $(eval TARGETS += $(COPY_DEBUG_SYMBOLS_$1) $(COPY_BINARIES_$1)) |
|
116 |
|
117 $(call SetupCopyTargetFiles,BUILD_LIBJPACKAGE) |
|
118 $(call SetupCopyTargetFiles,BUILD_JPACKAGE_APPLAUNCHEREXE) |
|
119 |
|
120 ifeq ($(OPENJDK_TARGET_OS), windows) |
|
121 $(call SetupCopyTargetFiles,BUILD_JPACKAGE_APPLAUNCHERCEXE) |
|
122 endif |
|
123 |
|