openwrt/target/linux/mediatek/image/Makefile

69 lines
1.6 KiB
Makefile

#
# Copyright (C) 2012-2015 OpenWrt.org
# Copyright (C) 2016-2017 LEDE project
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/image.mk
# for arm
KERNEL_LOADADDR := 0x80008000
# for arm64
ifeq ($(SUBTARGET),mt7622)
KERNEL_LOADADDR = 0x41080000
endif
# build dtb
define Build/dtb
$(call Image/BuildDTB,$(DEVICE_DTS_DIR)/$(DEVICE_DTS).dts,$(DEVICE_DTS_DIR)/$(DEVICE_DTS).dtb)
$(CP) $(DEVICE_DTS_DIR)/$(DEVICE_DTS).dtb $(BIN_DIR)/
endef
define Build/sysupgrade-emmc
rm -f $@.recovery
mkfs.fat -C $@.recovery 3070
./gen_mt7623_emmc_img.sh $@ \
$(IMAGE_KERNEL) \
$@.recovery \
$(IMAGE_ROOTFS)
endef
# default all platform image(fit) build
define Device/Default
PROFILES = Default $$(DEVICE_NAME)
KERNEL_NAME := zImage
FILESYSTEMS := squashfs
DEVICE_DTS_DIR := $(DTS_DIR)
IMAGES := sysupgrade.bin
IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
ifeq ($(SUBTARGET),mt7623)
KERNEL_NAME := zImage
KERNEL := dtb | kernel-bin | append-dtb | uImage none
KERNEL_INITRAMFS := dtb | kernel-bin | append-dtb | uImage none
endif
ifeq ($(SUBTARGET),mt7622)
KERNEL_NAME := Image
KERNEL = dtb | kernel-bin | lzma | fit lzma $$(DEVICE_DTS_DIR)/$$(DEVICE_DTS).dtb
KERNEL_INITRAMFS = dtb | kernel-bin | lzma | fit lzma $$(DEVICE_DTS_DIR)/$$(DEVICE_DTS).dtb
endif
endef
ifeq ($(SUBTARGET),mt7622)
include mt7622.mk
endif
ifeq ($(SUBTARGET),mt7623)
include mt7623.mk
endif
define Image/Build
$(call Image/Build/$(1),$(1))
endef
$(eval $(call BuildImage))