mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-25 08:21:14 +00:00
bb39fea11a
Many target use a repetitive if-include scheme for their subtarget image files, though their names are consistent with the subtarget names. This patch removes these redundant conditions and just uses the variable for the include where the target setup allows it. For sunxi, this includes a trivial rename of the subtarget image Makefiles. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
84 lines
2.0 KiB
Makefile
84 lines
2.0 KiB
Makefile
include $(TOPDIR)/rules.mk
|
|
include $(INCLUDE_DIR)/image.mk
|
|
|
|
KERNEL_LOADADDR = 0x80060000
|
|
|
|
DEVICE_VARS += LOADER_FLASH_OFFS LOADER_TYPE
|
|
|
|
define Build/loader-common
|
|
rm -rf $@.src
|
|
$(MAKE) -C lzma-loader \
|
|
PKG_BUILD_DIR="$@.src" \
|
|
TARGET_DIR="$(dir $@)" LOADER_NAME="$(notdir $@)" \
|
|
$(1) compile loader.$(LOADER_TYPE)
|
|
mv "$@.$(LOADER_TYPE)" "$@"
|
|
rm -rf $@.src
|
|
endef
|
|
|
|
define Build/loader-kernel
|
|
$(call Build/loader-common,LOADER_DATA="$@")
|
|
endef
|
|
|
|
define Build/loader-kernel-cmdline
|
|
$(call Build/loader-common,LOADER_DATA="$@")
|
|
endef
|
|
|
|
|
|
define Build/loader-okli-compile
|
|
$(call Build/loader-common,FLASH_OFFS=$(LOADER_FLASH_OFFS) FLASH_MAX=0)
|
|
endef
|
|
|
|
# Arguments: <output name> <kernel offset>
|
|
define Build/loader-okli
|
|
dd if=$(KDIR)/loader-$(word 1,$(1)).$(LOADER_TYPE) bs=$(word 2,$(1)) conv=sync of="$@.new"
|
|
cat "$@" >> "$@.new"
|
|
mv "$@.new" "$@"
|
|
endef
|
|
|
|
define Build/append-loader-okli
|
|
cat "$(KDIR)/loader-$(word 1,$(1)).$(LOADER_TYPE)" >> "$@"
|
|
endef
|
|
|
|
define Build/relocate-kernel
|
|
rm -rf $@.relocate
|
|
$(CP) ../../generic/image/relocate $@.relocate
|
|
$(MAKE) -j1 -C $@.relocate KERNEL_ADDR=$(KERNEL_LOADADDR) CROSS_COMPILE=$(TARGET_CROSS)
|
|
( \
|
|
dd if=$@.relocate/loader.bin bs=32 conv=sync && \
|
|
perl -e '@s = stat("$@"); print pack("N", @s[7])' && \
|
|
cat "$@" \
|
|
) > "$@.new"
|
|
mv "$@.new" "$@"
|
|
rm -rf $@.relocate
|
|
endef
|
|
|
|
|
|
define Device/Default
|
|
DEVICE_DTS_DIR := ../dts
|
|
DEVICE_DTS = $$(SOC)_$(1)
|
|
PROFILES = Default
|
|
MTDPARTS :=
|
|
BLOCKSIZE := 64k
|
|
KERNEL := kernel-bin | append-dtb | lzma | uImage lzma
|
|
KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | uImage lzma
|
|
COMPILE :=
|
|
SUPPORTED_DEVICES := $(subst _,$(comma),$(1))
|
|
IMAGES := sysupgrade.bin
|
|
IMAGE/sysupgrade.bin = append-kernel | pad-to $$$$(BLOCKSIZE) | \
|
|
append-rootfs | pad-rootfs | append-metadata | check-size
|
|
endef
|
|
|
|
include $(SUBTARGET).mk
|
|
|
|
ifeq ($(SUBTARGET),generic)
|
|
include generic-tp-link.mk
|
|
include generic-ubnt.mk
|
|
endif
|
|
|
|
ifeq ($(SUBTARGET),tiny)
|
|
include tiny-netgear.mk
|
|
include tiny-tp-link.mk
|
|
endif
|
|
|
|
$(eval $(call BuildImage))
|