54 BIN:=$(LANGTOOLS_OUTPUTDIR)/btclasses)) |
54 BIN:=$(LANGTOOLS_OUTPUTDIR)/btclasses)) |
55 |
55 |
56 # The compileprops tools compiles a properties file into a resource bundle. |
56 # The compileprops tools compiles a properties file into a resource bundle. |
57 TOOL_COMPILEPROPS_CMD:=$(JAVA) -cp $(LANGTOOLS_OUTPUTDIR)/btclasses compileproperties.CompileProperties -quiet |
57 TOOL_COMPILEPROPS_CMD:=$(JAVA) -cp $(LANGTOOLS_OUTPUTDIR)/btclasses compileproperties.CompileProperties -quiet |
58 # Lookup the properties that need to be compiled into resource bundles. |
58 # Lookup the properties that need to be compiled into resource bundles. |
59 PROPSOURCES:=$(shell find $(LANGTOOLS_TOPDIR)/src/share/classes -name "*.properties") |
59 PROPSOURCES:=$(shell $(FIND) $(LANGTOOLS_TOPDIR)/src/share/classes -name "*.properties") |
60 # Strip away prefix and suffix, leaving for example only: "com/sun/tools/javac/resources/javac_zh_CN" |
60 # Strip away prefix and suffix, leaving for example only: "com/sun/tools/javac/resources/javac_zh_CN" |
61 PROPPATHS:=$(patsubst $(LANGTOOLS_TOPDIR)/src/share/classes/%.properties,%,$(PROPSOURCES)) |
61 PROPPATHS:=$(patsubst $(LANGTOOLS_TOPDIR)/src/share/classes/%.properties,%,$(PROPSOURCES)) |
62 # Generate the list of java files to be created. |
62 # Generate the list of java files to be created. |
63 PROPJAVAS:=$(patsubst %,$(LANGTOOLS_OUTPUTDIR)/gensrc/%.java,$(PROPPATHS)) |
63 PROPJAVAS:=$(patsubst %,$(LANGTOOLS_OUTPUTDIR)/gensrc/%.java,$(PROPPATHS)) |
64 # Generate the package dirs for the tobe generated java files. |
64 # Generate the package dirs for the tobe generated java files. |
68 PROPCMDLINE:=$(subst _SPACE_,$(SPACE),$(join $(addprefix -compile_SPACE_,$(PROPSOURCES)), \ |
68 PROPCMDLINE:=$(subst _SPACE_,$(SPACE),$(join $(addprefix -compile_SPACE_,$(PROPSOURCES)), \ |
69 $(addsuffix _SPACE_java.util.ListResourceBundle,$(addprefix _SPACE_$(LANGTOOLS_OUTPUTDIR)/gensrc/,$(addsuffix .java,$(PROPPATHS)))))) |
69 $(addsuffix _SPACE_java.util.ListResourceBundle,$(addprefix _SPACE_$(LANGTOOLS_OUTPUTDIR)/gensrc/,$(addsuffix .java,$(PROPPATHS)))))) |
70 |
70 |
71 # Now setup the rule for the generation of the resource bundles. |
71 # Now setup the rule for the generation of the resource bundles. |
72 $(LANGTOOLS_OUTPUTDIR)/gensrc/_the_props.d : $(PROPSOURCES) $(BUILD_TOOLS) |
72 $(LANGTOOLS_OUTPUTDIR)/gensrc/_the_props.d : $(PROPSOURCES) $(BUILD_TOOLS) |
73 rm -rf $(@D)/* |
73 $(RM) -r $(@D)/* |
74 mkdir -p $(@D) $(PROPDIRS) |
74 $(MKDIR) -p $(@D) $(PROPDIRS) |
75 printf "jdk=$(JDK_VERSION)\nfull=$(FULL_VERSION)\nrelease=$(RELEASE)\n" > $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javah/resources/version.properties |
75 $(PRINTF) "jdk=$(JDK_VERSION)\nfull=$(FULL_VERSION)\nrelease=$(RELEASE)\n" > $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javah/resources/version.properties |
76 printf "jdk=$(JDK_VERSION)\nfull=$(FULL_VERSION)\nrelease=$(RELEASE)\n" > $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javap/resources/version.properties |
76 $(PRINTF) "jdk=$(JDK_VERSION)\nfull=$(FULL_VERSION)\nrelease=$(RELEASE)\n" > $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javap/resources/version.properties |
77 printf "jdk=$(JDK_VERSION)\nfull=$(FULL_VERSION)\nrelease=$(RELEASE)\n" > $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javac/resources/version.properties |
77 $(PRINTF) "jdk=$(JDK_VERSION)\nfull=$(FULL_VERSION)\nrelease=$(RELEASE)\n" > $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javac/resources/version.properties |
78 printf "jdk=$(JDK_VERSION)\nfull=$(FULL_VERSION)\nrelease=$(RELEASE)\n" > $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/jdeps/resources/version.properties |
78 $(PRINTF) "jdk=$(JDK_VERSION)\nfull=$(FULL_VERSION)\nrelease=$(RELEASE)\n" > $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/jdeps/resources/version.properties |
79 echo Compiling $(words $(PROPSOURCES) v1 v2 v3) properties into resource bundles |
79 $(ECHO) Compiling $(words $(PROPSOURCES) v1 v2 v3) properties into resource bundles |
80 $(TOOL_COMPILEPROPS_CMD) $(PROPCMDLINE) \ |
80 $(TOOL_COMPILEPROPS_CMD) $(PROPCMDLINE) \ |
81 -compile $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javah/resources/version.properties \ |
81 -compile $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javah/resources/version.properties \ |
82 $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javah/resources/version.java \ |
82 $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javah/resources/version.java \ |
83 java.util.ListResourceBundle \ |
83 java.util.ListResourceBundle \ |
84 -compile $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javap/resources/version.properties \ |
84 -compile $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javap/resources/version.properties \ |
88 $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javac/resources/version.java \ |
88 $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javac/resources/version.java \ |
89 java.util.ListResourceBundle \ |
89 java.util.ListResourceBundle \ |
90 -compile $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/jdeps/resources/version.properties \ |
90 -compile $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/jdeps/resources/version.properties \ |
91 $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/jdeps/resources/version.java \ |
91 $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/jdeps/resources/version.java \ |
92 java.util.ListResourceBundle |
92 java.util.ListResourceBundle |
93 echo PROPS_ARE_CREATED=yes > $@ |
93 $(ECHO) PROPS_ARE_CREATED=yes > $@ |
94 |
94 |
95 # Trigger the generation of the resource bundles. After the resource bundles have |
95 # Trigger the generation of the resource bundles. After the resource bundles have |
96 # been compiled, then the makefile will restart and the newly created java files |
96 # been compiled, then the makefile will restart and the newly created java files |
97 # will become part of the build further along in the makefile. |
97 # will become part of the build further along in the makefile. |
98 -include $(LANGTOOLS_OUTPUTDIR)/gensrc/_the_props.d |
98 -include $(LANGTOOLS_OUTPUTDIR)/gensrc/_the_props.d |
132 |
132 |
133 # Now setup the build recipe for genstubs. |
133 # Now setup the build recipe for genstubs. |
134 $(LANGTOOLS_OUTPUTDIR)/genstubs/_the_stubs.d : $(STUBSOURCES) $(BUILD_TOOLS) \ |
134 $(LANGTOOLS_OUTPUTDIR)/genstubs/_the_stubs.d : $(STUBSOURCES) $(BUILD_TOOLS) \ |
135 $(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar \ |
135 $(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar \ |
136 $(LANGTOOLS_OUTPUTDIR)/gensrc/_the_props.d |
136 $(LANGTOOLS_OUTPUTDIR)/gensrc/_the_props.d |
137 mkdir -p $(@D) |
137 $(MKDIR) -p $(@D) |
138 mkdir -p $(LANGTOOLS_OUTPUTDIR)/tmpstubs |
138 $(MKDIR) -p $(LANGTOOLS_OUTPUTDIR)/tmpstubs |
139 echo $(LOG_INFO) Generating stubs from JDK sources. |
139 $(ECHO) $(LOG_INFO) Generating stubs from JDK sources. |
140 ($(TOOL_GENSTUBS_CMD) -s $(LANGTOOLS_OUTPUTDIR)/tmpstubs -sourcepath $(JDKS) $(STUBCLASSES) && echo STUBS_ARE_CREATED=yes > $@) |
140 ($(TOOL_GENSTUBS_CMD) -s $(LANGTOOLS_OUTPUTDIR)/tmpstubs -sourcepath $(JDKS) $(STUBCLASSES) && $(ECHO) STUBS_ARE_CREATED=yes > $@) |
141 if $(DIFF) -x "_the*" -rq $(LANGTOOLS_OUTPUTDIR)/tmpstubs $(LANGTOOLS_OUTPUTDIR)/genstubs > /dev/null 2>&1; then \ |
141 if $(DIFF) -x "_the*" -rq $(LANGTOOLS_OUTPUTDIR)/tmpstubs $(LANGTOOLS_OUTPUTDIR)/genstubs > /dev/null 2>&1; then \ |
142 echo $(LOG_INFO) No changes in the stubs!; \ |
142 $(ECHO) $(LOG_INFO) No changes in the stubs!; \ |
143 rm -rf $(LANGTOOLS_OUTPUTDIR)/tmpstubs; \ |
143 $(RM) -r $(LANGTOOLS_OUTPUTDIR)/tmpstubs; \ |
144 else \ |
144 else \ |
145 echo $(LOG_INFO) Changes in stubs detected!; \ |
145 $(ECHO) $(LOG_INFO) Changes in stubs detected!; \ |
146 rm -rf $(@D); \ |
146 $(RM) -r $(@D); \ |
147 mv $(LANGTOOLS_OUTPUTDIR)/tmpstubs $(@D); \ |
147 $(MV) $(LANGTOOLS_OUTPUTDIR)/tmpstubs $(@D); \ |
148 fi |
148 fi |
149 echo STUBS_ARE_CREATED=yes > $@ |
149 $(ECHO) STUBS_ARE_CREATED=yes > $@ |
150 |
150 |
151 # Trigger a generation of the genstubs java source code and a restart |
151 # Trigger a generation of the genstubs java source code and a restart |
152 # of the makefile to make sure that the following build setup use the |
152 # of the makefile to make sure that the following build setup use the |
153 # newly created java files. |
153 # newly created java files. |
154 -include $(LANGTOOLS_OUTPUTDIR)/genstubs/_the_stubs.d |
154 -include $(LANGTOOLS_OUTPUTDIR)/genstubs/_the_stubs.d |