Makefile 2.2 KB

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