make/lib/Lib-jdk.jpackage.gmk
branchJDK-8200758-branch
changeset 57064 a7fdadf67a92
parent 57059 9bb2a4dc3af7
child 57106 ea870b9ce89a
equal deleted inserted replaced
57063:1fa5c73d3c5a 57064:a7fdadf67a92
    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