49 -I$(JDK_TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS)/native/libjli \
50 #
51 GLOBAL_VERSION_INFO_RESOURCE := $(JDK_TOPDIR)/src/java.base/windows/native/common/version.rc
52 JAVA_VERSION_INFO_RESOURCE := $(JDK_TOPDIR)/src/java.base/windows/native/launcher/java.rc
53 MACOSX_PLIST_DIR := $(JDK_TOPDIR)/src/java.base/macosx/native/launcher
54 JAVA_MANIFEST := $(JDK_TOPDIR)/src/java.base/windows/native/launcher/java.manifest
55
56 ################################################################################
57 # Build standard launcher.
58
59 # Setup make rules for building a standard launcher.
60 #
61 # Parameter 1 is the name of the rule. This name is used as variable prefix,
62 # and the targets generated are listed in a variable by that name. It is also
63 # used as the name of the executable.
64 #
65 # Remaining parameters are named arguments. These include:
66 # MAIN_MODULE The module of the main class to launch if different from the
67 # current module
68 # MAIN_CLASS The Java main class to launch
69 # JAVA_ARGS Processed into a -DJAVA_ARGS C flag
70 # CFLAGS Additional CFLAGS
71 # CFLAGS_windows Additional CFLAGS_windows
72 # LIBS_unix Additional LIBS_unix
73 # LIBS_windows Additional LIBS_windows
74 # LDFLAGS_solaris Additional LDFLAGS_solaris
75 # RC_FLAGS Additional RC_FLAGS
76 # MACOSX_SIGNED On macosx, sign this binary
77 # WINDOWS_STATIC_LINK On windows, link statically with C runtime and libjli.
78 # OPTIMIZATION Override default optimization level (LOW)
79 # OUTPUT_DIR Override default output directory
80 # VERSION_INFO_RESOURCE Override default Windows resource file
81 # NO_JAVA_MS Do not add -ms8m to JAVA_ARGS.
82 SetupBuildLauncher = $(NamedParamsMacroTemplate)
83 define SetupBuildLauncherBody
84 # Setup default values (unless overridden)
85 ifeq ($$($1_VERSION_INFO_RESOURCE), )
86 $1_VERSION_INFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE)
87 endif
88
89 ifeq ($$($1_OUTPUT_DIR), )
90 $1_OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/modules_cmds/$(MODULE)
91 endif
92
93 ifeq ($$($1_OPTIMIZATION), )
94 $1_OPTIMIZATION := LOW
95 endif
96
97 ifneq ($$($1_NO_JAVA_MS), true)
98 # The norm is to append -ms8m, unless otherwise instructed.
99 $1_JAVA_ARGS += -ms8m
100 endif
101
102 ifeq ($$($1_MAIN_MODULE), )
103 $1_MAIN_MODULE := $(MODULE)
104 endif
105
106 ifneq ($$($1_JAVA_ARGS), )
107 $1_JAVA_ARGS_STR := '{ $$(strip $$(foreach a, \
108 $$(addprefix -J, $$($1_JAVA_ARGS)) -m $$($1_MAIN_MODULE)/$$($1_MAIN_CLASS), "$$a"$(COMMA) )) }'
109 $1_CFLAGS += -DJAVA_ARGS=$$($1_JAVA_ARGS_STR)
110 endif
111
112 $1_LIBS :=
113 ifeq ($(OPENJDK_TARGET_OS), macosx)
114 ifeq ($$($1_MACOSX_SIGNED), true)
115 $1_PLIST_FILE := Info-privileged.plist
116 $1_CODESIGN := true
117 else
118 $1_PLIST_FILE := Info-cmdline.plist
119 endif
120
121 $1_CFLAGS += -DPACKAGE_PATH='"$(PACKAGE_PATH)"'
122 $1_LDFLAGS += -Wl,-all_load \
123 -sectcreate __TEXT __info_plist $(MACOSX_PLIST_DIR)/$$($1_PLIST_FILE)
124 ifeq ($(STATIC_BUILD), true)
125 $1_LDFLAGS += -exported_symbols_list \
126 $(SUPPORT_OUTPUTDIR)/build-static/exported.symbols
|
49 -I$(JDK_TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS)/native/libjli \
50 #
51 GLOBAL_VERSION_INFO_RESOURCE := $(JDK_TOPDIR)/src/java.base/windows/native/common/version.rc
52 JAVA_VERSION_INFO_RESOURCE := $(JDK_TOPDIR)/src/java.base/windows/native/launcher/java.rc
53 MACOSX_PLIST_DIR := $(JDK_TOPDIR)/src/java.base/macosx/native/launcher
54 JAVA_MANIFEST := $(JDK_TOPDIR)/src/java.base/windows/native/launcher/java.manifest
55
56 ################################################################################
57 # Build standard launcher.
58
59 # Setup make rules for building a standard launcher.
60 #
61 # Parameter 1 is the name of the rule. This name is used as variable prefix,
62 # and the targets generated are listed in a variable by that name. It is also
63 # used as the name of the executable.
64 #
65 # Remaining parameters are named arguments. These include:
66 # MAIN_MODULE The module of the main class to launch if different from the
67 # current module
68 # MAIN_CLASS The Java main class to launch
69 # JAVA_ARGS Processed into a -DJAVA_ARGS and added to CFLAGS
70 # EXTRA_JAVA_ARGS Processed into a -DEXTRA_JAVA_ARGS and is prependedi
71 # before JAVA_ARGS to CFLAGS
72 # CFLAGS Additional CFLAGS
73 # CFLAGS_windows Additional CFLAGS_windows
74 # LIBS_unix Additional LIBS_unix
75 # LIBS_windows Additional LIBS_windows
76 # LDFLAGS_solaris Additional LDFLAGS_solaris
77 # RC_FLAGS Additional RC_FLAGS
78 # MACOSX_SIGNED On macosx, sign this binary
79 # WINDOWS_STATIC_LINK On windows, link statically with C runtime and libjli.
80 # OPTIMIZATION Override default optimization level (LOW)
81 # OUTPUT_DIR Override default output directory
82 # VERSION_INFO_RESOURCE Override default Windows resource file
83 # NO_JAVA_MS Do not add -ms8m to JAVA_ARGS.
84 SetupBuildLauncher = $(NamedParamsMacroTemplate)
85 define SetupBuildLauncherBody
86 # Setup default values (unless overridden)
87 ifeq ($$($1_VERSION_INFO_RESOURCE), )
88 $1_VERSION_INFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE)
89 endif
90
91 ifeq ($$($1_OUTPUT_DIR), )
92 $1_OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/modules_cmds/$(MODULE)
93 endif
94
95 ifeq ($$($1_OPTIMIZATION), )
96 $1_OPTIMIZATION := LOW
97 endif
98
99 ifneq ($$($1_NO_JAVA_MS), true)
100 # The norm is to append -ms8m, unless otherwise instructed.
101 $1_JAVA_ARGS += -ms8m
102 endif
103
104 ifeq ($$($1_MAIN_MODULE), )
105 $1_MAIN_MODULE := $(MODULE)
106 endif
107
108 ifneq ($$($1_JAVA_ARGS), )
109 ifneq ($$($1_EXTRA_JAVA_ARGS), )
110 $1_EXTRA_JAVA_ARGS_STR := '{ $$(strip $$(foreach a, \
111 $$(addprefix -J, $$($1_EXTRA_JAVA_ARGS)), "$$a"$(COMMA) )) }'
112 $1_CFLAGS += -DEXTRA_JAVA_ARGS=$$($1_EXTRA_JAVA_ARGS_STR)
113 endif
114 $1_JAVA_ARGS_STR := '{ $$(strip $$(foreach a, \
115 $$(addprefix -J, $$($1_JAVA_ARGS)) -m $$($1_MAIN_MODULE)/$$($1_MAIN_CLASS), "$$a"$(COMMA) )) }'
116 $1_CFLAGS += -DJAVA_ARGS=$$($1_JAVA_ARGS_STR)
117 endif
118
119 $1_LIBS :=
120 ifeq ($(OPENJDK_TARGET_OS), macosx)
121 ifeq ($$($1_MACOSX_SIGNED), true)
122 $1_PLIST_FILE := Info-privileged.plist
123 $1_CODESIGN := true
124 else
125 $1_PLIST_FILE := Info-cmdline.plist
126 endif
127
128 $1_CFLAGS += -DPACKAGE_PATH='"$(PACKAGE_PATH)"'
129 $1_LDFLAGS += -Wl,-all_load \
130 -sectcreate __TEXT __info_plist $(MACOSX_PLIST_DIR)/$$($1_PLIST_FILE)
131 ifeq ($(STATIC_BUILD), true)
132 $1_LDFLAGS += -exported_symbols_list \
133 $(SUPPORT_OUTPUTDIR)/build-static/exported.symbols
|