diff options
Diffstat (limited to 'rules')
-rw-r--r-- | rules/Kconfig | 6 | ||||
-rw-r--r-- | rules/bare_metal.in | 6 | ||||
-rw-r--r-- | rules/bare_metal_stellaris.in | 13 | ||||
-rw-r--r-- | rules/sw-ek-lm3s3748.in | 19 | ||||
-rw-r--r-- | rules/sw-ek-lm3s3748.make | 124 |
5 files changed, 168 insertions, 0 deletions
diff --git a/rules/Kconfig b/rules/Kconfig index 35c47284e..7166aa1ea 100644 --- a/rules/Kconfig +++ b/rules/Kconfig @@ -104,3 +104,9 @@ menu "Graphics & Multimedia " source "generated/graphics_and_multimedia.in" endmenu +comment "------------------------------------" + +menu "Bare Metal " +source "generated/bare_metal.in" +endmenu + diff --git a/rules/bare_metal.in b/rules/bare_metal.in new file mode 100644 index 000000000..afee59ac7 --- /dev/null +++ b/rules/bare_metal.in @@ -0,0 +1,6 @@ +## SECTION=bare_metal + +menu "Stellaris " +source "generated/bare_metal_stellaris.in" +endmenu + diff --git a/rules/bare_metal_stellaris.in b/rules/bare_metal_stellaris.in new file mode 100644 index 000000000..f98a7462a --- /dev/null +++ b/rules/bare_metal_stellaris.in @@ -0,0 +1,13 @@ +## SECTION=bare_metal_stellaris + +config STELLARIS_GNU_TARGET + string + prompt "stellaris gnu target" + default "arm-cortexm3-eabi" + help + configure the stellaris gnu target + +config STELLARIS_CC + string + default "${PTXCONF_STELLARIS_GNU_TARGET}-gcc" + diff --git a/rules/sw-ek-lm3s3748.in b/rules/sw-ek-lm3s3748.in new file mode 100644 index 000000000..b9009a392 --- /dev/null +++ b/rules/sw-ek-lm3s3748.in @@ -0,0 +1,19 @@ +## SECTION=bare_metal_stellaris + +config SW_EK_LM3S3748 + tristate + prompt "sw-ek-lm3s3748" + help + Software Development Kit for the Stellaris LM3S3748. + +if SW_EK_LM3S3748 + +config SW_EK_LM3S3748_BOOTLOADER + bool + prompt "bootloader + help + Build the DFU (Device Firmware Update) bootloader for the + LM3S3748. + +endif + diff --git a/rules/sw-ek-lm3s3748.make b/rules/sw-ek-lm3s3748.make new file mode 100644 index 000000000..e5988d96f --- /dev/null +++ b/rules/sw-ek-lm3s3748.make @@ -0,0 +1,124 @@ +# -*-makefile-*- +# $Id$ +# +# Copyright (C) 2009 by Robert Schwebel <r.schwebel@pengutronix.de> +# +# 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. +# + +ifdef PTXCONF_SW_EK_LM3S3748 +ifneq ($(shell test -h $(PTXDIST_WORKSPACE)/selected_toolchain_stellaris && echo ok),ok) + $(warning *** selected_toolchain_stellaris must point to a valid stellaris toolchain) + $(error ) +endif +ifneq ($(shell test -x $(PTXDIST_WORKSPACE)/selected_toolchain_stellaris/$(PTXCONF_STELLARIS_CC) && echo ok),ok) + $(warning *** $(PTXDIST_WORKSPACE)/selected_toolchain_stellaris/$(PTXCONF_STELLARIS_CC) not found) + $(error ) +endif +endif + +# +# We provide this package +# +PACKAGES-$(PTXCONF_SW_EK_LM3S3748) += sw-ek-lm3s3748 + +# +# Paths and names +# +SW_EK_LM3S3748_VERSION := 4423 +SW_EK_LM3S3748 := SW-EK-LM3S3748-$(SW_EK_LM3S3748_VERSION) +SW_EK_LM3S3748_SUFFIX := tar.bz2 +SW_EK_LM3S3748_URL := http://www.pengutronix.de/software/ptxdist/temporary-src/$(SW_EK_LM3S3748).$(SW_EK_LM3S3748_SUFFIX) +SW_EK_LM3S3748_SOURCE := $(SRCDIR)/$(SW_EK_LM3S3748).$(SW_EK_LM3S3748_SUFFIX) +SW_EK_LM3S3748_DIR := $(BUILDDIR)/$(SW_EK_LM3S3748) + +# ---------------------------------------------------------------------------- +# Get +# ---------------------------------------------------------------------------- + +$(SW_EK_LM3S3748_SOURCE): + @$(call targetinfo) + @$(call get, SW_EK_LM3S3748) + +# ---------------------------------------------------------------------------- +# Extract +# ---------------------------------------------------------------------------- + +$(STATEDIR)/sw-ek-lm3s3748.extract: + @$(call targetinfo) + @$(call clean, $(SW_EK_LM3S3748_DIR)) + @$(call extract, SW_EK_LM3S3748) + @$(call patchin, SW_EK_LM3S3748) + @$(call touch) + +# ---------------------------------------------------------------------------- +# Prepare +# ---------------------------------------------------------------------------- + +SW_EK_LM3S3748_MAKEVARS := \ + PREFIX=$(PTXDIST_WORKSPACE)/selected_toolchain_stellaris/$(PTXCONF_STELLARIS_GNU_TARGET) + +$(STATEDIR)/sw-ek-lm3s3748.prepare: + @$(call targetinfo) + @$(call touch) + +# ---------------------------------------------------------------------------- +# Compile +# ---------------------------------------------------------------------------- + +$(STATEDIR)/sw-ek-lm3s3748.compile: + @$(call targetinfo) + # build static libraries + cd $(SW_EK_LM3S3748_DIR) && $(SW_EK_LM3S3748_PATH) $(MAKE) \ + $(SW_EK_LM3S3748_MAKEVARS) $(PARALLELMFLAGS_BROKEN) + # build bootloader +ifdef PTXCONF_SW_EK_LM3S3748_BOOTLOADER + cd $(SW_EK_LM3S3748_DIR)/boards/ek-lm3s3748/boot_usb/ && $(MAKE) \ + $(SW_EK_LM3S3748_MAKEVARS) $(PARALLELMFLAGS_BROKEN) +endif + @$(call touch) + +# ---------------------------------------------------------------------------- +# Install +# ---------------------------------------------------------------------------- + +$(STATEDIR)/sw-ek-lm3s3748.install: + @$(call targetinfo) + # install static libraries + mkdir -p $(PTXDIST_PLATFORMDIR)/sysroot-stellaris/lib + cp $(SW_EK_LM3S3748_DIR)/usblib/gcc/libusb.a \ + $(PTXDIST_PLATFORMDIR)/sysroot-stellaris/lib/libusb.a + cp $(SW_EK_LM3S3748_DIR)/grlib/gcc/libgr.a \ + $(PTXDIST_PLATFORMDIR)/sysroot-stellaris/lib/libgr.a + cp $(SW_EK_LM3S3748_DIR)/driverlib/gcc/libdriver.a \ + $(PTXDIST_PLATFORMDIR)/sysroot-stellaris/lib/libdriver.a + # install header files + mkdir -p $(PTXDIST_PLATFORMDIR)/sysroot-stellaris/include + cd $(SW_EK_LM3S3748_DIR) && \ + for i in `find . -name "*.h"`; do \ + mkdir -p $(PTXDIST_PLATFORMDIR)/sysroot-stellaris/include/`dirname $$i`; \ + cp $$i $(PTXDIST_PLATFORMDIR)/sysroot-stellaris/include/$$i; \ + done + @$(call touch) + +# ---------------------------------------------------------------------------- +# Target-Install +# ---------------------------------------------------------------------------- + +$(STATEDIR)/sw-ek-lm3s3748.targetinstall: + @$(call targetinfo) + @$(call touch) + +# ---------------------------------------------------------------------------- +# Clean +# ---------------------------------------------------------------------------- + +sw-ek-lm3s3748_clean: + rm -rf $(STATEDIR)/sw-ek-lm3s3748.* + rm -rf $(PKGDIR)/sw-ek-lm3s3748_* + rm -rf $(SW_EK_LM3S3748_DIR) + +# vim: syntax=make |