1eaf1e457c8862b603cc2477af1638a05aa5a599
[openwrt/openwrt.git] / target / linux / ar71xx / image / Makefile
1 #
2 # Copyright (C) 2008-2011 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9 include $(INCLUDE_DIR)/image.mk
10
11 KERNEL_LOADADDR = 0x80060000
12
13 DEVICE_VARS += BOARDNAME CMDLINE CONSOLE IMAGE_SIZE LOADER_TYPE
14
15 ifeq ($(SUBTARGET),generic)
16 include ./generic.mk
17 include ./generic-legacy-devices.mk
18 include ./generic-senao.mk
19 include ./generic-tp-link.mk
20 include ./generic-ubnt.mk
21 endif
22 ifeq ($(SUBTARGET),tiny)
23 include ./tiny-tp-link.mk
24 include ./tiny-legacy-devices.mk
25 endif
26 ifeq ($(SUBTARGET),nand)
27 include ./nand.mk
28 endif
29 ifeq ($(SUBTARGET),mikrotik)
30 include ./mikrotik.mk
31 endif
32 include ./legacy.mk
33
34 define Build/loader-common
35 rm -rf $@.src
36 $(MAKE) -C lzma-loader \
37 PKG_BUILD_DIR="$@.src" \
38 TARGET_DIR="$(dir $@)" LOADER_NAME="$(notdir $@)" \
39 BOARD="$(BOARDNAME)" \
40 LZMA_TEXT_START=0x80a00000 LOADADDR=0x80060000 \
41 $(1) compile loader.$(LOADER_TYPE)
42 mv "$@.$(LOADER_TYPE)" "$@"
43 rm -rf $@.src
44 endef
45
46 define Build/loader-kernel
47 $(call Build/loader-common,LOADER_DATA="$@")
48 endef
49
50 define Build/loader-kernel-cmdline
51 $(call Build/loader-common,LOADER_DATA="$@" KERNEL_CMDLINE="$(CMDLINE)")
52 endef
53
54 define Device/Default
55 BOARDNAME :=
56 DEVICE_PROFILE = $$(BOARDNAME)
57 PROFILES = Default Minimal $$(DEVICE_PROFILE)
58 MTDPARTS :=
59 BLOCKSIZE := 64k
60 CONSOLE := ttyS0,115200
61 CMDLINE = $$(if $$(BOARDNAME),board=$$(BOARDNAME)) $$(if $$(MTDPARTS),mtdparts=$$(MTDPARTS)) $$(if $$(CONSOLE),console=$$(CONSOLE))
62 KERNEL := kernel-bin | patch-cmdline | lzma | uImage lzma
63 COMPILE :=
64 IMAGES := sysupgrade.bin
65 IMAGE/sysupgrade.bin = append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE)
66 endef
67
68 $(eval $(call BuildImage))