2 # Copyright (C) 2013 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
7 include $(TOPDIR
)/rules.mk
8 include $(INCLUDE_DIR
)/image.mk
10 define sanitize_profile_name
11 $(shell echo
$(PROFILE
) | tr
'[:upper:]' '[:lower:]' | sed
's/_/-/g')
14 define Image
/BuildKernel
/Template
16 $(CP
) $(KDIR
)/zImage
$(BIN_DIR
)/$(IMG_PREFIX
)-zImage
17 echo
-ne
'\x00\x00\x00\x00' >> $(BIN_DIR
)/$(IMG_PREFIX
)-zImage
18 $(call Image
/BuildKernel
/MkuImage
, \
19 none
, 0x40008000, 0x40008000, \
20 $(BIN_DIR
)/$(IMG_PREFIX
)-zImage
, \
21 $(BIN_DIR
)/$(IMG_PREFIX
)-uImage \
24 ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS
),)
25 $(CP
) $(KDIR
)/zImage-initramfs
$(BIN_DIR
)/$(IMG_PREFIX
)-zImage-initramfs
26 echo
-ne
'\x00\x00\x00\x00' >> $(BIN_DIR
)/$(IMG_PREFIX
)-zImage-initramfs
27 $(call Image
/BuildKernel
/MkuImage
, \
28 none
, 0x40008000, 0x40008000, \
29 $(BIN_DIR
)/$(IMG_PREFIX
)-zImage-initramfs
, \
30 $(BIN_DIR
)/$(IMG_PREFIX
)-uImage-initramfs \
35 $(CP
) $(LINUX_DIR
)/arch
/arm
/boot
/dts
/$(1).dtb
$(BIN_DIR
)/$(IMG_PREFIX
)-$(1).dtb
37 $(CP
) $(KDIR
)/zImage
$(BIN_DIR
)/$(IMG_PREFIX
)-$(call sanitize_profile_name
)-zImage
38 cat
$(BIN_DIR
)/$(IMG_PREFIX
)-$(1).dtb
>> $(BIN_DIR
)/$(IMG_PREFIX
)-$(call sanitize_profile_name
)-zImage
39 $(call Image
/BuildKernel
/MkuImage
, \
40 none
, 0x40008000, 0x40008000, \
41 $(BIN_DIR
)/$(IMG_PREFIX
)-$(call sanitize_profile_name
)-zImage
, \
42 $(BIN_DIR
)/$(IMG_PREFIX
)-$(call sanitize_profile_name
)-uImage \
45 ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS
),)
46 $(CP
) $(KDIR
)/zImage-initramfs
$(BIN_DIR
)/$(IMG_PREFIX
)-$(call sanitize_profile_name
)-zImage-initramfs
47 cat
$(BIN_DIR
)/$(IMG_PREFIX
)-$(1).dtb
>> $(BIN_DIR
)/$(IMG_PREFIX
)-$(call sanitize_profile_name
)-zImage-initramfs
48 $(call Image
/BuildKernel
/MkuImage
, \
49 none
, 0x40008000, 0x40008000, \
50 $(BIN_DIR
)/$(IMG_PREFIX
)-$(call sanitize_profile_name
)-zImage-initramfs
, \
51 $(BIN_DIR
)/$(IMG_PREFIX
)-$(call sanitize_profile_name
)-uImage-initramfs \
57 define Image
/InstallKernel
/Template
59 ifneq ($(CONFIG_TARGET_ROOTFS_INCLUDE_KERNEL
),)
60 $(INSTALL_DIR
) $(TARGET_DIR
)/boot
61 ifneq ($(CONFIG_TARGET_ROOTFS_INCLUDE_UIMAGE
),)
62 $(CP
) $(BIN_DIR
)/$(IMG_PREFIX
)-uImage
$(TARGET_DIR
)/boot
/
63 ln
-sf
$(IMG_PREFIX
)-uImage
$(TARGET_DIR
)/boot
/uImage
65 ifneq ($(CONFIG_TARGET_ROOTFS_INCLUDE_ZIMAGE
),)
66 $(CP
) $(BIN_DIR
)/$(IMG_PREFIX
)-zImage
$(TARGET_DIR
)/boot
/
67 ln
-sf
$(IMG_PREFIX
)-zImage
$(TARGET_DIR
)/boot
/zImage
71 ifneq ($(CONFIG_TARGET_ROOTFS_INCLUDE_DTB
),)
72 $(INSTALL_DIR
) $(TARGET_DIR
)/boot
74 $(CP
) $(BIN_DIR
)/$(IMG_PREFIX
)-$(1).dtb
$(TARGET_DIR
)/boot
/
75 ln
-sf
$(IMG_PREFIX
)-$(1).dtb
$(TARGET_DIR
)/boot
/$(1).dtb
80 define Image
/mkfs
/targz
82 $(TAR
) -czpf
$(BIN_DIR
)/$(IMG_PREFIX
)-$(call sanitize_profile_name
)-rootfs.
tar.gz
--numeric-owner
--owner
=0 --group
=0 -C
$(TARGET_DIR
)/ .
85 define Image
/Build
/ubifs
87 ifneq ($($(PROFILE
)_UBIFS_OPTS
),)
88 $(CP
) $(KDIR
)/root.ubifs
$(BIN_DIR
)/$(IMG_PREFIX
)-$(call sanitize_profile_name
)-rootfs.ubifs
92 define Image
/Build
/ubi
94 ifneq ($($(PROFILE
)_UBI_OPTS
),)
95 $(CP
) $(KDIR
)/root.ubi
$(BIN_DIR
)/$(IMG_PREFIX
)-$(call sanitize_profile_name
)-rootfs.ubi
100 Image
/BuildKernel
/Template
/generic
=$(call Image
/BuildKernel
/Template
)
101 Image
/InstallKernel
/Template
/generic
=$(call Image
/InstallKernel
/Template
)
103 Image
/BuildKernel
/Template
/CUBIEBOARD
=$(call Image
/BuildKernel
/Template
,sun4i-a10-cubieboard
)
104 Image
/InstallKernel
/Template
/CUBIEBOARD
=$(call Image
/InstallKernel
/Template
,sun4i-a10-cubieboard
)
106 define Image
/BuildKernel
107 $(call Image
/BuildKernel
/Template
/$(PROFILE
))
110 define Image
/InstallKernel
111 $(call Image
/InstallKernel
/Template
/$(PROFILE
))
115 $(if
$(Image
/Build
/$(1)), \
116 $(call Image
/Build
/$(1),$(1)), \
117 $(CP
) $(KDIR
)/root.
$(1) $(BIN_DIR
)/$(IMG_PREFIX
)-$(call sanitize_profile_name
)-$(1).img \
121 $(eval
$(call BuildImage
))