diff options
author | Juergen Beisert <j.beisert@pengutronix.de> | 2007-08-20 18:41:03 +0000 |
---|---|---|
committer | Juergen Beisert <j.beisert@pengutronix.de> | 2007-08-20 18:41:03 +0000 |
commit | f4e630ce02509933789208677989aeceff98368e (patch) | |
tree | ffb776f24224e4da0d89c6635659fd85aac93a25 /rules/avrlib.make | |
parent | 56f4e7f634833a5b22343f6d9fb4bed530921d7f (diff) | |
download | OSELAS.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.make | 126 |
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 |