1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
|
## Input file for automake to generate the Makefile.in used by configure
ACLOCAL_AMFLAGS = -I m4 ${LOCAL_AUTORECONF_FLAGS}
SUBDIRS = tools
# version info for generated compiler
JDK_VERSION = 1.7.0
RELEASE=$(JDK_VERSION)-opensource
BUILD_NUMBER = b00
USER_RELEASE_SUFFIX := $(shell echo $(USER)_`date '+%d_%b_%Y_%H_%M' | tr "A-Z" "a-z"`)
FULL_VERSION = $(RELEASE)-$(USER_RELEASE_SUFFIX)-$(BUILD_NUMBER)
# Setup the compiler
if FOUND_JAVAC
JCOMPILER = $(JAVAC) $(JAVAC_OPTS) -classpath .:$(USER_CLASSLIB)
else
JCOMPILER = echo "No compiler found" 1>&2; exit 1
endif
# All our example java source files
OPENJDK_CLASSES = $(LANGTOOLS_SRC_DIR)/src/share/classes
TOOLS_JAVA_FILES = $(OPENJDK_CLASSES)/com/sun/tools/apt/Main.java \
$(OPENJDK_CLASSES)/com/sun/javadoc/*.java \
$(OPENJDK_CLASSES)/com/sun/tools/apt/comp/*.java \
$(OPENJDK_CLASSES)/com/sun/tools/apt/main/*.java \
$(OPENJDK_CLASSES)/com/sun/tools/apt/util/*.java \
$(OPENJDK_CLASSES)/com/sun/tools/apt/mirror/apt/*.java \
$(OPENJDK_CLASSES)/com/sun/tools/apt/mirror/type/*.java \
$(OPENJDK_CLASSES)/com/sun/tools/apt/mirror/util/*.java \
$(OPENJDK_CLASSES)/com/sun/tools/apt/mirror/declaration/*.java \
$(OPENJDK_CLASSES)/com/sun/tools/apt/mirror/*.java \
$(OPENJDK_CLASSES)/com/sun/tools/javac/api/*.java \
$(OPENJDK_CLASSES)/com/sun/tools/javac/jvm/*.java \
$(OPENJDK_CLASSES)/com/sun/tools/javac/sym/*.java \
$(OPENJDK_CLASSES)/com/sun/tools/javac/code/*.java \
$(OPENJDK_CLASSES)/com/sun/tools/javac/comp/*.java \
$(OPENJDK_CLASSES)/com/sun/tools/javac/main/*.java \
$(OPENJDK_CLASSES)/com/sun/tools/javac/tree/*.java \
$(OPENJDK_CLASSES)/com/sun/tools/javac/util/*.java \
$(OPENJDK_CLASSES)/com/sun/tools/javac/*.java \
$(OPENJDK_CLASSES)/com/sun/tools/javac/model/*.java \
$(OPENJDK_CLASSES)/com/sun/tools/javac/parser/*.java \
$(OPENJDK_CLASSES)/com/sun/tools/javac/processing/*.java \
$(OPENJDK_CLASSES)/com/sun/tools/javac/zip/*.java \
$(OPENJDK_CLASSES)/com/sun/tools/javah/*.java \
$(OPENJDK_CLASSES)/com/sun/tools/javadoc/*.java \
$(OPENJDK_CLASSES)/com/sun/mirror/apt/*.java \
$(OPENJDK_CLASSES)/com/sun/mirror/type/*.java \
$(OPENJDK_CLASSES)/com/sun/mirror/util/*.java \
$(OPENJDK_CLASSES)/com/sun/mirror/declaration/*.java \
$(OPENJDK_CLASSES)/com/sun/source/tree/*.java \
$(OPENJDK_CLASSES)/com/sun/source/util/*.java \
$(OPENJDK_CLASSES)/javax/lang/model/type/*.java \
$(OPENJDK_CLASSES)/javax/lang/model/util/*.java \
$(OPENJDK_CLASSES)/javax/lang/model/*.java \
$(OPENJDK_CLASSES)/javax/lang/model/element/*.java \
$(OPENJDK_CLASSES)/javax/tools/*.java \
$(OPENJDK_CLASSES)/javax/annotation/processing/*.java \
$(OPENJDK_CLASSES)/com/sun/tools/doclets/*.java \
$(OPENJDK_CLASSES)/com/sun/tools/doclets/formats/html/*.java \
$(OPENJDK_CLASSES)/com/sun/tools/doclets/formats/html/markup/*.java \
$(OPENJDK_CLASSES)/com/sun/tools/doclets/internal/toolkit/*.java \
$(OPENJDK_CLASSES)/com/sun/tools/doclets/internal/toolkit/builders/*.java \
$(OPENJDK_CLASSES)/com/sun/tools/doclets/internal/toolkit/taglets/*.java \
$(OPENJDK_CLASSES)/com/sun/tools/doclets/internal/toolkit/util/*.java \
$(OPENJDK_CLASSES)/com/sun/tools/doclets/internal/toolkit/util/links/*.java \
$(OPENJDK_CLASSES)/com/sun/tools/doclets/standard/*.java \
$(OPENJDK_CLASSES)/sun/tools/javap/*.java
# The zip files with classes we want to produce.
TOOLS_ZIP = tools.jar
# Extra objects that will not exist until configure-time
BUILT_SOURCES = $(TOOLS_ZIP)
# All the files we find "interesting"
ALL_TOOLS_FILES = $(TOOLS_JAVA_FILES)
# Some architecture independent data to be installed.
TOOLS_DATA = $(TOOLS_ZIP)
# Where we want these data files installed.
TOOLSdir = $(libdir)
# Make sure everything is included in the distribution.
dist-hook:
srcdir_cnt=`echo $(srcdir) | wc -c`; \
for file in $(ALL_TOOLS_FILES); do \
f=`echo $$file | cut -c$$srcdir_cnt-`; \
fdir=`dirname $$f`; \
if test ! -d $(distdir)/$$fdir; then \
echo "$(makeinstalldirs) $(distdir)/$$fdir"; \
$(mkinstalldirs) $(distdir)/$$fdir; \
fi; \
echo "cp -p $$file $(distdir)/$$f"; \
cp -p $$file $(distdir)/$$f; \
done
classes/com/sun/tools/javac/resources/version.properties: \
$(OPENJDK_CLASSES)/com/sun/tools/javac/resources/version.properties-template
$(MKDIR) -p $(@D)
$(SED) -e 's/$$(JDK_VERSION)/$(JDK_VERSION)/' \
-e 's/$$(FULL_VERSION)/$(FULL_VERSION)/' \
-e 's/$$(RELEASE)/$(RELEASE)/' \
< $< > $@
# Always regenerate all .class files and remove them
# immediately. And copy the property files to the classes dir
# so they get also included.
$(TOOLS_ZIP): $(TOOLS_JAVA_FILES) classes/com/sun/tools/javac/resources/version.properties
echo $(TOOLS_JAVA_FILES) > classes.lst
$(JCOMPILER) -g -d classes @classes.lst
## Copy over resource files.
@list=`cd $(OPENJDK_CLASSES) && $(FIND) com/sun/tools/{javac,javadoc,apt,javah,doclets} -name \*\.properties -print`; cd $(top_srcdir); for p in $$list; do \
dirname=`dirname $$p`; \
if ! test -d classes/"$$dirname"; then mkdir -p classes/"$$dirname"; fi; \
cp $(OPENJDK_CLASSES)/$$p classes/$$p; \
done
## First add classpath tools stuff.
(cd classes; \
if test "$(ZIP)" != ""; then $(ZIP) -r ../$(TOOLS_ZIP) .; fi; \
if test "$(FASTJAR)" != ""; then $(FASTJAR) cf ../$(TOOLS_ZIP) .; fi; \
cd ..)
@rm -rf classes
# Zip file be gone! (and make sure the classes are gone too)
clean-local:
rm -rf $(TOOLS_ZIP) classes classes.lst
|