summaryrefslogtreecommitdiffstats
path: root/rules/kaffe.make
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2006-10-09 11:55:30 +0000
committerSascha Hauer <s.hauer@pengutronix.de>2006-10-09 11:55:30 +0000
commit5a064ed764f06ab7f8eafbdac67f8f730aa93203 (patch)
tree75a1c7ba1a19cd9f11ba1e5bd435cf0138bd3459 /rules/kaffe.make
parent66d585b232745d69894c7080ebf465cf4f385906 (diff)
downloadptxdist-5a064ed764f06ab7f8eafbdac67f8f730aa93203.tar.gz
ptxdist-5a064ed764f06ab7f8eafbdac67f8f730aa93203.tar.xz
add kaffe
git-svn-id: https://svn.pengutronix.de/svn/ptxdist/trunks/ptxdist-trunk@6137 33e552b5-05e3-0310-8538-816dae2090ed
Diffstat (limited to 'rules/kaffe.make')
-rw-r--r--rules/kaffe.make205
1 files changed, 205 insertions, 0 deletions
diff --git a/rules/kaffe.make b/rules/kaffe.make
new file mode 100644
index 000000000..5a48fbb0e
--- /dev/null
+++ b/rules/kaffe.make
@@ -0,0 +1,205 @@
+# -*-makefile-*-
+# $Id: template 5709 2006-06-09 13:55:00Z mkl $
+#
+# Copyright (C) 2006 by Sascha Hauer
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_KAFFE) += kaffe
+
+#
+# Paths and names
+#
+KAFFE_VERSION := 1.1.7
+KAFFE := kaffe-$(KAFFE_VERSION)
+KAFFE_SUFFIX := tar.bz2
+KAFFE_URL := ftp://ftp.kaffe.org/pub/kaffe/v1.1.x-development/$(KAFFE).$(KAFFE_SUFFIX)
+KAFFE_SOURCE := $(SRCDIR)/$(KAFFE).$(KAFFE_SUFFIX)
+KAFFE_DIR := $(BUILDDIR)/$(KAFFE)
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+kaffe_get: $(STATEDIR)/kaffe.get
+
+$(STATEDIR)/kaffe.get: $(kaffe_get_deps_default)
+ @$(call targetinfo, $@)
+ @$(call touch, $@)
+
+$(KAFFE_SOURCE):
+ @$(call targetinfo, $@)
+ @$(call get, KAFFE)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+kaffe_extract: $(STATEDIR)/kaffe.extract
+
+$(STATEDIR)/kaffe.extract: $(kaffe_extract_deps_default)
+ @$(call targetinfo, $@)
+ @$(call clean, $(KAFFE_DIR))
+ @$(call extract, KAFFE)
+ @$(call patchin, KAFFE)
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+kaffe_prepare: $(STATEDIR)/kaffe.prepare
+
+KAFFE_PATH := PATH=$(CROSS_PATH)
+KAFFE_ENV := $(CROSS_ENV)
+
+#
+# autoconf
+#
+KAFFE_AUTOCONF := $(CROSS_AUTOCONF_USR) \
+ --disable-nls \
+ --disable-dssi \
+ --disable-gtk-peer \
+ --disable-native-awt \
+ --disable-xawt-xi18n \
+ --disable-esd \
+ --disable-alsa \
+ --without-esd \
+ --without-alsa \
+ --disable-sound
+
+ifdef PTXCONF_KAFFE_JAVAC_ECJ
+KAFFE_AUTOCONF += --with-ecj
+endif
+
+ifdef PTXCONF_KAFFE_JAVAC_JIKES
+KAFFE_AUTOCONF += --with-jikes
+endif
+
+ifdef PTXCONF_KAFFE_ENGINE_INTERPRETER
+KAFFE_AUTOCONF += --with-engine=intrp
+endif
+
+ifdef PTXCONF_KAFFE_ENGINE_JIT
+KAFFE_AUTOCONF += --with-engine=jit
+endif
+
+ifdef PTXCONF_KAFFE_ENGINE_JIT3
+KAFFE_AUTOCONF += --with-engine=jit3
+endif
+
+ifdef PTXCONF_KAFFE_STATIC
+KAFFE_AUTOCONF += --with-staticlib \
+ --with-staticbin \
+ --with-staticvm
+endif
+
+ifdef PTXCONF_KAFFE_DEBUG
+ KAFFE_AUTOCONF += --enable-debug
+ KAFFE_ENV += CFLAGS=-O0
+endif
+
+$(STATEDIR)/kaffe.prepare: $(kaffe_prepare_deps_default)
+ @$(call targetinfo, $@)
+ @$(call clean, $(KAFFE_DIR)/config.cache)
+ cd $(KAFFE_DIR) && \
+ $(KAFFE_PATH) $(KAFFE_ENV) \
+ ./configure $(KAFFE_AUTOCONF)
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+kaffe_compile: $(STATEDIR)/kaffe.compile
+
+$(STATEDIR)/kaffe.compile: $(kaffe_compile_deps_default)
+ @$(call targetinfo, $@)
+ cd $(KAFFE_DIR) && $(KAFFE_PATH) make
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+kaffe_install: $(STATEDIR)/kaffe.install
+
+$(STATEDIR)/kaffe.install: $(kaffe_install_deps_default)
+ @$(call targetinfo, $@)
+ @$(call install, KAFFE)
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+kaffe_targetinstall: $(STATEDIR)/kaffe.targetinstall
+
+$(STATEDIR)/kaffe.targetinstall: $(kaffe_targetinstall_deps_default)
+ @$(call targetinfo, $@)
+
+ @$(call install_init, kaffe)
+ @$(call install_fixup,kaffe,PACKAGE,kaffe)
+ @$(call install_fixup,kaffe,PRIORITY,optional)
+ @$(call install_fixup,kaffe,VERSION,$(KAFFE_VERSION))
+ @$(call install_fixup,kaffe,SECTION,base)
+ @$(call install_fixup,kaffe,AUTHOR,"Robert Schwebel <r.schwebel\@pengutronix.de>")
+ @$(call install_fixup,kaffe,DEPENDS,)
+ @$(call install_fixup,kaffe,DESCRIPTION,missing)
+
+ # Kaffe builds shared library files on install stage, so
+ # install in a temporary directory and install_copy from there
+ @cd $(KAFFE_DIR) && $(KAFFE_PATH) make $(KAFFE_ENV) \
+ install DESTDIR=$(KAFFE_DIR)-tmp
+
+ @$(call install_copy, kaffe, 0, 0, 0755, $(KAFFE_DIR)-tmp/usr/jre/bin/java, /usr/jre/bin/java)
+ @$(call install_copy, kaffe, 0, 0, 0755, $(KAFFE_DIR)-tmp/usr/jre/bin/kaffe, /usr/bin/kaffe)
+ @$(call install_copy, kaffe, 0, 0, 0755, $(KAFFE_DIR)-tmp/usr/jre/bin/kaffe-bin, /usr/jre/bin/kaffe-bin)
+ @$(call install_copy, kaffe, 0, 0, 0755, $(KAFFE_DIR)-tmp/usr/jre/bin/rmiregistry, /usr/jre/bin/rmiregistry)
+
+ @$(call install_copy, kaffe, 0, 0, 0644, $(KAFFE_DIR)-tmp/usr/jre/lib/security/Kaffe.security, /usr/jre/lib/security/Kaffe.security)
+
+ @$(call install_copy, kaffe, 0, 0, 0644, $(KAFFE_DIR)-tmp/usr/jre/lib/glibj.zip, /usr/jre/lib/glibj.zip)
+ @$(call install_copy, kaffe, 0, 0, 0644, $(KAFFE_DIR)-tmp/usr/jre/lib/gmpjavamath.jar, /usr/jre/lib/gmpjavamath.jar)
+ @$(call install_copy, kaffe, 0, 0, 0644, $(KAFFE_DIR)-tmp/usr/jre/lib/logging.properties, /usr/jre/lib/logging.properties)
+
+ @for i in $(KAFFE_DIR)-tmp/usr/jre/lib/$(PTXCONF_ARCH)/*.la; do \
+ $(call install_copy, kaffe, 0, 0, 0755, $$i, /usr/jre/lib/$(PTXCONF_ARCH)/$$(basename $$i)); \
+ done
+
+ifndef PTXCONF_KAFFE_STATIC
+ @for i in $(KAFFE_DIR)-tmp/usr/jre/lib/$(PTXCONF_ARCH)/*.so; do \
+ if [ -h "$$i" ]; then \
+ $(call install_link, kaffe, $$(readlink $$i), /usr/jre/lib/$(PTXCONF_ARCH)/$$(basename $$i)); \
+ elif [ -f "$$i" ]; then \
+ $(call install_copy, kaffe, 0, 0, 0755, $$i, /usr/jre/lib/$(PTXCONF_ARCH)/$$(basename $$i)); \
+ else \
+ echo "unknown file type in $$i. aborting"; \
+ exit 1; \
+ fi; \
+ done
+endif
+
+ @rm -rf $(KAFFE_DIR)-tmp
+
+ @$(call install_finish,kaffe)
+
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+kaffe_clean:
+ rm -rf $(STATEDIR)/kaffe.*
+ rm -rf $(IMAGEDIR)/kaffe_*
+ rm -rf $(KAFFE_DIR)
+
+# vim: syntax=make