Makefile.am 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. JAVA_DEPEND = java.dep
  2. ## silently try to include these, if it fails gnu make
  3. ## will remake these 'makefiles' with the rules given in
  4. ## this file and restart the make process again
  5. sinclude $(JAVA_DEPEND)
  6. 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)
  7. # handling source to bytecode compiler programs like gcj, jikes and kjc
  8. if GCJ_JAVAC
  9. ## GCJ LOCAL: use srcdir
  10. JCOMPILER = $(JAVAC) $(JAVACFLAGS) -fsource=1.5 -ftarget=1.5 --bootclasspath='' --classpath=$(compile_classpath) -d $(srcdir) @classes
  11. else
  12. JCOMPILER = $(JAVAC) $(JAVACFLAGS) $(JAVAC_MEM_OPT) -source 1.5 -target 1.5 -bootclasspath '' -classpath $(compile_classpath) -d . @classes
  13. endif
  14. if CREATE_COLLECTIONS
  15. COLLECTIONS = collections.jar
  16. if WITH_JAR
  17. CREATE_COLLECTIONS_JAR=$(JAR) cf $@ $(COLLECTIONS_PREFIX)
  18. else
  19. CREATE_COLLECTIONS_JAR=$(ZIP) -r -D $@ $(COLLECTIONS_PREFIX) > /dev/null
  20. endif
  21. collections.jar: mkcollections.pl
  22. ./mkcollections.pl $(top_srcdir)
  23. $(JCOMPILER) `$(FIND) $(COLLECTIONS_PREFIX) -name '*.java' -type f -print`
  24. $(CREATE_COLLECTIONS_JAR)
  25. endif # CREATE_COLLECTIONS
  26. if INSTALL_GLIBJ_ZIP
  27. ## GCJ LOCAL: Comment this out so we don't make an empty
  28. ## '$(glibjdir)' in the install tree.
  29. ## glibj_DATA = glibj.zip
  30. endif # INSTALL_GLIBJ_ZIP
  31. if BUILD_CLASS_FILES
  32. noinst_DATA = genclasses compile-classes resources
  33. endif # BUILD_CLASS_FILES
  34. if INSTALL_CLASS_FILES
  35. install-data-local: genclasses compile-classes
  36. $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)
  37. cp -R gnu $(DESTDIR)$(pkgdatadir)
  38. cp -R java $(DESTDIR)$(pkgdatadir)
  39. cp -R javax $(DESTDIR)$(pkgdatadir)
  40. cp -R org $(DESTDIR)$(pkgdatadir)
  41. cp -R sun $(DESTDIR)$(pkgdatadir)
  42. cp -R META-INF $(DESTDIR)$(pkgdatadir)
  43. # FIXME - should mimic doc/api/Makefile.am instead...
  44. uninstall-local:
  45. rm -rf $(DESTDIR)$(pkgdatadir)/gnu
  46. rm -rf $(DESTDIR)$(pkgdatadir)/java
  47. rm -rf $(DESTDIR)$(pkgdatadir)/javax
  48. rm -rf $(DESTDIR)$(pkgdatadir)/org
  49. rm -rf $(DESTDIR)$(pkgdatadir)/sun
  50. rm -rf $(DESTDIR)$(pkgdatadir)/META-INF
  51. endif # INSTALL_CLASS_FILES
  52. .PHONY: genclasses
  53. if USE_PREBUILT_GLIBJ_ZIP
  54. glibj.zip:
  55. cp $(PATH_TO_GLIBJ_ZIP) .
  56. else
  57. if WITH_JAR
  58. CREATE_GLIBJ_ZIP=$(JAR) cf glibj.zip gnu java javax org sun META-INF && $(JAR) i glibj.zip
  59. else
  60. CREATE_GLIBJ_ZIP=$(ZIP) -r -D glibj.zip gnu java javax org sun META-INF > /dev/null
  61. endif
  62. glibj.zip: classes compile-classes resources
  63. $(CREATE_GLIBJ_ZIP)
  64. endif # USE_PREBUILT_GLIBJ_ZIP
  65. resources: copy-vmresources.sh
  66. @list=`cd $(top_srcdir)/resource && $(FIND) gnu java javax org -name \*\.properties -print -o -name \*\.css -print`; for p in $$list; do \
  67. dirname=`dirname $$p`; \
  68. if ! test -d "$$dirname"; then @mkdir_p@ "$$dirname"; fi; \
  69. cp $(top_srcdir)/resource/$$p $$p; \
  70. done
  71. @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 \
  72. dirname=`dirname $$p`; \
  73. if ! test -d "$$dirname"; then @mkdir_p@ "$$dirname"; fi; \
  74. cp $(top_srcdir)/resource/$$p $$p; \
  75. done
  76. @$(SHELL) ./copy-vmresources.sh
  77. @list=`cd $(top_srcdir) && $(FIND) gnu/javax/swing/plaf/gtk/icons -name *.png -type f -print`; for p in $$list; do \
  78. dirname=`dirname $$p`; \
  79. if ! test -d "$$dirname"; then @mkdir_p@ "$$dirname"; fi; \
  80. cp $(top_srcdir)/$$p $$p; \
  81. done
  82. touch resources
  83. classes: genclasses
  84. $(top_builddir)/gnu/java/locale/LocaleData.java: $(top_srcdir)/scripts/generate-locale-list.sh
  85. @mkdir_p@ $(top_builddir)/gnu/java/locale
  86. $(top_srcdir)/scripts/generate-locale-list.sh > $(top_builddir)/gnu/java/locale/LocaleData.java
  87. genclasses: gen-classlist.sh standard.omit $(top_builddir)/gnu/java/locale/LocaleData.java gen-xpath-parser
  88. top_builddir=$(top_builddir) top_srcdir=$(top_srcdir) $(SHELL) ./gen-classlist.sh standard
  89. # Only rebuild parsers when explicitly asked to.
  90. if REGEN_PARSERS
  91. gen-xpath-parser: $(top_srcdir)/gnu/xml/xpath/XPathParser.java
  92. $(top_srcdir)/gnu/xml/xpath/XPathParser.java: $(top_srcdir)/gnu/xml/xpath/XPathParser.y
  93. ( cd $(top_srcdir)/gnu/xml/xpath; \
  94. $(JAY) XPathParser.y < $(JAY_SKELETON) > XPathParser.java )
  95. else
  96. gen-xpath-parser:
  97. true
  98. endif # REGEN_PARSER
  99. $(JAVA_DEPEND): genclasses
  100. # if FOUND_GCJ
  101. # ## When building with gcj, we do a recursive make. We split this rule
  102. # ## out specially, rather than simply defining JCOMPILER, so that GNU make
  103. # ## will see the recursive make invocation and still allow parallel
  104. # ## builds.
  105. # compile-classes: classes $(JAVA_SRCS) Makefile
  106. # $(MAKE) -f $(srcdir)/Makefile.gcj \
  107. # GCJ='$(GCJ)' \
  108. # compile_classpath='$(top_builddir):$(compile_classpath)' \
  109. # top_srcdir=$(top_srcdir)
  110. # touch compile-classes
  111. # else
  112. compile-classes: classes $(JAVA_SRCS) Makefile
  113. if JAVA_MAINTAINER_MODE
  114. $(JCOMPILER)
  115. endif
  116. touch compile-classes
  117. # endif
  118. EXTRA_DIST = standard.omit.in mkcollections.pl.in Makefile.gcj split-for-gcj.sh glibj.zip
  119. CLEANFILES = compile-classes resources classes \
  120. glibj.zip classes.1 classes.2 Makefile.deps \
  121. $(top_builddir)/gnu/java/locale/LocaleData.java \
  122. $(JAVA_DEPEND)
  123. DISTCLEANFILES = standard.omit
  124. clean-local:
  125. -rm -rf gnu
  126. -rm -rf java
  127. -rm -rf javax
  128. -rm -rf org
  129. -rm -rf com
  130. -rm -rf sun
  131. -rm -rf META-INF
  132. -rm -rf lists
  133. dist-hook:
  134. @mkdir_p@ $(distdir)
  135. cp -pdfR $(top_srcdir)/gnu $(top_srcdir)/java $(top_srcdir)/javax $(top_srcdir)/org $(top_srcdir)/sun $(top_srcdir)/vm $(top_srcdir)/resource $(distdir)/..
  136. # Delete not wanted files.
  137. $(FIND) $(distdir)/../gnu $(distdir)/../java $(distdir)/../javax $(distdir)/../org $(distdir)/../sun $(distdir)/../vm $(distdir)/../resource -name CVS -print | xargs rm -fr
  138. $(FIND) $(distdir)/../gnu $(distdir)/../java $(distdir)/../javax $(distdir)/../org $(distdir)/../sun $(distdir)/../vm $(distdir)/../resource -name .cvsignore -print | xargs rm -f
  139. $(FIND) $(distdir)/../gnu $(distdir)/../java $(distdir)/../javax $(distdir)/../org $(distdir)/../sun $(distdir)/../vm -name class-dependencies.conf -print | xargs rm -f
  140. rm -f $(distdir)/../gnu/classpath/Configuration.java
  141. rm -f $(distdir)/../gnu/java/security/Configuration.java
  142. rm -f $(distdir)/../gnu/java/locale/LocaleData.java
  143. rm -f $(distdir)/glibj.zip