summaryrefslogtreecommitdiffstats
path: root/rules/kernel-headers.make
diff options
context:
space:
mode:
authorRobert Schwebel <r.schwebel@pengutronix.de>2006-08-29 11:36:25 +0000
committerRobert Schwebel <r.schwebel@pengutronix.de>2006-08-29 11:36:25 +0000
commita09127b31e4a718afef553b7aff77ab6a20cdfe2 (patch)
tree5fd3a1bb5643dfacfe402405331a6e31604d8d92 /rules/kernel-headers.make
parentcdacb263f0026bc24caefe75a68adddbc0e613f2 (diff)
downloadOSELAS.Toolchain-a09127b31e4a718afef553b7aff77ab6a20cdfe2.tar.gz
OSELAS.Toolchain-a09127b31e4a718afef553b7aff77ab6a20cdfe2.tar.xz
git-svn-id: https://svn.pengutronix.de/svn/oselas/toolchain/trunks/OSELAS.Toolchain-trunk@768 f8d472c7-5700-0410-ac5a-87979cec3adf
Diffstat (limited to 'rules/kernel-headers.make')
-rw-r--r--rules/kernel-headers.make125
1 files changed, 125 insertions, 0 deletions
diff --git a/rules/kernel-headers.make b/rules/kernel-headers.make
new file mode 100644
index 0000000..478d3f2
--- /dev/null
+++ b/rules/kernel-headers.make
@@ -0,0 +1,125 @@
+# -*-makefile-*-
+# $Id$
+#
+# Copyright (C) 2006 by Robert Schwebel
+#
+# 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_KERNEL_HEADERS) += kernel-headers
+
+#
+# Paths and names
+#
+KERNEL-HEADERS_VERSION := $(PTXCONF_KERNEL_HEADERS_VERSION)
+KERNEL-HEADERS := linux-$(call remove_quotes,$(KERNEL-HEADERS_VERSION))
+KERNEL-HEADERS_SUFFIX := tar.bz2
+KERNEL-HEADERS_URL := http://www.kernel.org/pub/linux/kernel/v2.6/$(KERNEL-HEADERS).$(KERNEL-HEADERS_SUFFIX)
+KERNEL-HEADERS_SOURCE := $(SRCDIR)/$(KERNEL-HEADERS).$(KERNEL-HEADERS_SUFFIX)
+KERNEL-HEADERS_DIR := $(BUILDDIR)/$(KERNEL-HEADERS)
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+kernel-headers_get: $(STATEDIR)/kernel-headers.get
+
+$(STATEDIR)/kernel-headers.get: $(kernel-headers_get_deps_default)
+ @$(call targetinfo, $@)
+ @$(call touch, $@)
+
+$(KERNEL-HEADERS_SOURCE):
+ @$(call targetinfo, $@)
+ @$(call get, KERNEL-HEADERS)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+kernel-headers_extract: $(STATEDIR)/kernel-headers.extract
+
+$(STATEDIR)/kernel-headers.extract: $(kernel-headers_extract_deps_default)
+ @$(call targetinfo, $@)
+ @$(call clean, $(KERNEL-HEADERS_DIR))
+ @$(call extract, KERNEL-HEADERS)
+ @$(call patchin, KERNEL-HEADERS)
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+kernel-headers_prepare: $(STATEDIR)/kernel-headers.prepare
+
+KERNEL-HEADERS_PATH := PATH=$(HOST_PATH)
+KERNEL-HEADERS_ENV := $(HOST_ENV)
+
+$(STATEDIR)/kernel-headers.prepare: $(kernel-headers_prepare_deps_default)
+ @$(call targetinfo, $@)
+ cp $(PTXDIST_WORKSPACE)/$(PTXCONF_KERNEL_HEADERS_CONFIG) \
+ $(KERNEL-HEADERS_DIR)/.config
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+kernel-headers_compile: $(STATEDIR)/kernel-headers.compile
+
+$(STATEDIR)/kernel-headers.compile: $(kernel-headers_compile_deps_default)
+ @$(call targetinfo, $@)
+ ( \
+ cd $(KERNEL-HEADERS_DIR); \
+ $(MAKE) ARCH=$(PTXCONF_ARCH) oldconfig; \
+ $(MAKE) ARCH=$(PTXCONF_ARCH) include/asm include/linux/version.h; \
+ )
+ifdef PTXCONF_ARCH_ARM
+ cd $(KERNEL-HEADERS_DIR) && $(MAKE) ARCH=$(PTXCONF_ARCH) include/asm-$(PTXCONF_ARCH)/.arch
+endif
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+kernel-headers_install: $(STATEDIR)/kernel-headers.install
+
+$(STATEDIR)/kernel-headers.install: $(kernel-headers_install_deps_default)
+ @$(call targetinfo, $@)
+ ( \
+ cd $(KERNEL-HEADERS_DIR); \
+ rm -fr $(SYSROOT)/usr/include/linux; \
+ mkdir -p $(SYSROOT)/usr/include; \
+ cp -r include/linux $(SYSROOT)/usr/include/; \
+ rm -fr $(SYSROOT)/usr/include/asm; \
+ cp -r include/asm-$(PTXCONF_ARCH) $(SYSROOT)/usr/include/asm; \
+ rm -fr $(SYSROOT)/usr/include/asm-generic; \
+ cp -r include/asm-generic $(SYSROOT)/usr/include/asm-generic; \
+ )
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+kernel-headers_targetinstall: $(STATEDIR)/kernel-headers.targetinstall
+
+$(STATEDIR)/kernel-headers.targetinstall: $(kernel-headers_targetinstall_deps_default)
+ @$(call targetinfo, $@)
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+kernel-headers_clean:
+ rm -rf $(STATEDIR)/kernel-headers.*
+ rm -rf $(KERNEL-HEADERS_DIR)
+
+# vim: syntax=make