nashorn/make/BuildNashorn.gmk
changeset 34020 d9b12d08137b
parent 29415 7f36aa566efe
child 34024 00d015c3e298
equal deleted inserted replaced
30850:56166ce66037 34020:d9b12d08137b
     1 #
     1 #
     2 # Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
     2 # Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
     3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4 #
     4 #
     5 # This code is free software; you can redistribute it and/or modify it
     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
     6 # under the terms of the GNU General Public License version 2 only, as
     7 # published by the Free Software Foundation.  Oracle designates this
     7 # published by the Free Software Foundation.  Oracle designates this
    28 
    28 
    29 -include $(SPEC)
    29 -include $(SPEC)
    30 include MakeBase.gmk
    30 include MakeBase.gmk
    31 include JavaCompilation.gmk
    31 include JavaCompilation.gmk
    32 include SetupJavaCompilers.gmk
    32 include SetupJavaCompilers.gmk
       
    33 include TextFileProcessing.gmk
    33 
    34 
    34 JDK_CLASSES := $(subst $(SPACE),$(PATH_SEP),$(strip $(addprefix $(JDK_OUTPUTDIR)/modules/, \
    35 JDK_CLASSES := $(subst $(SPACE),$(PATH_SEP),$(strip $(addprefix $(JDK_OUTPUTDIR)/modules/, \
    35       java.base java.logging java.scripting)))
    36       java.base java.logging java.scripting)))
    36 
    37 
    37 NASHORN_JAR := $(IMAGES_OUTPUTDIR)/nashorn.jar
    38 NASHORN_JAR := $(IMAGES_OUTPUTDIR)/nashorn.jar
    38 NASHORN_VERSION := $(JDK_VERSION)
       
    39 NASHORN_FULL_VERSION := $(FULL_VERSION)
       
    40 
       
    41 ifdef MILESTONE
       
    42   ifeq ($(MILESTONE), internal)
       
    43     NASHORN_VERSION = $(FULL_VERSION)
       
    44   endif
       
    45 endif
       
    46 
    39 
    47 # Need to use source and target 8 for nasgen to work.
    40 # Need to use source and target 8 for nasgen to work.
    48 $(eval $(call SetupJavaCompiler,GENERATE_NEWBYTECODE_DEBUG, \
    41 $(eval $(call SetupJavaCompiler,GENERATE_NEWBYTECODE_DEBUG, \
    49     JVM := $(JAVA), \
    42     JVM := $(JAVA), \
    50     JAVAC := $(NEW_JAVAC), \
    43     JAVAC := $(NEW_JAVAC), \
    86 	    -Xbootclasspath/p:"$(BUILDTOOLS_OUTPUTDIR)/nasgen_classes$(PATH_SEP)$(SUPPORT_OUTPUTDIR)/misc/jdk.scripting.nashorn/classes" \
    79 	    -Xbootclasspath/p:"$(BUILDTOOLS_OUTPUTDIR)/nasgen_classes$(PATH_SEP)$(SUPPORT_OUTPUTDIR)/misc/jdk.scripting.nashorn/classes" \
    87 	    jdk.nashorn.internal.tools.nasgen.Main $(@D) jdk.nashorn.internal.objects $(@D)
    80 	    jdk.nashorn.internal.tools.nasgen.Main $(@D) jdk.nashorn.internal.objects $(@D)
    88 	$(TOUCH) $@
    81 	$(TOUCH) $@
    89 
    82 
    90 # Version file needs to be processed with version numbers
    83 # Version file needs to be processed with version numbers
    91 VERSION_FILE := $(JDK_OUTPUTDIR)/modules/jdk.scripting.nashorn/jdk/nashorn/internal/runtime/resources/version.properties
    84 $(eval $(call SetupTextFileProcessing, BUILD_VERSION_FILE, \
    92 VERSION_SRC := $(NASHORN_TOPDIR)/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/resources/version.properties-template
    85   SOURCE_FILES := $(NASHORN_TOPDIR)/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/resources/version.properties.template, \
       
    86   OUTPUT_FILE := $(JDK_OUTPUTDIR)/modules/jdk.scripting.nashorn/jdk/nashorn/internal/runtime/resources/version.properties, \
       
    87   REPLACEMENTS := \
       
    88       @@VERSION_STRING@@ => $(VERSION_STRING) ; \
       
    89       @@VERSION_SHORT@@ => $(VERSION_SHORT) , \
       
    90 ))
    93 
    91 
    94 # Needs to happen after nasgen run since nasgen run deletes it
    92 # Version processing needs to happen after nasgen run since nasgen run deletes it
    95 $(VERSION_FILE): $(NASGEN_RUN_FILE)
    93 $(BUILD_VERSION_FILE): $(NASGEN_RUN_FILE)
    96 $(VERSION_FILE): $(VERSION_SRC)
       
    97 	$(ECHO) Creating version.properties
       
    98 	$(MKDIR) -p $(@D)
       
    99 	$(CAT) $< | $(SED) -e 's/$$(FULL_VERSION)/$(NASHORN_FULL_VERSION)/g' \
       
   100 	    -e 's/$$(RELEASE)/$(NASHORN_VERSION)/g' \
       
   101 	    -e '/^#.*$$/d' -e '/^$$/d'  > $@
       
   102 
    94 
   103 
    95 
   104 MANIFEST_ATTRIBUTES := Name: jdk/nashorn/\nImplementation-Title: Oracle Nashorn\nImplementation-Version: $(NASHORN_FULL_VERSION)
    96 MANIFEST_ATTRIBUTES := Name: jdk/nashorn/\nImplementation-Title: Oracle Nashorn\nImplementation-Version: $(VERSION_SHORT)
   105 
    97 
   106 # Create nashorn.jar from the final classes dir
    98 # Create nashorn.jar from the final classes dir
   107 $(eval $(call SetupArchive,BUILD_NASHORN_JAR, \
    99 $(eval $(call SetupArchive,BUILD_NASHORN_JAR, \
   108     DEPENDENCIES := $(NASGEN_RUN_FILE) \
   100     DEPENDENCIES := $(NASGEN_RUN_FILE) $(BUILD_VERSION_FILE), \
   109         $(VERSION_FILE), \
       
   110     SRCS := $(NASHORN_CLASSES_DIR), \
   101     SRCS := $(NASHORN_CLASSES_DIR), \
   111     SUFFIXES := .class .js .properties Factory, \
   102     SUFFIXES := .class .js .properties Factory, \
   112     MANIFEST := $(NASHORN_TOPDIR)/src/jdk.scripting.nashorn/share/classes/META-INF/MANIFEST.MF, \
   103     MANIFEST := $(NASHORN_TOPDIR)/src/jdk.scripting.nashorn/share/classes/META-INF/MANIFEST.MF, \
   113     EXTRA_MANIFEST_ATTR := $(MANIFEST_ATTRIBUTES), \
   104     EXTRA_MANIFEST_ATTR := $(MANIFEST_ATTRIBUTES), \
   114     SKIP_METAINF := true, \
   105     SKIP_METAINF := true, \
   115     JAR := $(NASHORN_JAR)))
   106     JAR := $(NASHORN_JAR)))
   116 
   107 
   117 compile: $(NASHORN_RUN_FILE) $(VERSION_FILE)
   108 compile: $(NASHORN_RUN_FILE) $(BUILD_VERSION_FILE)
   118 all: $(NASHORN_JAR)
   109 all: $(NASHORN_JAR)
   119 
   110 
   120 .PHONY: compile all
   111 .PHONY: compile all