Makefile 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. #
  2. # Copyright (C) 2010 OpenWrt.org
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. #
  7. include $(TOPDIR)/rules.mk
  8. include $(INCLUDE_DIR)/image.mk
  9. define imgname
  10. $(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(patsubst jffs2-%,jffs2,$(patsubst squashfs-%,squashfs,$(1)))
  11. endef
  12. define sysupname
  13. $(call imgname,$(1),$(2))-sysupgrade.bin
  14. endef
  15. define factoryname
  16. $(call imgname,$(1),$(2))-factory.bin
  17. endef
  18. ifeq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y)
  19. IMAGE_SUFFIX=-initramfs
  20. endif
  21. zImage:=$(BIN_DIR)/$(IMG_PREFIX)-zImage$(IMAGE_SUFFIX)
  22. DTS_TARGETS = mpc8548cds_32b p1010rdb tl-wdr4900-v1 p1020rdb
  23. BOOT_IMAGES:=zImage cuImage.tl-wdr4900-v1
  24. define Image/Prepare
  25. $(foreach image,$(BOOT_IMAGES),
  26. cp $(LINUX_DIR)/arch/powerpc/boot/$(image) $(KDIR)/$(image)
  27. )
  28. endef
  29. define Image/BuildKernel
  30. cp $(KDIR)/zImage$(IMAGE_SUFFIX) $(zImage)
  31. $(foreach dts,$(DTS_TARGETS),
  32. $(LINUX_DIR)/scripts/dtc/dtc -I dts -O dtb $(LINUX_DIR)/arch/powerpc/boot/dts/$(dts).dts > $(BIN_DIR)/$(IMG_PREFIX)-$(dts).fdt
  33. )
  34. endef
  35. define Image/Build/TPLINK
  36. -$(STAGING_DIR_HOST)/bin/mktplinkfw \
  37. -H $(4) -W $(5) -F $(6) -N OpenWrt -V $(REVISION) $(7) \
  38. -k $(KDIR)/$(3) \
  39. -r $(KDIR)/root.$(1) \
  40. -o $(call factoryname,$(1),$(2))
  41. -$(STAGING_DIR_HOST)/bin/mktplinkfw \
  42. -H $(4) -W $(5) -F $(6) -N OpenWrt -V $(REVISION) $(7) -s \
  43. -k $(KDIR)/$(3) \
  44. -r $(KDIR)/root.$(1) \
  45. -o $(call sysupname,$(1),$(2))
  46. endef
  47. define Image/Build/Profile/TLWDR4900
  48. $(call Image/Build/TPLINK,$(1),tl-wdr4900-v1,cuImage.tl-wdr4900-v1,0x49000001,1,16Mppc)
  49. endef
  50. define Image/Build/Profile/Default
  51. $(call Image/Build/Profile/TLWDR4900,$(1))
  52. endef
  53. define Image/Build/ext2
  54. cp $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-ext2.img
  55. endef
  56. define Image/Build/squashfs
  57. $(call prepare_generic_squashfs,$(KDIR)/root.squashfs)
  58. cp $(KDIR)/root.squashfs $(BIN_DIR)/$(IMG_PREFIX)-root.squashfs
  59. endef
  60. PROFILE ?= Default
  61. define Image/Build
  62. $(call Image/Build/$(1),$(1))
  63. $(call Image/Build/Profile/$(PROFILE),$(1))
  64. endef
  65. $(eval $(call BuildImage))