35 NASHORN_JAR := $(NASHORN_DIST)/nashorn.jar |
35 NASHORN_JAR := $(NASHORN_DIST)/nashorn.jar |
36 NASHORN_VERSION := $(JDK_VERSION) |
36 NASHORN_VERSION := $(JDK_VERSION) |
37 NASHORN_FULL_VERSION := $(FULL_VERSION) |
37 NASHORN_FULL_VERSION := $(FULL_VERSION) |
38 |
38 |
39 ifdef MILESTONE |
39 ifdef MILESTONE |
40 ifeq ($(MILESTONE),internal) |
40 ifeq ($(MILESTONE), internal) |
41 NASHORN_VERSION = $(FULL_VERSION) |
41 NASHORN_VERSION = $(FULL_VERSION) |
42 endif |
42 endif |
43 endif |
43 endif |
44 |
44 |
45 # Need to use source and target 7 for nasgen to work. |
45 # Need to use source and target 7 for nasgen to work. |
46 $(eval $(call SetupJavaCompiler,GENERATE_NEWBYTECODE_DEBUG,\ |
46 $(eval $(call SetupJavaCompiler,GENERATE_NEWBYTECODE_DEBUG, \ |
47 JVM:=$(JAVA),\ |
47 JVM := $(JAVA), \ |
48 JAVAC:=$(NEW_JAVAC),\ |
48 JAVAC := $(NEW_JAVAC), \ |
49 FLAGS:=-g -source 7 -target 7 -bootclasspath $(JDK_CLASSES),\ |
49 FLAGS := -g -source 7 -target 7 -bootclasspath $(JDK_CLASSES), \ |
50 SERVER_DIR:=$(SJAVAC_SERVER_DIR),\ |
50 SERVER_DIR := $(SJAVAC_SERVER_DIR), \ |
51 SERVER_JVM:=$(SJAVAC_SERVER_JAVA))) |
51 SERVER_JVM := $(SJAVAC_SERVER_JAVA))) |
52 |
52 |
53 # Build nashorn into intermediate directory |
53 # Build nashorn into intermediate directory |
54 $(eval $(call SetupJavaCompilation,BUILD_NASHORN,\ |
54 $(eval $(call SetupJavaCompilation,BUILD_NASHORN, \ |
55 SETUP:=GENERATE_NEWBYTECODE_DEBUG,\ |
55 SETUP := GENERATE_NEWBYTECODE_DEBUG, \ |
56 SRC:=$(NASHORN_TOPDIR)/src,\ |
56 SRC := $(NASHORN_TOPDIR)/src, \ |
57 COPY:=.properties .js,\ |
57 COPY := .properties .js, \ |
58 BIN:=$(NASHORN_OUTPUTDIR)/nashorn_classes)) |
58 BIN := $(NASHORN_OUTPUTDIR)/nashorn_classes)) |
59 |
59 |
60 NASGEN_SRC := $(NASHORN_TOPDIR)/buildtools/nasgen/src |
60 NASGEN_SRC := $(NASHORN_TOPDIR)/buildtools/nasgen/src |
61 ASM_SRC := $(JDK_TOPDIR)/src/share/classes/jdk/internal/org/objectweb/asm |
61 ASM_SRC := $(JDK_TOPDIR)/src/share/classes/jdk/internal/org/objectweb/asm |
62 |
62 |
63 # Build nasgen |
63 # Build nasgen |
64 $(eval $(call SetupJavaCompilation,BUILD_NASGEN,\ |
64 $(eval $(call SetupJavaCompilation,BUILD_NASGEN, \ |
65 SETUP:=GENERATE_NEWBYTECODE_DEBUG,\ |
65 SETUP := GENERATE_NEWBYTECODE_DEBUG, \ |
66 SRC:=$(NASGEN_SRC) $(ASM_SRC), \ |
66 SRC := $(NASGEN_SRC) $(ASM_SRC), \ |
67 BIN:=$(NASHORN_OUTPUTDIR)/nasgen_classes,\ |
67 BIN := $(NASHORN_OUTPUTDIR)/nasgen_classes, \ |
68 ADD_JAVAC_FLAGS:=-cp $(NASHORN_OUTPUTDIR)/nashorn_classes)) |
68 ADD_JAVAC_FLAGS := -cp $(NASHORN_OUTPUTDIR)/nashorn_classes)) |
69 |
69 |
70 # Nasgen needs nashorn classes |
70 # Nasgen needs nashorn classes |
71 $(BUILD_NASGEN): $(BUILD_NASHORN) |
71 $(BUILD_NASGEN): $(BUILD_NASHORN) |
72 |
72 |
73 # Copy classes to final classes dir and run nasgen to modify classes in jdk.nashorn.internal.objects package |
73 # Copy classes to final classes dir and run nasgen to modify classes in jdk.nashorn.internal.objects package |
75 $(ECHO) Running nasgen |
75 $(ECHO) Running nasgen |
76 $(MKDIR) -p $(@D) |
76 $(MKDIR) -p $(@D) |
77 $(RM) -rf $(@D)/jdk $(@D)/netscape |
77 $(RM) -rf $(@D)/jdk $(@D)/netscape |
78 $(CP) -R -p $(NASHORN_OUTPUTDIR)/nashorn_classes/* $(@D)/ |
78 $(CP) -R -p $(NASHORN_OUTPUTDIR)/nashorn_classes/* $(@D)/ |
79 $(FIXPATH) $(JAVA) \ |
79 $(FIXPATH) $(JAVA) \ |
80 -cp "$(NASHORN_OUTPUTDIR)/nasgen_classes$(PATH_SEP)$(NASHORN_OUTPUTDIR)/nashorn_classes" \ |
80 -cp "$(NASHORN_OUTPUTDIR)/nasgen_classes$(PATH_SEP)$(NASHORN_OUTPUTDIR)/nashorn_classes" \ |
81 jdk.nashorn.internal.tools.nasgen.Main $(@D) jdk.nashorn.internal.objects $(@D) |
81 jdk.nashorn.internal.tools.nasgen.Main $(@D) jdk.nashorn.internal.objects $(@D) |
82 $(TOUCH) $@ |
82 $(TOUCH) $@ |
83 |
83 |
84 # Version file needs to be processed with version numbers |
84 # Version file needs to be processed with version numbers |
85 VERSION_FILE := $(NASHORN_OUTPUTDIR)/classes/jdk/nashorn/internal/runtime/resources/version.properties |
85 VERSION_FILE := $(NASHORN_OUTPUTDIR)/classes/jdk/nashorn/internal/runtime/resources/version.properties |
|
86 |
86 # Needs to happen after nasgen run since nasgen run deletes it |
87 # Needs to happen after nasgen run since nasgen run deletes it |
87 $(VERSION_FILE): $(NASHORN_OUTPUTDIR)/classes/_the.nasgen.run |
88 $(VERSION_FILE): $(NASHORN_OUTPUTDIR)/classes/_the.nasgen.run |
88 $(VERSION_FILE): $(NASHORN_TOPDIR)/src/jdk/nashorn/internal/runtime/resources/version.properties-template |
89 $(VERSION_FILE): $(NASHORN_TOPDIR)/src/jdk/nashorn/internal/runtime/resources/version.properties-template |
89 $(ECHO) Creating version.properties |
90 $(ECHO) Creating version.properties |
90 $(MKDIR) -p $(@D) |
91 $(MKDIR) -p $(@D) |
91 $(CAT) $< | $(SED) -e 's/$$(FULL_VERSION)/$(NASHORN_FULL_VERSION)/g' \ |
92 $(CAT) $< | $(SED) -e 's/$$(FULL_VERSION)/$(NASHORN_FULL_VERSION)/g' \ |
92 -e 's/$$(RELEASE)/$(NASHORN_VERSION)/g' \ |
93 -e 's/$$(RELEASE)/$(NASHORN_VERSION)/g' \ |
93 -e '/^#.*$$/d' -e '/^$$/d' > $@ |
94 -e '/^#.*$$/d' -e '/^$$/d' > $@ |
94 |
95 |
95 |
96 |
96 MANIFEST_ATTRIBUTES:=Name: jdk/nashorn/\nImplementation-Title: Oracle Nashorn\nImplementation-Version: $(NASHORN_FULL_VERSION) |
97 MANIFEST_ATTRIBUTES := Name: jdk/nashorn/\nImplementation-Title: Oracle Nashorn\nImplementation-Version: $(NASHORN_FULL_VERSION) |
97 |
98 |
98 # Create nashorn.jar from the final classes dir |
99 # Create nashorn.jar from the final classes dir |
99 $(eval $(call SetupArchive,BUILD_NASHORN_JAR,\ |
100 $(eval $(call SetupArchive,BUILD_NASHORN_JAR, \ |
100 $(NASHORN_OUTPUTDIR)/classes/_the.nasgen.run \ |
101 $(NASHORN_OUTPUTDIR)/classes/_the.nasgen.run \ |
101 $(VERSION_FILE),\ |
102 $(VERSION_FILE), \ |
102 SRCS:=$(NASHORN_OUTPUTDIR)/classes,\ |
103 SRCS := $(NASHORN_OUTPUTDIR)/classes, \ |
103 SUFFIXES:=.class .js .properties Factory,\ |
104 SUFFIXES := .class .js .properties Factory, \ |
104 MANIFEST:=$(NASHORN_TOPDIR)/src/META-INF/MANIFEST.MF,\ |
105 MANIFEST := $(NASHORN_TOPDIR)/src/META-INF/MANIFEST.MF, \ |
105 EXTRA_MANIFEST_ATTR:=$(MANIFEST_ATTRIBUTES),\ |
106 EXTRA_MANIFEST_ATTR := $(MANIFEST_ATTRIBUTES), \ |
106 SKIP_METAINF:=true,\ |
107 SKIP_METAINF := true, \ |
107 JAR:=$(NASHORN_JAR))) |
108 JAR := $(NASHORN_JAR))) |
108 |
109 |
109 all: $(NASHORN_JAR) |
110 all: $(NASHORN_JAR) |
110 |
111 |
111 .PHONY: all |
112 .PHONY: all |