1 # |
|
2 # Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. |
|
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
|
4 # |
|
5 # This code is free software; you can redistribute it and/or modify it |
|
6 # under the terms of the GNU General Public License version 2 only, as |
|
7 # published by the Free Software Foundation. Oracle designates this |
|
8 # particular file as subject to the "Classpath" exception as provided |
|
9 # by Oracle in the LICENSE file that accompanied this code. |
|
10 # |
|
11 # This code is distributed in the hope that it will be useful, but WITHOUT |
|
12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
|
13 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
|
14 # version 2 for more details (a copy is included in the LICENSE file that |
|
15 # accompanied this code). |
|
16 # |
|
17 # You should have received a copy of the GNU General Public License version |
|
18 # 2 along with this work; if not, write to the Free Software Foundation, |
|
19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
|
20 # |
|
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 |
|
23 # questions. |
|
24 # |
|
25 |
|
26 include LibCommon.gmk |
|
27 |
|
28 ################################################################################ |
|
29 |
|
30 # Output app launcher library in resources dir, and symbols in the object dir |
|
31 $(eval $(call SetupJdkLibrary, BUILD_LIB_APPLAUNCHER, \ |
|
32 NAME := applauncher, \ |
|
33 OUTPUT_DIR := $(JDK_OUTPUTDIR)/modules/$(MODULE)/jdk/jpackage/internal/resources, \ |
|
34 SYMBOLS_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libapplauncher, \ |
|
35 TOOLCHAIN := TOOLCHAIN_LINK_CXX, \ |
|
36 OPTIMIZATION := LOW, \ |
|
37 CFLAGS := $(CXXFLAGS_JDKLIB), \ |
|
38 CFLAGS_windows := -EHsc -DUNICODE -D_UNICODE, \ |
|
39 LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \ |
|
40 $(call SET_SHARED_LIBRARY_ORIGIN), \ |
|
41 LIBS := $(LIBCXX), \ |
|
42 LIBS_windows := user32.lib shell32.lib advapi32.lib ole32.lib, \ |
|
43 LIBS_linux := -ldl -lpthread, \ |
|
44 LIBS_macosx := -ldl -framework Cocoa, \ |
|
45 )) |
|
46 |
|
47 $(BUILD_LIB_APPLAUNCHER): $(call FindLib, java.base, java) |
|
48 |
|
49 TARGETS += $(BUILD_LIB_APPLAUNCHER) |
|
50 |
|
51 JPACKAGE_APPLAUNCHER_SRC := \ |
|
52 $(TOPDIR)/src/jdk.jpackage/$(OPENJDK_TARGET_OS)/native/jpackageapplauncher |
|
53 |
|
54 # Output app launcher executable in resources dir, and symbols in the object dir |
|
55 $(eval $(call SetupJdkExecutable, BUILD_JPACKAGE_APPLAUNCHEREXE, \ |
|
56 NAME := jpackageapplauncher, \ |
|
57 OUTPUT_DIR := $(JDK_OUTPUTDIR)/modules/$(MODULE)/jdk/jpackage/internal/resources, \ |
|
58 SYMBOLS_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/jpackageapplauncher, \ |
|
59 SRC := $(JPACKAGE_APPLAUNCHER_SRC), \ |
|
60 TOOLCHAIN := TOOLCHAIN_LINK_CXX, \ |
|
61 OPTIMIZATION := LOW, \ |
|
62 CFLAGS := $(CXXFLAGS_JDKEXE), \ |
|
63 CFLAGS_windows := -EHsc -DLAUNCHERC -DUNICODE -D_UNICODE, \ |
|
64 LDFLAGS := $(LDFLAGS_JDKEXE), \ |
|
65 LIBS_macosx := -framework Cocoa, \ |
|
66 LIBS := $(LIBCXX), \ |
|
67 LIBS_linux := -ldl, \ |
|
68 LIBS_windows := user32.lib shell32.lib advapi32.lib, \ |
|
69 )) |
|
70 |
|
71 TARGETS += $(BUILD_JPACKAGE_APPLAUNCHEREXE) |
|
72 |
|
73 ################################################################################ |
|
74 |
|
75 ifeq ($(call isTargetOs, windows), true) |
|
76 |
|
77 $(eval $(call SetupJdkLibrary, BUILD_LIB_JPACKAGE, \ |
|
78 NAME := jpackage, \ |
|
79 OPTIMIZATION := LOW, \ |
|
80 CFLAGS := $(CXXFLAGS_JDKLIB), \ |
|
81 CFLAGS_windows := -EHsc -DUNICODE -D_UNICODE, \ |
|
82 LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \ |
|
83 $(call SET_SHARED_LIBRARY_ORIGIN), \ |
|
84 LIBS := $(LIBCXX), \ |
|
85 LIBS_windows := user32.lib shell32.lib advapi32.lib ole32.lib, \ |
|
86 )) |
|
87 |
|
88 TARGETS += $(BUILD_LIB_JPACKAGE) |
|
89 |
|
90 # Build Wix custom action helper |
|
91 # Output library in resources dir, and symbols in the object dir |
|
92 $(eval $(call SetupJdkLibrary, BUILD_LIB_WIXHELPER, \ |
|
93 NAME := wixhelper, \ |
|
94 OUTPUT_DIR := $(JDK_OUTPUTDIR)/modules/$(MODULE)/jdk/jpackage/internal/resources, \ |
|
95 SYMBOLS_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libwixhelper, \ |
|
96 OPTIMIZATION := LOW, \ |
|
97 CFLAGS := $(CXXFLAGS_JDKLIB), \ |
|
98 CFLAGS_windows := -EHsc -DUNICODE -D_UNICODE -MT, \ |
|
99 LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK), \ |
|
100 LIBS := $(LIBCXX), \ |
|
101 LIBS_windows := msi.lib Shlwapi.lib User32.lib, \ |
|
102 )) |
|
103 |
|
104 TARGETS += $(BUILD_LIB_WIXHELPER) |
|
105 |
|
106 # Build exe installer wrapper for msi installer |
|
107 $(eval $(call SetupJdkExecutable, BUILD_JPACKAGE_MSIWRAPPER, \ |
|
108 NAME := msiwrapper, \ |
|
109 OUTPUT_DIR := $(JDK_OUTPUTDIR)/modules/$(MODULE)/jdk/jpackage/internal/resources, \ |
|
110 SYMBOLS_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/msiwrapper, \ |
|
111 SRC := $(TOPDIR)/src/jdk.jpackage/$(OPENJDK_TARGET_OS)/native/msiwrapper, \ |
|
112 EXTRA_FILES := $(addprefix $(TOPDIR)/src/jdk.jpackage/$(OPENJDK_TARGET_OS)/native/libjpackage/, \ |
|
113 FileUtils.cpp Log.cpp WinSysInfo.cpp tstrings.cpp WinErrorHandling.cpp ErrorHandling.cpp), \ |
|
114 CFLAGS := $(CXXFLAGS_JDKEXE) -MT \ |
|
115 $(addprefix -I$(TOPDIR)/src/jdk.jpackage/$(OPENJDK_TARGET_OS)/native/, msiwrapper libjpackage), \ |
|
116 CFLAGS_windows := -EHsc -DUNICODE -D_UNICODE, \ |
|
117 LDFLAGS := $(LDFLAGS_JDKEXE), \ |
|
118 LIBS := $(LIBCXX), \ |
|
119 )) |
|
120 |
|
121 TARGETS += $(BUILD_JPACKAGE_MSIWRAPPER) |
|
122 |
|
123 # Build non-console version of launcher |
|
124 $(eval $(call SetupJdkExecutable, BUILD_JPACKAGE_APPLAUNCHERWEXE, \ |
|
125 NAME := jpackageapplauncherw, \ |
|
126 OUTPUT_DIR := $(JDK_OUTPUTDIR)/modules/$(MODULE)/jdk/jpackage/internal/resources, \ |
|
127 SYMBOLS_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/jpackageapplauncherw, \ |
|
128 SRC := $(JPACKAGE_APPLAUNCHER_SRC), \ |
|
129 TOOLCHAIN := TOOLCHAIN_LINK_CXX, \ |
|
130 OPTIMIZATION := LOW, \ |
|
131 CFLAGS := $(CXXFLAGS_JDKEXE), \ |
|
132 CFLAGS_windows := -EHsc -DUNICODE -D_UNICODE, \ |
|
133 LDFLAGS := $(LDFLAGS_JDKEXE), \ |
|
134 LIBS := $(LIBCXX), \ |
|
135 LIBS_windows := user32.lib shell32.lib advapi32.lib, \ |
|
136 )) |
|
137 |
|
138 TARGETS += $(BUILD_JPACKAGE_APPLAUNCHERWEXE) |
|
139 |
|
140 endif |
|