Makefile 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. include $(TOPDIR)/rules.mk
  2. include $(INCLUDE_DIR)/image.mk
  3. KERNEL_LOADADDR = 0x80060000
  4. DEVICE_VARS += LOADER_FLASH_OFFS LOADER_TYPE
  5. define Build/loader-common
  6. rm -rf [email protected]
  7. $(MAKE) -C lzma-loader \
  8. PKG_BUILD_DIR="[email protected]" \
  9. TARGET_DIR="$(dir $@)" LOADER_NAME="$(notdir $@)" \
  10. $(1) compile loader.$(LOADER_TYPE)
  11. mv "$@.$(LOADER_TYPE)" "$@"
  12. rm -rf [email protected]
  13. endef
  14. define Build/loader-kernel
  15. $(call Build/loader-common,LOADER_DATA="$@")
  16. endef
  17. define Build/loader-okli-compile
  18. $(call Build/loader-common,FLASH_OFFS=$(LOADER_FLASH_OFFS) FLASH_MAX=0)
  19. endef
  20. # Arguments: <output name> <kernel offset>
  21. define Build/loader-okli
  22. dd if=$(KDIR)/loader-$(word 1,$(1)).$(LOADER_TYPE) bs=$(word 2,$(1)) conv=sync of="[email protected]"
  23. cat "$@" >> "[email protected]"
  24. mv "[email protected]" "$@"
  25. endef
  26. define Build/append-loader-okli
  27. cat "$(KDIR)/loader-$(word 1,$(1)).$(LOADER_TYPE)" >> "$@"
  28. endef
  29. define Build/relocate-kernel
  30. rm -rf [email protected]
  31. $(CP) ../../generic/image/relocate [email protected]
  32. $(MAKE) -j1 -C [email protected] KERNEL_ADDR=$(KERNEL_LOADADDR) CROSS_COMPILE=$(TARGET_CROSS)
  33. ( \
  34. dd [email protected]/loader.bin bs=32 conv=sync && \
  35. perl -e '@s = stat("$@"); print pack("N", @s[7])' && \
  36. cat "$@" \
  37. ) > "[email protected]"
  38. mv "[email protected]" "$@"
  39. rm -rf [email protected]
  40. endef
  41. define Device/Default
  42. DEVICE_DTS_DIR := ../dts
  43. DEVICE_DTS = $$(SOC)_$(1)
  44. PROFILES = Default
  45. MTDPARTS :=
  46. BLOCKSIZE := 64k
  47. KERNEL := kernel-bin | append-dtb | lzma | uImage lzma
  48. KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | uImage lzma
  49. COMPILE :=
  50. SUPPORTED_DEVICES := $(subst _,$(comma),$(1))
  51. IMAGES := sysupgrade.bin
  52. IMAGE/sysupgrade.bin = append-kernel | pad-to $$$$(BLOCKSIZE) | \
  53. append-rootfs | pad-rootfs | append-metadata | check-size
  54. endef
  55. include $(SUBTARGET).mk
  56. ifeq ($(SUBTARGET),generic)
  57. include generic-tp-link.mk
  58. include generic-ubnt.mk
  59. endif
  60. ifeq ($(SUBTARGET),tiny)
  61. include tiny-netgear.mk
  62. include tiny-tp-link.mk
  63. endif
  64. $(eval $(call BuildImage))