KERNEL_VERSION = 3.4.7
KERNEL_URL = http://www.kernel.org/pub/linux/kernel/v3.0/linux-$(KERNEL_VERSION).tar.bz2
PLATFORM = x86
MODULES_LIST = kernel/drivers/usb/storage/*.ko kernel/drivers/message/fusion/*.ko kernel/drivers/scsi/*.ko kernel/drivers/scsi/*/*.ko kernel/drivers/ata/*.ko kernel/drivers/ata/*/*.ko
all: vmlinuz modules modules-all
vmlinuz modules-all: linux-$(KERNEL_VERSION) linux-$(KERNEL_VERSION)/.config
$(MAKE) -C linux-$(KERNEL_VERSION)
rm -rf boot modules-all
mkdir boot modules-all
-$(MAKE) -C linux-$(KERNEL_VERSION) INSTALL_PATH="$(shell pwd)/boot" install
$(MAKE) -C linux-$(KERNEL_VERSION) INSTALL_MOD_PATH="$(shell pwd)/modules-all" modules_install
cp boot/vmlinuz .
modules: modules-all
rm -rf modules
mkdir modules/modules modules/firmware
./generate_modules_dir 'modules-all/lib/modules/$(KERNEL_VERSION)-appbox' modules/modules '$(MODULES_LIST)'
cp -rp modules-all/lib/firmware modules/
linux-$(KERNEL_VERSION)/.config: linux-$(KERNEL_VERSION)-$(PLATFORM)-config linux-$(KERNEL_VERSION)
cp linux-$(KERNEL_VERSION)-$(PLATFORM)-config linux-$(KERNEL_VERSION)/.config
linux-$(KERNEL_VERSION): linux-$(KERNEL_VERSION).tar.bz2
tar -xf linux-$(KERNEL_VERSION).tar.bz2
linux-$(KERNEL_VERSION).tar.bz2:
wget -O "$@.new" $(KERNEL_URL)
tar -tf "$@.new" >/dev/null
mv "$@.new" "$@"
clean:
rm -rf boot modules-all modules
rm -rf linux-$(KERNEL_VERSION)
rm -f linux-$(KERNEL_VERSION).tar.bz2.new
rm -f vmlinuz
distclean: clean
rm -f linux-$(KERNEL_VERSION).tar.bz2
.PHONY: all clean distclean