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 |