Mercurial > hg > release > icedtea6-1.2
view Makefile.am @ 850:a952ab0e58fb
Import HAT SPL/GPLv2 fix.
2008-05-04 Mark Wielaard <mark@klomp.org>
* Makefile.am (EXTRA_DIST): Add patches/icedtea-hat-spl-gpl.patch.
* Makefile.in: Regenerate.
* patches/icedtea-hat-spl-gpl.patch: New patch.
author | Mark Wielaard <mark@klomp.org> |
---|---|
date | Sun, 04 May 2008 23:35:04 +0200 |
parents | 8e665e78cbfe |
children | 33a90721ac50 |
line wrap: on
line source
OPENJDK_DATE = 11_apr_2008 OPENJDK_MD5SUM = 9ef5b6e83ec0c7a32bffd1a4de50fe5c OPENJDK_VERSION = b09 if NETX_PLUGIN NETX_PATCH = patches/icedtea-netx-plugin.patch else NETX_PATCH = endif # Top-Level Targets # ================= all-local: icedtea-against-icedtea distclean-local: clean-copy rm -rf stamps rm -f rt-source-files.txt \ hotspot-tools-source-files.txt \ extra-source-files.txt rm -rf bootstrap rm -rf lib rm -rf extra-lib rm -rf openjdk-ecj rm -rf openjdk rm -rf hotspot-tools rm -f gcjwebplugin.so install: .PHONY: \ env env-ecj snapshot clean-clone clean-patch \ clean-clone-ecj clean-patch-ecj clean-bootstrap-directory \ clean-bootstrap-directory-symlink clean-bootstrap-directory-ecj \ clean-bootstrap-directory-symlink-ecj icedtea icedtea-debug \ clean-icedtea icedtea-against-icedtea clean-icedtea-ecj clean-plugs \ clean-tools-jar clean-shared-objects \ clean-copy clean-hotspot-tools clean-rt clean-gcjwebplugin \ hotspot hotspot-helper clean-extra EXTRA_DIST = rt generated $(ICEDTEA_PATCHES) $(ICEDTEA_ECJ_PATCH) \ gcjwebplugin.cc tools-copy contrib ports \ patches/icedtea-gcc-4.3.patch extra $(ZERO_PATCHES) \ patches/icedtea-cacao.patch javaws.png javaws.desktop \ patches/icedtea-netx-plugin.patch \ overlays extra jconsole.desktop policytool.desktop # The Binary plugs directory is called jdk1.7.0 for historical reasons. The # name is completely irrelevant; only contains the plugs to build IcedTea. # OpenJDK build environment. LINUX_DIR = linux-$(BUILD_ARCH_DIR) BUILD_OUTPUT_DIR = openjdk/control/build/$(LINUX_DIR) ICEDTEA_BUILD_DIR = \ $(abs_top_srcdir)/$(BUILD_OUTPUT_DIR) ICEDTEA_RT = \ $(abs_top_srcdir)/bootstrap/jdk1.7.0/jre/lib/rt-closed.jar ICEDTEA_CLS_DIR = \ $(abs_top_srcdir)/$(BUILD_OUTPUT_DIR)/classes ICEDTEA_BOOT_DIR= \ $(abs_top_srcdir)/bootstrap/jdk1.6.0 ICEDTEA_ENDORSED_DIR = \ $(ICEDTEA_BOOT_DIR)/lib/endorsed if CORE_BUILD ICEDTEA_CORE_BUILD = yes else ICEDTEA_CORE_BUILD = endif if ZERO_BUILD ICEDTEA_ZERO_BUILD = yes else ICEDTEA_ZERO_BUILD = endif ICEDTEA_ENV = \ "ALT_JDK_IMPORT_PATH=$(ICEDTEA_BOOT_DIR)" \ "ANT_HOME=$(SYSTEM_ANT_DIR)" \ "BUILD_NUMBER=$(OPENJDK_VERSION)" \ "JRE_RELEASE_VERSION=1.6.0-$(OPENJDK_VERSION)" \ "HOTSPOT_RELEASE_VERSION=1.6.0-$(OPENJDK_VERSION)" \ "LANG=C" \ "PATH=/usr/bin:/bin:/usr/sbin:/sbin" \ "ALT_BOOTDIR=$(ICEDTEA_BOOT_DIR)" \ "ALT_BINARY_PLUGS_PATH=$(abs_top_srcdir)/bootstrap/jdk1.7.0" \ "BUILD_ARCH_DIR=$(BUILD_ARCH_DIR)" \ "ICEDTEA_RT=$(ICEDTEA_RT)" \ "ICEDTEA_BUILD_DIR=$(ICEDTEA_BUILD_DIR)" \ "ICEDTEA_CLS_DIR=$(ICEDTEA_CLS_DIR)" \ "ICEDTEA_ENDORSED_DIR=$(ICEDTEA_ENDORSED_DIR)" \ "ENDORSED=-Djava.endorsed.dirs=$(ICEDTEA_ENDORSED_DIR)" \ "CLASSPATH=" \ "LD_LIBRARY_PATH=" \ "ICEDTEA_CORE_BUILD=$(ICEDTEA_CORE_BUILD)" \ "ICEDTEA_ZERO_BUILD=$(ICEDTEA_ZERO_BUILD)" \ "ZERO_LIBARCH=$(ZERO_LIBARCH)" \ "ZERO_BITSPERWORD=$(ZERO_BITSPERWORD)" \ "ZERO_ENDIANNESS=$(ZERO_ENDIANNESS)" \ "ZERO_ARCHDEF=$(ZERO_ARCHDEF)" \ "ZERO_ARCHFLAG=$(ZERO_ARCHFLAG)" \ "LIBFFI_CFLAGS=$(LIBFFI_CFLAGS)" \ "LIBFFI_LIBS=$(LIBFFI_LIBS)" \ "FREETYPE2_HEADERS=$(FREETYPE2_CFLAGS)" \ "FT2_LIB=$(FREETYPE2_LIBS)" \ "ALT_PARALLEL_COMPILE_JOBS=$(PARALLEL_JOBS)" \ "HOTSPOT_BUILD_JOBS=$(PARALLEL_JOBS)" if WITH_CACAO ICEDTEA_ENV += \ "ALT_HOTSPOT_IMPORT_PATH=$(CACAO)" endif if !ENABLE_OPTIMIZATIONS ICEDTEA_ENV += \ "NO_OPTIMIZATIONS=true" \ "CC_NO_OPT=-O0 -g" endif if !ENABLE_DOCS ICEDTEA_ENV += \ "NO_DOCS=true" endif env: @echo 'unset JAVA_HOME' @echo 'export $(ICEDTEA_ENV)' # OpenJDK ecj build environment. ICEDTEA_BUILD_DIR_ECJ = \ $(abs_top_srcdir)/openjdk-ecj/control/build/$(LINUX_DIR)/ ICEDTEA_CLS_DIR_ECJ = \ $(abs_top_srcdir)/openjdk-ecj/control/build/$(LINUX_DIR)/classes ICEDTEA_ENV_ECJ = \ "ALT_JDK_IMPORT_PATH=$(ICEDTEA_BOOT_DIR)" \ "ANT_HOME=$(SYSTEM_ANT_DIR)" \ "BUILD_NUMBER=$(OPENJDK_VERSION)" \ "JRE_RELEASE_VERSION=1.6.0-$(OPENJDK_VERSION)" \ "HOTSPOT_RELEASE_VERSION=1.6.0-$(OPENJDK_VERSION)" \ "LANG=C" \ "PATH=/usr/bin:/bin:/usr/sbin:/sbin" \ "ALT_BOOTDIR=$(ICEDTEA_BOOT_DIR)" \ "ALT_BINARY_PLUGS_PATH=$(abs_top_srcdir)/bootstrap/jdk1.7.0" \ "BUILD_ARCH_DIR=$(BUILD_ARCH_DIR)" \ "LIBGCJ_JAR=$(LIBGCJ_JAR)" \ "ICEDTEA_RT=$(ICEDTEA_RT)" \ "ICEDTEA_BUILD_DIR=$(ICEDTEA_BUILD_DIR_ECJ)" \ "ICEDTEA_CLS_DIR=$(ICEDTEA_CLS_DIR_ECJ)" \ "ICEDTEA_ENDORSED_DIR=$(ICEDTEA_ENDORSED_DIR)" \ "ENDORSED=-Djava.endorsed.dirs=$(ICEDTEA_ENDORSED_DIR)" \ "BOOTCLASSPATH_CLS_RT=-bootclasspath \ $(ICEDTEA_CLS_DIR_ECJ):$(ICEDTEA_RT)" \ "BOOTCLASSPATH_CLS=-bootclasspath $(ICEDTEA_CLS_DIR_ECJ)" \ "BOOTCLASSPATH_RT_LIBGCJ=-bootclasspath $(ICEDTEA_RT):$(LIBGCJ_JAR)" \ "CLASSPATH=" \ "LD_LIBRARY_PATH=" \ "GENSRCDIR=$(abs_top_srcdir)/generated" \ "ICEDTEA_CORE_BUILD=$(ICEDTEA_CORE_BUILD)" \ "ICEDTEA_ZERO_BUILD=$(ICEDTEA_ZERO_BUILD)" \ "ZERO_LIBARCH=$(ZERO_LIBARCH)" \ "ZERO_BITSPERWORD=$(ZERO_BITSPERWORD)" \ "ZERO_ENDIANNESS=$(ZERO_ENDIANNESS)" \ "ZERO_ARCHDEF=$(ZERO_ARCHDEF)" \ "ZERO_ARCHFLAG=$(ZERO_ARCHFLAG)" \ "LIBFFI_CFLAGS=$(LIBFFI_CFLAGS)" \ "LIBFFI_LIBS=$(LIBFFI_LIBS)" \ "FREETYPE2_HEADERS=$(FREETYPE2_CFLAGS)" \ "FT2_LIB=$(FREETYPE2_LIBS)" \ "ALT_PARALLEL_COMPILE_JOBS=$(PARALLEL_JOBS)" \ "HOTSPOT_BUILD_JOBS=$(PARALLEL_JOBS)" if WITH_CACAO ICEDTEA_ENV_ECJ += \ "ALT_HOTSPOT_IMPORT_PATH=$(CACAO)" endif if !ENABLE_OPTIMIZATIONS ICEDTEA_ENV_ECJ += \ "NO_OPTIMIZATIONS=true" \ "CC_NO_OPT=-O0 -g" endif if !ENABLE_DOCS ICEDTEA_ENV_ECJ += \ "NO_DOCS=true" endif env-ecj: @echo 'unset JAVA_HOME' @echo 'export $(ICEDTEA_ENV_ECJ)' # Mercurial snapshot. snapshot: dist mv $(DIST_ARCHIVES) $(distdir)-`hg tip --template '{node}'`.tar.gz # OpenJDK Source Preparation Targets # ================================== # Download OpenJDK sources. OPENJDK_URL = http://download.java.net/openjdk/jdk6/promoted/$(OPENJDK_VERSION)/ if USE_ALT_OPENJDK_SRC_ZIP OPENJDK_SRC_ZIP = $(ALT_OPENJDK_SRC_ZIP) else OPENJDK_SRC_ZIP = openjdk-6-src-$(OPENJDK_VERSION)-$(OPENJDK_DATE).tar.gz endif stamps/download.stamp: if USE_ALT_OPENJDK_SRC_ZIP else if ! echo "$(OPENJDK_MD5SUM) $(OPENJDK_SRC_ZIP)" \ | $(MD5SUM) --check ; \ then \ if [ $(OPENJDK_SRC_ZIP) ] ; \ then \ mv $(OPENJDK_SRC_ZIP) $(OPENJDK_SRC_ZIP).old ; \ fi ; \ $(WGET) $(OPENJDK_URL)$(OPENJDK_SRC_ZIP) -O $(OPENJDK_SRC_ZIP); \ fi endif mkdir -p stamps touch stamps/download.stamp clean-download: rm -f stamps/download.stamp rm -f $(OPENJDK_SRC_ZIP) # Link ports sources into tree stamps/ports.stamp: stamps/extract.stamp for target in ports/hotspot/build/*/makefiles/* \ ports/hotspot/src/*/*; do \ link=$$(dirname $$target | sed 's/^ports/openjdk/'); \ ln -sf $$PWD/$$target $$link; \ done ln -sf $$PWD/platform_zero openjdk/hotspot/build/linux if ! test "x$(ICEDTEA_CORE_BUILD)$(CACAO)" = "xno"; then \ mkdir -p openjdk/jdk/src/solaris/bin/$(BUILD_ARCH_DIR); \ ln -sf $$PWD/jvm.cfg openjdk/jdk/src/solaris/bin/$(BUILD_ARCH_DIR)/jvm.cfg; \ fi if ! test "x$(ICEDTEA_ZERO_BUILD)$(CACAO)" = "xno"; then \ ln -sf $$PWD/ergo.c openjdk/jdk/src/solaris/bin/ergo_$(BUILD_ARCH_DIR).c; \ fi mkdir -p stamps touch stamps/ports.stamp # If new gcc is installed, apply 4.3 patch if GCC_OLD GCC_PATCH = else GCC_PATCH = patches/icedtea-gcc-4.3.patch endif # If ZERO_BUILD is set then we are building zero and need # to patch up to OpenJDK 7 HotSpot for the C++ interpreter. ZERO_PATCHES = \ patches/icedtea-hotspot-6b06-7b24.patch \ patches/icedtea-hotspot7-build-fixes.patch \ patches/icedtea-bytecodeInterpreter.patch \ patches/icedtea-bytecodeInterpreterWithChecks.patch \ patches/icedtea-signature-iterator.patch \ patches/icedtea-signed-types.patch \ patches/icedtea-test-atomic-operations.patch \ patches/icedtea-zero.patch \ patches/icedtea-ia64-bugfix.patch if ZERO_BUILD ZERO_PATCHES_COND = $(ZERO_PATCHES) else ZERO_PATCHES_COND = endif ICEDTEA_PATCHES = \ $(ZERO_PATCHES_COND) \ patches/icedtea-copy-plugs.patch \ patches/icedtea-version.patch \ patches/icedtea-text-relocations.patch \ patches/icedtea-graphics.patch \ patches/icedtea-debuginfo.patch \ patches/icedtea-ssl.patch \ patches/icedtea-license-headers.patch \ patches/icedtea-webservices.patch \ $(NETX_PATCH) \ patches/icedtea-rmi_amd64.patch \ patches/icedtea-tools.patch \ patches/icedtea-certbundle.patch \ patches/icedtea-demos.patch \ patches/icedtea-use-system-tzdata.patch \ patches/icedtea-headers.patch \ patches/icedtea-ant.patch \ patches/icedtea-gcc-suffix.patch \ patches/icedtea-bytebuffer-compact.patch \ patches/icedtea-float-double-trailing-zeros.patch \ patches/icedtea-gtkplaf.patch \ patches/icedtea-memory-limits.patch \ patches/icedtea-sunsrc.patch \ patches/icedtea-libraries.patch \ patches/icedtea-javafiles.patch \ patches/icedtea-corba.patch \ patches/icedtea-core-build.patch \ patches/icedtea-linker-options.patch \ patches/icedtea-static-libstdc++.patch \ patches/icedtea-lcms-leak.patch \ patches/icedtea-timerqueue.patch \ patches/icedtea-generated.patch \ patches/icedtea-lib64.patch \ patches/icedtea-zero-build.patch \ patches/icedtea-print-lsb-release.patch \ patches/icedtea-jpegclasses.patch \ patches/icedtea-xinerama.patch \ patches/icedtea-arm-uname.patch \ patches/icedtea-ia64-fdlibm.patch \ patches/icedtea-LCMS-setTagData.patch \ patches/icedtea-color-createcontext.patch \ patches/icedtea-color-profiles.patch \ patches/icedtea-fonts.patch \ patches/icedtea-gervill.patch \ patches/icedtea-directaudio-close-trick.patch \ patches/icedtea-hat-spl-gpl.patch \ $(GCC_PATCH) \ $(DISTRIBUTION_PATCHES) if WITH_CACAO ICEDTEA_PATCHES += \ patches/icedtea-cacao.patch endif stamps/extract.stamp: stamps/download.stamp if ! test -d openjdk ; \ then \ mkdir openjdk ; \ $(TAR) xzf $(OPENJDK_SRC_ZIP) -C openjdk; \ chmod -R ug+w openjdk ; \ fi mkdir -p stamps touch stamps/extract.stamp clean-extract: rm -f stamps/extract.stamp stamps/patch.stamp: stamps/extract.stamp all_patches_ok=yes; \ for p in $(ICEDTEA_PATCHES) ; \ do \ if test x$${all_patches_ok} == "xyes" \ && echo Checking $$p \ && $(PATCH) -l -p0 --dry-run -s -t -f -F 0 < $$p ; \ then \ echo Applying $$p ; \ $(PATCH) -l -p0 < $$p ; \ else \ test x$${all_patches_ok} == "xyes" && all_patches_ok=$$p ; \ fi ; \ done ; \ mkdir -p stamps ; \ touch stamps/patch.stamp ; \ if ! test x$${all_patches_ok} == "xyes"; then \ echo ERROR patch $${all_patches_ok} FAILED! ; \ echo WARNING make clean-patch before retrying a fix ; \ false; \ fi clean-patch: rm -f stamps/patch.stamp all_patches_ok=yes; \ for p in $(ICEDTEA_PATCHES) ; \ do \ echo Checking $$p ; \ if $(PATCH) -l -p0 -R --dry-run -s -t -f < $$p ; \ then \ echo Reverting $$p ; \ $(PATCH) -l -p0 -R < $$p ; \ else \ all_patches_ok=no ; \ fi ; \ done ; \ if ! test x$${all_patches_ok} == "xyes" ; then \ echo "WARNING Not all patches reverted cleanly" ; \ fi stamps/overlay.stamp: stamps/patch.stamp cp -r overlays/openjdk/* openjdk/ && touch stamps/overlay.stamp # OpenJDK ecj Source Preparation Targets # ====================================== # Copy over OpenJDK sources for ecj. stamps/extract-ecj.stamp: stamps/patch.stamp stamps/overlay.stamp if ! test -d openjdk-ecj ; then \ cp -pPRl openjdk openjdk-ecj ; \ fi mkdir -p stamps touch stamps/extract-ecj.stamp clean-extract-ecj: rm -f stamps/extract-ecj.stamp rm -rf openjdk-ecj # Link ports sources into tree stamps/ports-ecj.stamp: stamps/extract-ecj.stamp for target in ports/hotspot/build/*/makefiles/* \ ports/hotspot/src/*/*; do \ link=$$(dirname $$target | sed 's/^ports/openjdk-ecj/'); \ ln -sf $$PWD/$$target $$link; \ done ln -sf $$PWD/platform_zero openjdk-ecj/hotspot/build/linux if ! test "x$(ICEDTEA_CORE_BUILD)$(CACAO)" = "xno"; then \ mkdir -p openjdk-ecj/jdk/src/solaris/bin/$(BUILD_ARCH_DIR); \ ln -sf $$PWD/jvm.cfg openjdk-ecj/jdk/src/solaris/bin/$(BUILD_ARCH_DIR)/jvm.cfg; \ fi if ! test "x$(ICEDTEA_ZERO_BUILD)$(CACAO)" = "xno"; then \ ln -sf $$PWD/ergo.c openjdk-ecj/jdk/src/solaris/bin/ergo_$(BUILD_ARCH_DIR).c; \ fi mkdir -p stamps touch stamps/ports-ecj.stamp # Patch OpenJDK for plug replacements and ecj. ICEDTEA_ECJ_PATCH = patches/icedtea-ecj.patch stamps/patch-ecj.stamp: stamps/extract-ecj.stamp echo Checking $(ICEDTEA_ECJ_PATCH) ; \ if $(PATCH) -p0 -l --dry-run -s -t -f < $(ICEDTEA_ECJ_PATCH) ; \ then \ echo Applying $(ICEDTEA_ECJ_PATCH) ; \ $(PATCH) -p0 -l < $(ICEDTEA_ECJ_PATCH) ; \ mkdir -p stamps; \ touch stamps/patch-ecj.stamp; \ else \ false; \ fi clean-patch-ecj: rm -f stamps/patch-ecj.stamp echo Checking $(ICEDTEA_ECJ_PATCH) ; \ if $(PATCH) -l -p0 -R --dry-run -s -t -f < $(ICEDTEA_ECJ_PATCH) ; \ then \ echo Reverting $(ICEDTEA_ECJ_PATCH) ; \ $(PATCH) -p0 -l -R < $(ICEDTEA_ECJ_PATCH) ; \ else \ false; \ fi # Bootstrap Directory Targets # =========================== # bootstrap/icedtea. stamps/bootstrap-directory.stamp: stamps/icedtea-against-ecj.stamp rm -rf bootstrap/icedtea ln -s $(abs_top_srcdir)/openjdk-ecj/control/build/$(LINUX_DIR)/j2sdk-image/ bootstrap/icedtea if ! test -d bootstrap/icedtea/include; then \ ln -sf $(ICEDTEA_BUILD_DIR_ECJ)/include bootstrap/icedtea/include; \ fi mkdir -p stamps touch stamps/bootstrap-directory.stamp clean-bootstrap-directory: rm -f stamps/bootstrap-directory.stamp rm -rf bootstrap/icedtea if WITH_OPENJDK BOOTSTRAP_DIRECTORY_STAMP = ICEDTEA_HOME = $(SYSTEM_OPENJDK_DIR) else if WITH_ICEDTEA BOOTSTRAP_DIRECTORY_STAMP = ICEDTEA_HOME = $(SYSTEM_ICEDTEA_DIR) else BOOTSTRAP_DIRECTORY_STAMP = stamps/bootstrap-directory.stamp ICEDTEA_HOME = icedtea endif endif # bootstrap/jdk1.6.0 to bootstrap/icedtea symlink. stamps/bootstrap-directory-symlink.stamp: $(BOOTSTRAP_DIRECTORY_STAMP) mkdir -p bootstrap rm -f bootstrap/jdk1.6.0 ln -sf $(ICEDTEA_HOME) bootstrap/jdk1.6.0; \ if ! bootstrap/jdk1.6.0/bin/java -version ; \ then \ echo "bootstrap/jdk1.6.0/bin/java" \ "cannot be found or is corrupted." ; \ exit 1; \ fi mkdir -p stamps touch stamps/bootstrap-directory-symlink.stamp clean-bootstrap-directory-symlink: rm -f stamps/bootstrap-directory-symlink.stamp rm -f bootstrap/jdk1.6.0 # Bootstrap ecj Directory Targets # =============================== # bootstrap/ecj. stamps/bootstrap-directory-ecj.stamp: mkdir -p bootstrap/ecj/bin stamps/ ln -sf $(JAVA) bootstrap/ecj/bin/java ln -sf $(JAVAH) bootstrap/ecj/bin/javah ln -sf $(RMIC) bootstrap/ecj/bin/rmic ln -sf $(JAR) bootstrap/ecj/bin/jar ln -sf ../../../javac bootstrap/ecj/bin/javac ln -sf ../../../javap bootstrap/ecj/bin/javap mkdir -p bootstrap/ecj/lib/endorsed ln -sf $(XALAN2_JAR) bootstrap/ecj/lib/endorsed/xalan-j2.jar ln -sf $(XALAN2_SERIALIZER_JAR) \ bootstrap/ecj/lib/endorsed/xalan-j2-serializer.jar ln -sf $(XERCES2_JAR) bootstrap/ecj/lib/endorsed/xerces-j2.jar if test -d $(SYSTEM_GCJ_DIR); \ then \ mkdir -p bootstrap/ecj/jre/lib; \ ln -sf $(SYSTEM_GCJ_DIR)/jre/lib/$(INSTALL_ARCH_DIR) \ bootstrap/ecj/jre/lib/; \ mkdir -p bootstrap/ecj/include; \ for i in $(SYSTEM_GCJ_DIR)/include/*; do \ test -r $$i | continue; \ i=`basename $$i`; \ rm -f bootstrap/ecj/include/$$i; \ ln -s $(SYSTEM_GCJ_DIR)/include/$$i bootstrap/ecj/include/$$i; \ done; \ else \ echo $(SYSTEM_GCJ_DIR) " cannot be found. Try reconfiguring with " \ --with-gcj-home=/path/to/java-gcj-devel ; \ exit 1; \ fi if test -f bootstrap/jdk1.7.0/jre/lib/tools.jar ; \ then \ mkdir -p bootstrap/ecj/lib ; \ ln -sf $(abs_top_srcdir)/bootstrap/jdk1.7.0/jre/lib/tools.jar \ $(abs_top_srcdir)/bootstrap/ecj/lib/tools.jar; \ fi if test -f bootstrap/jdk1.7.0/jre/lib/rt-closed.jar ; \ then \ cp bootstrap/jdk1.7.0/jre/lib/rt-closed.jar \ bootstrap/ecj/jre/lib/rt.jar; \ fi mkdir -p stamps touch stamps/bootstrap-directory-ecj.stamp clean-bootstrap-directory-ecj: rm -f stamps/bootstrap-directory-ecj.stamp rm -rf bootstrap/ecj # bootstrap/jdk1.6.0 to bootstrap/ecj symlink. stamps/bootstrap-directory-symlink-ecj.stamp: \ stamps/bootstrap-directory-ecj.stamp rm -f bootstrap/jdk1.6.0 ln -sf ecj bootstrap/jdk1.6.0 mkdir -p stamps touch stamps/bootstrap-directory-symlink-ecj.stamp clean-bootstrap-directory-symlink-ecj: rm -f stamps/bootstrap-directory-symlink-ecj.stamp rm -f bootstrap/jdk1.6.0 # OpenJDK Targets # =============== if WITH_ICEDTEA if WITH_CACAO MEMORY_LIMIT = -J-Xmx1024m else MEMORY_LIMIT = -J-Xmx512m endif else MEMORY_LIMIT = endif if WITH_CACAO ICEDTEA_BUILD_TARGET=j2se_only ICEDTEA_DEBUG_BUILD_TARGET=j2se_fastdebug_only else ICEDTEA_BUILD_TARGET= ICEDTEA_DEBUG_BUILD_TARGET=debug_build endif # If you change anything here in the icedtea target, please make sure # you change it in the icedtea-debug target as well. icedtea: stamps/bootstrap-directory-symlink.stamp \ stamps/hotspot-tools.stamp stamps/plugs.stamp \ stamps/ports.stamp stamps/patch.stamp stamps/overlay.stamp \ gcjwebplugin.so extra-lib/about.jar $(MAKE) \ $(ICEDTEA_ENV) \ -C openjdk/control/make/ \ $(ICEDTEA_BUILD_TARGET) if test "$(ENABLE_PLUGIN)" == "yes" ; \ then \ cp -pPRf gcjwebplugin.so \ $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR) ; \ cp -pPRf gcjwebplugin.so \ $(BUILD_OUTPUT_DIR)/j2re-image/lib/$(INSTALL_ARCH_DIR) ; \ fi cp rt/net/sourceforge/jnlp/resources/about.jnlp \ extra-lib/about.jar \ $(BUILD_OUTPUT_DIR)/j2re-image/lib cp rt/net/sourceforge/jnlp/resources/about.jnlp \ extra-lib/about.jar \ $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib @echo "IcedTea is served:" $(BUILD_OUTPUT_DIR) icedtea-debug: stamps/bootstrap-directory-symlink.stamp \ stamps/hotspot-tools.stamp stamps/plugs.stamp \ stamps/ports.stamp stamps/patch.stamp stamps/overlay.stamp \ gcjwebplugin.so extra-lib/about.jar $(MAKE) \ $(ICEDTEA_ENV) \ -C openjdk/control/make \ $(ICEDTEA_DEBUG_BUILD_TARGET) if test "$(ENABLE_PLUGIN)" == "yes" ; \ then \ cp -pPRf gcjwebplugin.so \ $(BUILD_OUTPUT_DIR)-debug/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR) ; \ cp -pPRf gcjwebplugin.so \ $(BUILD_OUTPUT_DIR)-debug/j2re-image/lib/$(INSTALL_ARCH_DIR) ; \ fi cp rt/net/sourceforge/jnlp/resources/default.jnlp \ extra-lib/about.jar \ $(BUILD_OUTPUT_DIR)-debug/j2re-image/lib cp rt/net/sourceforge/jnlp/resources/default.jnlp \ extra-lib/about.jar \ $(BUILD_OUTPUT_DIR)-debug/j2sdk-image/jre/lib @echo "IcedTea (debug build) is served:" \ $(BUILD_OUTPUT_DIR)-debug clean-icedtea: stamps/extract.stamp $(MAKE) \ $(ICEDTEA_ENV) \ -C openjdk/control/make clobber icedtea-against-icedtea: \ stamps/bootstrap-directory-symlink.stamp \ icedtea # OpenJDK ecj Targets # =================== stamps/icedtea-ecj.stamp: stamps/hotspot-tools.stamp stamps/plugs.stamp \ stamps/ports-ecj.stamp stamps/patch-ecj.stamp $(MAKE) \ $(ICEDTEA_ENV_ECJ) \ -C openjdk-ecj/control/make \ $(ICEDTEA_BUILD_TARGET) @echo "ecj-poured IcedTea is served:" \ openjdk-ecj/control/build/$(LINUX_DIR) mkdir -p stamps touch stamps/icedtea-ecj.stamp hotspot: rm -f stamps/bootstrap-directory-symlink-ecj.stamp rm -f stamps/icedtea-ecj.stamp rm -f stamps/icedtea-against-ecj.stamp $(MAKE) hotspot-helper cp openjdk-ecj/control/build/$(LINUX_DIR)/hotspot/import/jre/lib/$(BUILD_ARCH_DIR)/core/libjvm.so \ openjdk-ecj/control/build/$(LINUX_DIR)/j2sdk-image/jre/lib/$(BUILD_ARCH_DIR)/core @echo "Hotspot is served:" openjdk-ecj/control/build/$(LINUX_DIR)/j2sdk-image hotspot-helper: stamps/bootstrap-directory-symlink-ecj.stamp \ stamps/hotspot-tools.stamp stamps/plugs.stamp \ stamps/ports-ecj.stamp stamps/patch-ecj.stamp $(MAKE) \ $(ICEDTEA_ENV_ECJ) \ -C openjdk-ecj/control/make hotspot clean-icedtea-ecj: stamps/extract-ecj.stamp rm -f stamps/icedtea-ecj.stamp $(MAKE) \ $(ICEDTEA_ENV_ECJ) \ -C openjdk-ecj/control/make clobber stamps/icedtea-against-ecj.stamp: \ stamps/bootstrap-directory-symlink-ecj.stamp \ stamps/icedtea-ecj.stamp mkdir -p stamps touch stamps/icedtea-against-ecj.stamp # Binary Plugs and Tools Targets # ============================== stamps/plugs.stamp: $(SHARED_OBJECT_FILES) \ bootstrap/jdk1.7.0/jre/lib/rt-closed.jar mkdir -p stamps touch stamps/plugs.stamp stamps/hotspot-tools.stamp: bootstrap/jdk1.7.0/jre/lib/tools.jar mkdir -p stamps touch stamps/hotspot-tools.stamp clean-plugs: clean-plugs clean-shared-objects \ clean-copy clean-rt rm -f stamps/plugs.stamp rm -f bootstrap/jdk1.7.0/jre/lib/rt-closed.jar clean-tools-jar: clean-hotspot-tools rm -f stamps/hotspot-tools.stamp rm -rf tools/ rm -f bootstrap/jdk1.7.0/jre/lib/tools.jar # Shared objects. SHARED_OBJECT_FILES = \ bootstrap/jdk1.7.0/jre/lib/$(INSTALL_ARCH_DIR)/libdcpr.so \ bootstrap/jdk1.7.0/jre/lib/$(INSTALL_ARCH_DIR)/libjsoundhs.so $(SHARED_OBJECT_FILES): mkdir -p bootstrap/jdk1.7.0/jre/lib/$(INSTALL_ARCH_DIR) for shared_object in $(SHARED_OBJECT_FILES) ; \ do \ echo | $(CC) $(CFLAGS) -fpic -shared \ -o $$shared_object \ -Wl,-soname,$$shared_object -xc - ; \ done clean-shared-objects: rm -f $(SHARED_OBJECT_FILES) # Sources copied from OpenJDK. ICEDTEA_COPY_DIRS = \ com/sun/jdi \ com/sun/jdi/connect \ com/sun/jdi/connect/spi \ com/sun/jdi/event \ com/sun/jdi/request \ com/sun/jmx/snmp/agent \ com/sun/tools/jdi \ java/io \ java/util \ java/rmi \ sun/awt/ \ javax/net/ssl stamps/copy-source-files.stamp: stamps/patch.stamp for copy_dir in $(ICEDTEA_COPY_DIRS) ; \ do \ mkdir -p rt/$$copy_dir ; \ cp -pPRf openjdk/jdk/src/share/classes/$$copy_dir/*.java \ rt/$$copy_dir ; \ done mkdir -p stamps touch stamps/copy-source-files.stamp clean-copy: rm -f stamps/copy-source-files.stamp for copy_dir in $(ICEDTEA_COPY_DIRS) ; \ do \ rm -rf rt/$$copy_dir ; \ done SHARE = openjdk/jdk/src/share/classes SOLARIS = openjdk/jdk/src/solaris/classes LANGTOOLS = openjdk/langtools/src/share/classes JAXP = openjdk/jaxp/src/share/classes CORBA = openjdk/corba/src/share/classes JAXWS = openjdk/jaxws/src/share/classes OPENJDK_SOURCEPATH_DIRS = \ $(SHARE):$(SOLARIS):$(LANGTOOLS):$(JAXP):$(CORBA):$(JAXWS) # tools.jar class files. stamps/hotspot-tools-copy-source-files.stamp: stamps/patch.stamp stamps/overlay.stamp for copy_dir in `cat tools-copy/tools-jdk-copy-files.txt` ; \ do \ mkdir -p hotspot-tools/$$copy_dir ; \ cp -pPRf openjdk/jdk/src/share/classes/$$copy_dir/* \ hotspot-tools/$$copy_dir ; \ done for copy_dir in `cat tools-copy/tools-langtools-copy-files.txt` ; \ do \ mkdir -p hotspot-tools/$$copy_dir ; \ cp -pPRf openjdk/langtools/src/share/classes/$$copy_dir/* \ hotspot-tools/$$copy_dir ; \ done for copy_dir in `cat tools-copy/tools-corba-copy-files.txt` ; \ do \ mkdir -p hotspot-tools/$$copy_dir ; \ cp -pPRf openjdk/corba/src/share/classes/$$copy_dir/* \ hotspot-tools/$$copy_dir ; \ done for copy_dir in `cat tools-copy/tools-jaxws-copy-files.txt` ; \ do \ mkdir -p hotspot-tools/$$copy_dir ; \ cp -pPRf openjdk/jaxws/src/share/classes/$$copy_dir/* \ hotspot-tools/$$copy_dir ; \ done mkdir -p stamps touch stamps/hotspot-tools-copy-source-files.stamp hotspot-tools-source-files.txt: stamps/extract.stamp \ stamps/hotspot-tools-copy-source-files.stamp find hotspot-tools -name '*.java' | sort > $@ mkdir -p lib/hotspot-tools stamps/hotspot-tools-class-files.stamp: hotspot-tools-source-files.txt if ! test -f stamps/icedtea-ecj.stamp ; \ then \ $(JAVAC) $(MEMORY_LIMIT) -g -d lib/hotspot-tools -bootclasspath '' -source 1.6 \ -sourcepath 'rt:hotspot-tools:$(OPENJDK_SOURCEPATH_DIRS):generated' \ @$< ; \ else \ $(ICEDTEA_BOOT_DIR)/bin/javac $(MEMORY_LIMIT) -g -d lib/hotspot-tools \ -bootclasspath '' -source 1.6 \ -sourcepath 'rt:hotspot-tools:$(OPENJDK_SOURCEPATH_DIRS):generated' \ @$< ; \ fi mkdir -p stamps touch stamps/hotspot-tools-class-files.stamp clean-hotspot-tools: rm -rf lib/hotspot-tools rm -f stamps/hotspot-tools-class-files.stamp rm -f hotspot-tools-source-files.txt rm -f stamps/hotspot-tools-copy-source-files.stamp # tools.jar bootstrap/jdk1.7.0/jre/lib/tools.jar: stamps/hotspot-tools-class-files.stamp mkdir -p bootstrap/jdk1.7.0/jre/lib/ if ! test -f stamps/icedtea-ecj.stamp ; \ then \ $(JAR) cf $@ -C lib/hotspot-tools com -C lib/hotspot-tools sun \ -C lib/hotspot-tools org -C lib/hotspot-tools java \ -C lib/hotspot-tools javax ; \ else \ $(ICEDTEA_BOOT_DIR)/bin/jar cf $@ -C lib/hotspot-tools com -C lib/hotspot-tools sun \ -C lib/hotspot-tools org -C lib/hotspot-tools java \ -C lib/hotspot-tools javax ; \ fi if test -d bootstrap/ecj ; \ then \ mkdir -p bootstrap/ecj/lib/; \ ln -sf $(abs_top_srcdir)/bootstrap/jdk1.7.0/jre/lib/tools.jar \ $(abs_top_srcdir)/bootstrap/ecj/lib/tools.jar; \ fi # rt-closed.jar class files. rt-source-files.txt: stamps/extract.stamp stamps/copy-source-files.stamp find rt -name '*.java' | sort > $@ stamps/rt-class-files.stamp: rt-source-files.txt mkdir -p lib/rt if ! test -f stamps/icedtea-ecj.stamp ; \ then \ $(JAVAC) $(MEMORY_LIMIT) -g -d lib/rt -bootclasspath '' -source 1.6 \ -sourcepath rt:$(OPENJDK_SOURCEPATH_DIRS):generated \ @$< ; \ else \ $(ICEDTEA_BOOT_DIR)/bin/javac $(MEMORY_LIMIT) -g -d lib/rt \ -bootclasspath '' -source 1.6 \ -sourcepath rt:$(OPENJDK_SOURCEPATH_DIRS):generated \ @$< ; \ fi cp -r rt/net/sourceforge/jnlp/resources \ lib/rt/net/sourceforge/jnlp/ mkdir -p stamps touch stamps/rt-class-files.stamp clean-rt: rm -rf lib/rt rm -f stamps/rt-class-files.stamp rm -f rt-source-files.txt # rt-closed.jar. bootstrap/jdk1.7.0/jre/lib/rt-closed.jar: stamps/rt-class-files.stamp mkdir -p bootstrap/jdk1.7.0/jre/lib if ! test -f stamps/icedtea-ecj.stamp ; \ then \ $(JAR) cf $@ -C lib/rt com -C lib/rt java \ -C lib/rt javax -C lib/rt sun -C lib/rt net; \ else \ $(ICEDTEA_BOOT_DIR)/bin/jar cf $@ -C lib/rt com -C lib/rt java \ -C lib/rt javax -C lib/rt net -C lib/rt sun; \ fi if test -d bootstrap/ecj/jre/lib ; \ then \ cp bootstrap/jdk1.7.0/jre/lib/rt-closed.jar bootstrap/ecj/jre/lib/rt.jar; \ fi # extras -- used to create about.jar for javaws. extra-source-files.txt: find extra -name '*.java' | sort > $@ stamps/extra-class-files.stamp: extra-source-files.txt \ bootstrap/jdk1.7.0/jre/lib/rt-closed.jar mkdir -p extra-lib if ! test -f stamps/icedtea-ecj.stamp ; \ then \ $(JAVAC) $(MEMORY_LIMIT) -g -d extra-lib -bootclasspath '' -source 1.6 \ -sourcepath extra -cp bootstrap/jdk1.7.0/jre/lib/rt-closed.jar \ @extra-source-files.txt ; \ else \ $(ICEDTEA_BOOT_DIR)/bin/javac $(MEMORY_LIMIT) -g -d extra-lib \ -bootclasspath '' -source 1.6 \ -sourcepath extra -cp bootstrap/jdk1.7.0/jre/lib/rt-closed.jar \ @extra-source-files.txt ; \ fi cp -r extra/net/sourceforge/jnlp/about/resources \ extra-lib/net/sourceforge/jnlp/about mkdir -p stamps touch $@ clean-extra: rm -rf extra-lib rm -f stamps/extra-class-files.stamp rm -f extra-source-files.txt extra-lib/about.jar: stamps/extra-class-files.stamp if ! test -f stamps/icedtea-ecj.stamp ; \ then \ $(JAR) cf $@ -C extra-lib net ; \ else \ $(ICEDTEA_BOOT_DIR)/bin/jar cf $@ -C extra-lib net ; \ fi # gcjwebplugin.so. gcjwebplugin.so: gcjwebplugin.cc if test "$(ENABLE_PLUGIN)" == "yes" ; \ then \ $(CXX) $(CXXFLAGS) $(MOZILLA_CFLAGS) \ $(MOZILLA_LIBS) $(GLIB_CFLAGS) $(GLIB_LIBS) \ $(GTK_CFLAGS) $(GTK_LIBS) \ -DPACKAGE_VERSION="\"$(PACKAGE_VERSION)\"" \ -fpic -shared -o $@ $< ; \ fi clean-gcjwebplugin: rm -f gcjwebplugin.so # Target Aliases # =============== bootstrap-directory-ecj: stamps/bootstrap-directory-ecj.stamp bootstrap-directory: stamps/bootstrap-directory.stamp bootstrap-directory-symlink-ecj: stamps/bootstrap-directory-symlink-ecj.stamp bootstrap-directory-symlink: stamps/bootstrap-directory-symlink.stamp copy-source-files: stamps/copy-source-files.stamp download: stamps/download.stamp extract: stamps/extract.stamp extract-ecj: stamps/extract-ecj.stamp icedtea-against-ecj: stamps/icedtea-against-ecj.stamp icedtea-ecj: stamps/icedtea-ecj.stamp patch-ecj: stamps/patch-ecj.stamp patch: stamps/patch.stamp overlay: stamps/overlay.stamp plugs: stamps/plugs.stamp rt-class-files: stamps/rt-class-files.stamp hotspot-tools-class-files: stamps/hotspot-tools-class-files.stamp hotspot-tools-copy-source-files: stamps/hotspot-tools-copy-source-files.stamp hotspot-tools: stamps/hotspot-tools.stamp ports: stamps/ports.stamp ports-ecj: stamps/ports-ecj.stamp clean: distclean-local