< prev index next >

make/launcher/LauncherCommon.gmk

Print this page




  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 prepended
  71 #     before JAVA_ARGS to CFLAGS, primarily to allow long string literal
  72 #     compile time defines exceeding Visual Studio 2013 limitations.
  73 # CFLAGS   Additional CFLAGS
  74 # CFLAGS_windows   Additional CFLAGS_windows
  75 # LIBS_unix   Additional LIBS_unix
  76 # LIBS_windows   Additional LIBS_windows
  77 # LDFLAGS_solaris Additional LDFLAGS_solaris
  78 # RC_FLAGS   Additional RC_FLAGS
  79 # MACOSX_SIGNED   On macosx, sign this binary
  80 # WINDOWS_STATIC_LINK   On windows, link statically with C runtime and libjli.
  81 # OPTIMIZATION   Override default optimization level (LOW)
  82 # OUTPUT_DIR   Override default output directory
  83 # VERSION_INFO_RESOURCE   Override default Windows resource file
  84 # NO_JAVA_MS   Do not add -ms8m to JAVA_ARGS.
  85 SetupBuildLauncher = $(NamedParamsMacroTemplate)
  86 define SetupBuildLauncherBody
  87   # Setup default values (unless overridden)
  88   ifeq ($$($1_VERSION_INFO_RESOURCE), )
  89     $1_VERSION_INFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE)
  90   endif
  91 
  92   ifeq ($$($1_OUTPUT_DIR), )
  93     $1_OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/modules_cmds/$(MODULE)
  94   endif
  95 
  96   ifeq ($$($1_OPTIMIZATION), )
  97     $1_OPTIMIZATION := LOW
  98   endif
  99 
 100   ifneq ($$($1_NO_JAVA_MS), true)
 101     # The norm is to append -ms8m, unless otherwise instructed.
 102     $1_JAVA_ARGS += -ms8m
 103   endif
 104 
 105   ifeq ($$($1_MAIN_MODULE), )
 106     $1_MAIN_MODULE := $(MODULE)
 107   endif
 108 
 109   ifneq ($$($1_JAVA_ARGS), )
 110     ifneq ($$($1_EXTRA_JAVA_ARGS), )
 111       $1_EXTRA_JAVA_ARGS_STR := '{ $$(strip $$(foreach a, \
 112         $$(addprefix -J, $$($1_EXTRA_JAVA_ARGS)), "$$a"$(COMMA) )) }'
 113       $1_CFLAGS += -DEXTRA_JAVA_ARGS=$$($1_EXTRA_JAVA_ARGS_STR)
 114     endif
 115     $1_JAVA_ARGS_STR := '{ $$(strip $$(foreach a, \
 116         $$(addprefix -J, $$($1_JAVA_ARGS)) -m $$($1_MAIN_MODULE)/$$($1_MAIN_CLASS), "$$a"$(COMMA) )) }'
 117     $1_CFLAGS += -DJAVA_ARGS=$$($1_JAVA_ARGS_STR)
 118   endif
 119 
 120   $1_LIBS :=
 121   ifeq ($(OPENJDK_TARGET_OS), macosx)
 122     ifeq ($$($1_MACOSX_SIGNED), true)
 123       $1_PLIST_FILE := Info-privileged.plist
 124         $1_CODESIGN := true
 125     else
 126       $1_PLIST_FILE := Info-cmdline.plist
 127     endif
 128 
 129     $1_CFLAGS += -DPACKAGE_PATH='"$(PACKAGE_PATH)"'
 130     $1_LDFLAGS += -Wl,-all_load \
 131         -sectcreate __TEXT __info_plist $(MACOSX_PLIST_DIR)/$$($1_PLIST_FILE)
 132     ifeq ($(STATIC_BUILD), true)
 133       $1_LDFLAGS += -exported_symbols_list \
 134               $(SUPPORT_OUTPUTDIR)/build-static/exported.symbols


< prev index next >