view Makefile.am @ 6:dc6721b486c7

Add javap support.
author gnu_andrew@member.fsf.org
date Mon, 03 Dec 2007 21:07:30 +0000
parents dbc17dd9fa08
children 1fa24a069129
line wrap: on
line source

## Input file for automake to generate the Makefile.in used by configure

ACLOCAL_AMFLAGS = -I m4 ${LOCAL_AUTORECONF_FLAGS}

# 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_ECJ
JCOMPILER = $(ECJ) -1.5 -encoding UTF-8 -warn:-deprecation,serial,typeHiding,unchecked,unused,varargsCast -bootclasspath $(PATH_TO_GLIBJ_ZIP) -classpath .:$(USER_CLASSLIB)
else
if FOUND_JAVAC
JCOMPILER = $(JAVAC) -encoding UTF-8 -bootclasspath $(PATH_TO_GLIBJ_ZIP) -classpath .:$(GLIBJ_CLASSPATH)
else
error dunno how to setup the JCOMPILER and compile
endif
endif

bin_SCRIPTS = tools/apt tools/javac tools/javah tools/javadoc 
bin_PROGRAMS =

EXTRA_DIST = tools/apt.in tools/javac.in tools/javah.in tools/javadoc.in

# 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