bcm53xx: image: rework Makefile and merge some functions
[oweals/openwrt.git] / target / linux / bcm53xx / image / Makefile
1 #
2 # Copyright (C) 2013 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
10 define Image/Prepare
11         rm -f $(KDIR)/fs_mark
12         echo -ne '\xde\xad\xc0\xde' > $(KDIR)/fs_mark
13         $(call prepare_generic_squashfs,$(KDIR)/fs_mark)
14 endef
15
16 define Image/Build/initramfs/DTB
17         $(call Image/Build/DTB,zImage-initramfs,$(1))
18         $(STAGING_DIR_HOST)/bin/trx -o $(KDIR)/$(IMG_PREFIX)-initramfs-$(1).trx \
19                 -f $(KDIR)/zImage-initramfs-$(1).lzma
20 endef
21
22 define Image/Build/squashfs/DTB
23         $(call Image/Build/DTB,zImage,$(1))
24         $(STAGING_DIR_HOST)/bin/trx -o $(KDIR)/$(IMG_PREFIX)-squashfs-$(1).trx \
25                 -f $(KDIR)/zImage-$(1).lzma \
26                 -a 1024 -f $(KDIR)/root.squashfs -a 0x10000 -A $(KDIR)/fs_mark
27 endef
28
29 define Image/Build/DTB
30         rm -f $(KDIR)/$(1)-$(2).lzma
31         rm -f $(KDIR)/$(1)-$(2).dts
32         cat $(KDIR)/$(1) $(DTS_DIR)/$(2).dtb > $(KDIR)/$(1)-$(2).dts;
33         $(STAGING_DIR_HOST)/bin/lzma e $(KDIR)/$(1)-$(2).dts $(KDIR)/$(1)-$(2).lzma -d16
34 endef
35
36 define Image/Build/Chk
37         $(call Image/Build/$(1)/DTB,$(2))
38         $(STAGING_DIR_HOST)/bin/mkchkimg -o $(BIN_DIR)/openwrt-$(2)-$(1).chk -k $(KDIR)/$(IMG_PREFIX)-$(1)-$(2).trx -b $(3) -r $(4)
39 endef
40
41 # $(1): filesystem type (e.g. squashfs, initramfs).
42 define Image/Build
43         $(call Image/Build/Chk,$(1),bcm4708-netgear-r6250,U12H245T00_NETGEAR,2)
44 endef
45
46 define Image/Build/Initramfs
47         $(call Image/Build,initramfs)
48 endef
49
50 $(eval $(call BuildImage))