| JAVA_DEPEND = java.dep |
| |
| ## silently try to include these, if it fails gnu make |
| ## will remake these 'makefiles' with the rules given in |
| ## this file and restart the make process again |
| sinclude $(JAVA_DEPEND) |
| |
| compile_classpath = $(vm_classes):$(top_srcdir):$(top_srcdir)/external/w3c_dom:$(top_srcdir)/external/sax:$(top_srcdir)/external/relaxngDatatype:$(top_srcdir)/external/jsr166:.:$(PATH_TO_GLIBJ_ZIP):$(PATH_TO_ESCHER) |
| |
| # handling source to bytecode compiler programs like gcj, jikes and kjc |
| if GCJ_JAVAC |
| ## GCJ LOCAL: use srcdir |
| JCOMPILER = $(JAVAC) $(JAVACFLAGS) -fsource=1.5 -ftarget=1.5 --bootclasspath='' --classpath=$(compile_classpath) -d $(srcdir) @classes |
| else |
| JCOMPILER = $(JAVAC) $(JAVACFLAGS) $(JAVAC_MEM_OPT) -source 1.5 -target 1.5 -bootclasspath '' -classpath $(compile_classpath) -d . @classes |
| endif |
| |
| if CREATE_COLLECTIONS |
| COLLECTIONS = collections.jar |
| |
| if WITH_JAR |
| CREATE_COLLECTIONS_JAR=$(JAR) cf $@ $(COLLECTIONS_PREFIX) |
| else |
| CREATE_COLLECTIONS_JAR=$(ZIP) -r -D $@ $(COLLECTIONS_PREFIX) > /dev/null |
| endif |
| |
| collections.jar: mkcollections.pl |
| ./mkcollections.pl $(top_srcdir) |
| $(JCOMPILER) `$(FIND) $(COLLECTIONS_PREFIX) -name '*.java' -type f -print` |
| $(CREATE_COLLECTIONS_JAR) |
| endif # CREATE_COLLECTIONS |
| |
| if INSTALL_GLIBJ_ZIP |
| |
| ## GCJ LOCAL: Comment this out so we don't make an empty |
| ## '$(glibjdir)' in the install tree. |
| ## glibj_DATA = glibj.zip |
| |
| endif # INSTALL_GLIBJ_ZIP |
| |
| if BUILD_CLASS_FILES |
| noinst_DATA = genclasses compile-classes resources |
| endif # BUILD_CLASS_FILES |
| |
| if INSTALL_CLASS_FILES |
| |
| install-data-local: genclasses compile-classes |
| $(mkinstalldirs) $(DESTDIR)$(pkgdatadir) |
| cp -R gnu $(DESTDIR)$(pkgdatadir) |
| cp -R java $(DESTDIR)$(pkgdatadir) |
| cp -R javax $(DESTDIR)$(pkgdatadir) |
| cp -R org $(DESTDIR)$(pkgdatadir) |
| cp -R sun $(DESTDIR)$(pkgdatadir) |
| cp -R META-INF $(DESTDIR)$(pkgdatadir) |
| |
| # FIXME - should mimic doc/api/Makefile.am instead... |
| uninstall-local: |
| rm -rf $(DESTDIR)$(pkgdatadir)/gnu |
| rm -rf $(DESTDIR)$(pkgdatadir)/java |
| rm -rf $(DESTDIR)$(pkgdatadir)/javax |
| rm -rf $(DESTDIR)$(pkgdatadir)/org |
| rm -rf $(DESTDIR)$(pkgdatadir)/sun |
| rm -rf $(DESTDIR)$(pkgdatadir)/META-INF |
| |
| endif # INSTALL_CLASS_FILES |
| |
| .PHONY: genclasses |
| |
| if USE_PREBUILT_GLIBJ_ZIP |
| |
| glibj.zip: |
| cp $(PATH_TO_GLIBJ_ZIP) . |
| |
| else |
| |
| if WITH_JAR |
| CREATE_GLIBJ_ZIP=$(JAR) cf glibj.zip gnu java javax org sun META-INF |
| else |
| CREATE_GLIBJ_ZIP=$(ZIP) -r -D glibj.zip gnu java javax org sun META-INF > /dev/null |
| endif |
| |
| glibj.zip: classes compile-classes resources |
| $(CREATE_GLIBJ_ZIP) |
| endif # USE_PREBUILT_GLIBJ_ZIP |
| |
| resources: copy-vmresources.sh |
| @list=`cd $(top_srcdir)/resource && $(FIND) gnu java javax org -name \*\.properties -print -o -name \*\.css -print`; for p in $$list; do \ |
| dirname=`dirname $$p`; \ |
| if ! test -d "$$dirname"; then @mkdir_p@ "$$dirname"; fi; \ |
| cp $(top_srcdir)/resource/$$p $$p; \ |
| done |
| @list=`cd $(top_srcdir)/resource && $(FIND) META-INF -name CVS -prune -o -name .svn -prune -o -name \*\.in -prune -o -type f -print`; for p in $$list; do \ |
| dirname=`dirname $$p`; \ |
| if ! test -d "$$dirname"; then @mkdir_p@ "$$dirname"; fi; \ |
| cp $(top_srcdir)/resource/$$p $$p; \ |
| done |
| @$(SHELL) ./copy-vmresources.sh |
| @list=`cd $(top_srcdir) && $(FIND) gnu/javax/swing/plaf/gtk/icons -name *.png -type f -print`; for p in $$list; do \ |
| dirname=`dirname $$p`; \ |
| if ! test -d "$$dirname"; then @mkdir_p@ "$$dirname"; fi; \ |
| cp $(top_srcdir)/$$p $$p; \ |
| done |
| touch resources |
| |
| classes: genclasses |
| |
| $(top_builddir)/gnu/java/locale/LocaleData.java: $(top_srcdir)/scripts/generate-locale-list.sh |
| @mkdir_p@ $(top_builddir)/gnu/java/locale |
| $(top_srcdir)/scripts/generate-locale-list.sh > $(top_builddir)/gnu/java/locale/LocaleData.java |
| |
| genclasses: gen-classlist.sh standard.omit $(top_builddir)/gnu/java/locale/LocaleData.java gen-xpath-parser |
| top_builddir=$(top_builddir) top_srcdir=$(top_srcdir) $(SHELL) ./gen-classlist.sh standard |
| |
| # Only rebuild parsers when explicitly asked to. |
| if REGEN_PARSERS |
| |
| gen-xpath-parser: $(top_srcdir)/gnu/xml/xpath/XPathParser.java |
| |
| $(top_srcdir)/gnu/xml/xpath/XPathParser.java: $(top_srcdir)/gnu/xml/xpath/XPathParser.y |
| ( cd $(top_srcdir)/gnu/xml/xpath; \ |
| $(JAY) XPathParser.y < $(JAY_SKELETON) > XPathParser.java ) |
| else |
| |
| gen-xpath-parser: |
| true |
| |
| endif # REGEN_PARSER |
| |
| $(JAVA_DEPEND): genclasses |
| |
| # if FOUND_GCJ |
| # ## When building with gcj, we do a recursive make. We split this rule |
| # ## out specially, rather than simply defining JCOMPILER, so that GNU make |
| # ## will see the recursive make invocation and still allow parallel |
| # ## builds. |
| # compile-classes: classes $(JAVA_SRCS) Makefile |
| # $(MAKE) -f $(srcdir)/Makefile.gcj \ |
| # GCJ='$(GCJ)' \ |
| # compile_classpath='$(top_builddir):$(compile_classpath)' \ |
| # top_srcdir=$(top_srcdir) |
| # touch compile-classes |
| # else |
| compile-classes: classes $(JAVA_SRCS) Makefile |
| if JAVA_MAINTAINER_MODE |
| $(JCOMPILER) |
| endif |
| touch compile-classes |
| # endif |
| |
| EXTRA_DIST = standard.omit.in mkcollections.pl.in Makefile.gcj split-for-gcj.sh glibj.zip |
| CLEANFILES = compile-classes resources classes \ |
| glibj.zip classes.1 classes.2 Makefile.deps \ |
| $(top_builddir)/gnu/java/locale/LocaleData.java \ |
| $(JAVA_DEPEND) |
| DISTCLEANFILES = standard.omit |
| |
| clean-local: |
| -rm -rf gnu |
| -rm -rf java |
| -rm -rf javax |
| -rm -rf org |
| -rm -rf com |
| -rm -rf sun |
| -rm -rf META-INF |
| -rm -rf lists |
| |
| dist-hook: |
| @mkdir_p@ $(distdir) |
| cp -pdfR $(top_srcdir)/gnu $(top_srcdir)/java $(top_srcdir)/javax $(top_srcdir)/org $(top_srcdir)/sun $(top_srcdir)/vm $(top_srcdir)/resource $(distdir)/.. |
| # Delete not wanted files. |
| $(FIND) $(distdir)/../gnu $(distdir)/../java $(distdir)/../javax $(distdir)/../org $(distdir)/../sun $(distdir)/../vm $(distdir)/../resource -name CVS -print | xargs rm -fr |
| $(FIND) $(distdir)/../gnu $(distdir)/../java $(distdir)/../javax $(distdir)/../org $(distdir)/../sun $(distdir)/../vm $(distdir)/../resource -name .cvsignore -print | xargs rm -f |
| $(FIND) $(distdir)/../gnu $(distdir)/../java $(distdir)/../javax $(distdir)/../org $(distdir)/../sun $(distdir)/../vm -name class-dependencies.conf -print | xargs rm -f |
| rm -f $(distdir)/../gnu/classpath/Configuration.java |
| rm -f $(distdir)/../gnu/java/security/Configuration.java |
| rm -f $(distdir)/../gnu/java/locale/LocaleData.java |
| rm -f $(distdir)/glibj.zip |