Makefile 2.1 KB

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