bcm53xx: image: rework Makefile and merge some functions
[openwrt/staging/rmilecki.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))