2 # Copyright (C) 2011 OpenWrt.org
3 # Copyright (C) 2011 Gabor Juhos <juhosg@openwrt.org>
5 # This is free software, licensed under the GNU General Public License v2.
6 # See /LICENSE for more information.
9 include $(TOPDIR
)/rules.mk
11 LZMA_TEXT_START
:= 0x81800000
12 LOADADDR
:= 0x80060000
14 LOADER_NAME
:= $(basename $(notdir $(LOADER
)))
26 LOADER_BIN
:= $(TARGET_DIR
)/$(LOADER_NAME
).bin
27 LOADER_GZ
:= $(TARGET_DIR
)/$(LOADER_NAME
).gz
28 LOADER_ELF
:= $(TARGET_DIR
)/$(LOADER_NAME
).elf
30 PKG_NAME
:= lzma-loader
31 PKG_BUILD_DIR
:= $(KDIR
)/$(PKG_NAME
)
33 .PHONY
: loader-compile loader.bin loader.elf loader.gz
35 $(PKG_BUILD_DIR
)/.prepared
:
36 mkdir
$(PKG_BUILD_DIR
)
37 $(CP
) .
/src
/* $(PKG_BUILD_DIR
)/
40 loader-compile
: $(PKG_BUILD_DIR
)/.prepared
41 $(MAKE
) -C
$(PKG_BUILD_DIR
) CROSS_COMPILE
="$(TARGET_CROSS)" \
42 LZMA_TEXT_START
=$(LZMA_TEXT_START
) \
43 LOADADDR
=$(LOADADDR
) \
44 LOADER_DATA
=$(LOADER_DATA
) \
45 KERNEL_MAGIC
=$(KERNEL_MAGIC
) \
46 FLASH_OFFS
=$(FLASH_OFFS
) \
47 FLASH_MAX
=$(FLASH_MAX
) \
51 loader.gz
: $(PKG_BUILD_DIR
)/loader.bin
52 # Workaround for buggy bootloaders: Some devices
53 # (TP-Link TL-WR1043ND v1) don't work correctly when
54 # the uncompressed loader is too small (probably a cache
56 dd if
=$< bs
=512K conv
=sync | gzip
-nc9
> $(LOADER_GZ
)
58 loader.elf
: $(PKG_BUILD_DIR
)/loader.elf
59 $(CP
) $< $(LOADER_ELF
)
61 loader.bin
: $(PKG_BUILD_DIR
)/loader.bin
62 $(CP
) $< $(LOADER_BIN
)
65 prepare
: $(PKG_BUILD_DIR
)/.prepared
66 compile
: loader-compile
71 rm -rf
$(PKG_BUILD_DIR
)