summaryrefslogtreecommitdiffstats
path: root/rules/avrlib.make
diff options
context:
space:
mode:
authorJuergen Beisert <j.beisert@pengutronix.de>2007-08-20 18:41:03 +0000
committerJuergen Beisert <j.beisert@pengutronix.de>2007-08-20 18:41:03 +0000
commitf4e630ce02509933789208677989aeceff98368e (patch)
treeffb776f24224e4da0d89c6635659fd85aac93a25 /rules/avrlib.make
parent56f4e7f634833a5b22343f6d9fb4bed530921d7f (diff)
downloadOSELAS.Toolchain-f4e630ce02509933789208677989aeceff98368e.tar.gz
OSELAS.Toolchain-f4e630ce02509933789208677989aeceff98368e.tar.xz
adding AVR microcontroller support
git-svn-id: https://svn.pengutronix.de/svn/oselas/toolchain/trunks/OSELAS.Toolchain-trunk@3656 f8d472c7-5700-0410-ac5a-87979cec3adf
Diffstat (limited to 'rules/avrlib.make')
-rw-r--r--rules/avrlib.make126
1 files changed, 126 insertions, 0 deletions
diff --git a/rules/avrlib.make b/rules/avrlib.make
new file mode 100644
index 0000000..30b3bbc
--- /dev/null
+++ b/rules/avrlib.make
@@ -0,0 +1,126 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2007 by Juergen Beisert
+#
+# 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_AVR8LIB) += avr8lib
+
+#
+# Paths and names
+#
+AVRLIB_VERSION := $(call remove_quotes,$(PTXCONF_AVR8LIB_VERSION))
+AVRLIB := avr-libc-$(AVRLIB_VERSION)
+AVRLIB_SUFFIX := tar.bz2
+AVRLIB_URL := http://download.savannah.gnu.org/releases/avr-libc/$(AVRLIB).$(AVRLIB_SUFFIX)
+AVRLIB_SOURCE := $(SRCDIR)/$(AVRLIB).$(AVRLIB_SUFFIX)
+AVRLIB_DIR := $(BUILDDIR_DEBUG)/$(AVRLIB)
+AVRLIB_BUILDDIR := $(BUILDDIR)/$(AVRLIB)-build
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+avr8lib_get: $(STATEDIR)/avr8lib.get
+
+$(STATEDIR)/avr8lib.get: $(avr8lib_get_deps_default)
+ @$(call targetinfo, $@)
+ @$(call touch, $@)
+
+$(AVRLIB_SOURCE):
+ @$(call targetinfo, $@)
+ @$(call get, AVRLIB)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+avr8lib_extract: $(STATEDIR)/avr8lib.extract
+
+$(STATEDIR)/avr8lib.extract: $(avr8lib_extract_deps_default)
+ @$(call targetinfo, $@)
+ @$(call clean, $(AVRLIB_DIR))
+ @$(call clean, $(AVRLIB_BUILDDIR))
+ @$(call extract, AVRLIB, $(BUILDDIR_DEBUG))
+ @$(call patchin, AVRLIB, $(AVRLIB_DIR))
+ mkdir -p $(AVRLIB_BUILDDIR)
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+avr8lib_prepare: $(STATEDIR)/avr8lib.prepare
+
+AVRLIB_PATH := PATH=$(CROSS_PATH)
+AVRLIB_ENV := CC_FOR_BUILD=$(HOSTCC)
+
+#
+# autoconf
+# --targt could only be the string 'avr'
+# newer libs (at least 1.4.6) forces --host=avr!
+#
+AVRLIB_AUTOCONF := \
+ --prefix=$(PTXCONF_PREFIX) \
+ --build=$(GNU_BUILD) \
+ --target=$(PTXCONF_GNU_TARGET) \
+ --host=$(PTXCONF_GNU_TARGET) \
+ --enable-multilib
+
+$(STATEDIR)/avr8lib.prepare: $(avr8lib_prepare_deps_default)
+ @$(call targetinfo, $@)
+ cd $(AVRLIB_BUILDDIR) && eval \
+ $(AVRLIB_ENV) $(AVRLIB_PATH) \
+ $(AVRLIB_DIR)/configure $(AVRLIB_AUTOCONF)
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+avr8lib_compile: $(STATEDIR)/avr8lib.compile
+
+$(STATEDIR)/avr8lib.compile: $(avr8lib_compile_deps_default)
+ @$(call targetinfo, $@)
+ cd $(AVRLIB_BUILDDIR) && eval $(AVRLIB_PATH) && \
+ $(MAKE) $(PARALLELMFLAGS)
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+avr8lib_install: $(STATEDIR)/avr8lib.install
+
+$(STATEDIR)/avr8lib.install: $(avr8lib_install_deps_default)
+ @$(call targetinfo, $@)
+ cd $(AVRLIB_BUILDDIR) && \
+ $(AVRLIB_PATH) $(MAKE) install
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+avr8lib_targetinstall: $(STATEDIR)/avr8lib.targetinstall
+
+$(STATEDIR)/avr8lib.targetinstall: $(avr8lib_targetinstall_deps_default)
+ @$(call targetinfo, $@)
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+avr8lib_clean:
+ rm -rf $(STATEDIR)/avr8lib.*
+ rm -rf $(AVRLIB_DIR)
+
+# vim: syntax=make