aboutsummaryrefslogtreecommitdiffstats
path: root/toolchain/kernel-headers/Makefile
blob: 27dcacd80a408ea6d1724eb35afa13b13e3e9485 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# 
# Copyright (C) 2006 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk

PKG_NAME=kernel-headers
PKG_VERSION=$(LINUX_VERSION)

PKG_SOURCE=$(LINUX_SOURCE)
PKG_SOURCE_URL=$(LINUX_SITE)

PKG_BUILD_DIR:=$(TOOLCHAIN_BUILD_DIR)/linux-$(PKG_VERSION)

include $(INCLUDE_DIR)/host-build.mk

define Build/Prepare
	mkdir -p $(TOOLCHAIN_BUILD_DIR)
	bzcat $(DL_DIR)/$(PKG_SOURCE) | $(HOST_TAR) -C $(TOOLCHAIN_BUILD_DIR) $(TAR_OPTIONS)
	$(PATCH) $(PKG_BUILD_DIR) $(TOPDIR)/target/linux/generic-$(KERNEL)/patches
	$(SED) 's/@expr length/@-expr length/' $(PKG_BUILD_DIR)/Makefile
	ln -sf $(PKG_BUILD_DIR) $(LINUX_HEADERS_DIR)
endef

define Build/Configure/powerpc
	$(CP) $(PKG_BUILD_DIR)/include/asm-ppc/* $(PKG_BUILD_DIR)/include/asm-powerpc/
	rm -rf $(PKG_BUILD_DIR)/include/asm-ppc
	mv $(PKG_BUILD_DIR)/include/asm-powerpc $(PKG_BUILD_DIR)/include/asm-ppc
endef

ifneq (,$(findstring uml,$(BOARD)))
  LINUX_KARCH:=$(ARCH)
endif

KMAKE := $(MAKE) -C $(PKG_BUILD_DIR) \
	ARCH=$(LINUX_KARCH) \
	CONFIG_SHELL=$(BASH)

define Build/Configure
	yes '' | $(KMAKE) oldconfig
	$(KMAKE) include/linux/version.h include/asm
	$(call Build/Configure/$(ARCH))
endef

define Build/Compile
endef

define Build/Install
endef

$(eval $(call HostBuild))
$(DTS_DIR)/$(DEVICE_DTS).dtb >> $@ endef define Build/append-file cat $(1) >> $@ endef define Device/Default PROFILES := Default KERNEL_INITRAMFS_PREFIX := $$(IMG_PREFIX)-$(1)-initramfs DEVICE_DTS := KERNEL_PREFIX := $$(IMAGE_PREFIX) IMAGES := KERNEL_IN_UBI := endef DEVICE_VARS += DEVICE_DTS KERNEL_IN_UBI define Device/LegacyImage KERNEL_SUFFIX := -uImage KERNEL = kernel-bin | append-dtb | uImage none KERNEL_NAME := zImage endef define Device/FitImage KERNEL_SUFFIX := -fit-uImage.itb KERNEL = kernel-bin | gzip | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb KERNEL_NAME := Image endef define Device/UbiFit KERNEL_IN_UBI := 1 IMAGES := nand-factory.ubi nand-sysupgrade.tar IMAGE/nand-factory.ubi := append-ubi IMAGE/nand-sysupgrade.tar := sysupgrade-nand endef define Device/DniImage PROFILES += $$(DEVICE_NAME) FILESYSTEMS := squashfs KERNEL_SUFFIX := -uImage KERNEL_INITRAMFS := kernel-bin | append-dtb | uImage none KERNEL = kernel-bin | append-dtb | pad-to $$$$(($$(KERNEL_SIZE)-2*64-1)) | uImage none | append-file $(KDIR)/root.dummy KERNEL_NAME := zImage NETGEAR_BOARD_ID := NETGEAR_HW_ID := BOARD_NAME := IMAGES := factory.img sysupgrade.tar IMAGE/factory.img := append-kernel | append-ubi | netgear-dni IMAGE/sysupgrade.tar = sysupgrade-nand endef DEVICE_VARS += KERNEL_SIZE NETGEAR_BOARD_ID NETGEAR_HW_ID DEVICE_BLOCK_SIZE DEVICE_PAGE_SIZE BOARD_NAME define Device/AP148 $(call Device/FitImage) $(call Device/UbiFit) DEVICE_DTS := qcom-ipq8064-ap148 BLOCKSIZE := 128KiB PAGESIZE := 2048 endef define Device/AP148-legacy $(call Device/LegacyImage) $(call Device/UbiFit) DEVICE_DTS := qcom-ipq8064-ap148 BLOCKSIZE := 128KiB PAGESIZE := 2048 BOARD_NAME := AP148 endef define Device/DB149 $(call Device/FitImage) DEVICE_DTS := qcom-ipq8064-db149 KERNEL_INSTALL := 1 endef define Device/R7500 $(call Device/DniImage) DEVICE_DTS := qcom-ipq8064-r7500 KERNEL_SIZE := 2097152 NETGEAR_BOARD_ID := R7500 NETGEAR_HW_ID := 29764841+0+128+256+3x3+4x4 BLOCKSIZE := 128KiB PAGESIZE := 2048 BOARD_NAME := r7500 endef TARGET_DEVICES += AP148 AP148-legacy DB149 R7500 $(eval $(call BuildImage))