diff options
author | Jon Ringle <jon@ringle.org> | 2009-09-03 12:10:24 -0400 |
---|---|---|
committer | Marc Kleine-Budde <mkl@pengutronix.de> | 2009-11-04 13:59:27 +0100 |
commit | 90f92f6a315fcb73fadf34a3d792a53409855262 (patch) | |
tree | 1fee45015dcd9ce48da337e063b549eb97c89733 /rules/initramfs-kernel-modules.make | |
parent | d949d7a27b7d8943b8612158fa744de6a224c132 (diff) | |
download | ptxdist-90f92f6a315fcb73fadf34a3d792a53409855262.tar.gz ptxdist-90f92f6a315fcb73fadf34a3d792a53409855262.tar.xz |
[initramfs-kernel-modules] Install kernel modules in initramfs
Install kernel modules in initramfs
Signed-off-by: Jon Ringle <jon@ringle.org>
[mkl: misc cleanups]
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Diffstat (limited to 'rules/initramfs-kernel-modules.make')
-rw-r--r-- | rules/initramfs-kernel-modules.make | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/rules/initramfs-kernel-modules.make b/rules/initramfs-kernel-modules.make new file mode 100644 index 000000000..e3bdf20ac --- /dev/null +++ b/rules/initramfs-kernel-modules.make @@ -0,0 +1,114 @@ +# -*-makefile-*- +# +# Copyright (C) 2009 by Marc Kleine-Budde <mkl@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. +# + +# +# We provide this package +# +PACKAGES-$(PTXCONF_INITRAMFS_KERNEL_MODULES) += initramfs-kernel-modules + +# +# Paths and names +# +INITRAMFS_KERNEL_MODULES_VERSION := 1.0.0 +INITRAMFS_KERNEL_MODULES := initramfs-kernel-modules-$(INITRAMFS_KERNEL_MODULES_VERSION) +INITRAMFS_KERNEL_MODULES_DIR := $(KLIBC_BUILDDIR)/$(INITRAMFS_KERNEL_MODULES) +INITRAMFS_KERNEL_MODULES_PKGDIR := $(PKGDIR)/$(INITRAMFS_KERNEL_MODULES) + +ifdef PTXCONF_KLIBC_MODULE_INIT_TOOLS +$(STATEDIR)/klibc.targetinstall.post: $(STATEDIR)/initramfs-kernel-modules.targetinstall +endif + +# ---------------------------------------------------------------------------- +# Get +# ---------------------------------------------------------------------------- + +$(INITRAMFS_KERNEL_MODULES_SOURCE): + @$(call targetinfo) + @$(call get, INITRAMFS_KERNEL_MODULES) + @$(call touch) + +# ---------------------------------------------------------------------------- +# Extract +# ---------------------------------------------------------------------------- + +$(STATEDIR)/initramfs-kernel-modules.extract: + @$(call targetinfo) + @$(call touch) + +# ---------------------------------------------------------------------------- +# Prepare +# ---------------------------------------------------------------------------- + +INITRAMFS_KERNEL_MODULES_PATH := PATH=$(CROSS_PATH) +INITRAMFS_KERNEL_MODULES_ENV := $(CROSS_ENV) + +$(STATEDIR)/initramfs-kernel-modules.prepare: + @$(call targetinfo) + @$(call touch) + +# ---------------------------------------------------------------------------- +# Compile +# ---------------------------------------------------------------------------- + +$(STATEDIR)/initramfs-kernel-modules.compile: $(STATEDIR)/kernel.prepare + @$(call targetinfo) + cd $(KERNEL_DIR) && $(KERNEL_PATH) $(MAKE) \ + $(KERNEL_MAKEVARS) $(PTXCONF_KERNEL_MODULES_BUILD) + @$(call touch) + +# ---------------------------------------------------------------------------- +# Install +# ---------------------------------------------------------------------------- + +$(STATEDIR)/initramfs-kernel-modules.install: + @$(call targetinfo) + @$(call clean, $(INITRAMFS_KERNEL_MODULES_PKGDIR)) + @cd $(KERNEL_DIR) && $(KERNEL_PATH) $(MAKE) \ + $(filter-out INSTALL_MOD_PATH=%,$(KERNEL_MAKEVARS)) \ + INSTALL_MOD_PATH=$(INITRAMFS_KERNEL_MODULES_PKGDIR) \ + modules_install + + @$(call touch) + +# ---------------------------------------------------------------------------- +# Target-Install +# ---------------------------------------------------------------------------- + +$(STATEDIR)/initramfs-kernel-modules.targetinstall: + @$(call targetinfo) + @cd $(INITRAMFS_KERNEL_MODULES_PKGDIR) && \ + find lib -type d | while read dir; do \ + $(call install_initramfs, initramfs-kernel-modules, 0, 0, 0755, /$${dir}); \ + done + +ifdef PTXCONF_INITRAMFS_KERNEL_MODULES_ALL + @cd $(INITRAMFS_KERNEL_MODULES_PKGDIR) && \ + find lib -type f | while read file; do \ + $(call install_initramfs, initramfs-kernel-modules, 0, 0, 0644, -, /$${file}); \ + done +endif + +ifdef PTXCONF_INITRAMFS_KERNEL_MODULES_USER_SPEC + cat $(PTXDIST_WORKSPACE)/initramfs_modules | while read file; do \ + $(call install_initramfs, initramfs-kernel-modules, 0, 0, 0644, -, /$${file}); \ + done +endif + @$(call touch) + +# ---------------------------------------------------------------------------- +# Clean +# ---------------------------------------------------------------------------- + +initramfs-kernel-modules_clean: + rm -rf $(STATEDIR)/initramfs-kernel-modules.* + rm -rf $(PKGDIR)/initramfs-kernel-modules{-,_}* + rm -rf $(INITRAMFS_KERNEL_MODULES_DIR) + +# vim: syntax=make |