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
:= 0x80a00000
12 LOADADDR
:= 0x80060000
14 LOADER_NAME
:= $(basename $(notdir $(LOADER
)))
25 LOADER_BIN
:= $(TARGET_DIR
)/$(LOADER_NAME
).bin
26 LOADER_GZ
:= $(TARGET_DIR
)/$(LOADER_NAME
).gz
27 LOADER_ELF
:= $(TARGET_DIR
)/$(LOADER_NAME
).elf
29 PKG_NAME
:= lzma-loader
30 PKG_BUILD_DIR
:= $(KDIR
)/$(PKG_NAME
)
32 .PHONY
: loader-compile loader.bin loader.elf loader.gz
34 $(PKG_BUILD_DIR
)/.prepared
:
35 mkdir
$(PKG_BUILD_DIR
)
36 $(CP
) .
/src
/* $(PKG_BUILD_DIR
)/
39 loader-compile
: $(PKG_BUILD_DIR
)/.prepared
40 $(MAKE
) -C
$(PKG_BUILD_DIR
) CROSS_COMPILE
="$(TARGET_CROSS)" \
41 LZMA_TEXT_START
=$(LZMA_TEXT_START
) \
42 LOADADDR
=$(LOADADDR
) \
43 LOADER_DATA
=$(LOADER_DATA
) \
44 FLASH_OFFS
=$(FLASH_OFFS
) \
45 FLASH_MAX
=$(FLASH_MAX
) \
49 loader.gz
: $(PKG_BUILD_DIR
)/loader.bin
50 # Workaround for buggy bootloaders: Some devices
51 # (TP-Link TL-WR1043ND v1) don't work correctly when
52 # the uncompressed loader is too small (probably a cache
54 dd if
=$< bs
=512K conv
=sync | gzip
-nc9
> $(LOADER_GZ
)
56 loader.elf
: $(PKG_BUILD_DIR
)/loader.elf
57 $(CP
) $< $(LOADER_ELF
)
59 loader.bin
: $(PKG_BUILD_DIR
)/loader.bin
60 $(CP
) $< $(LOADER_BIN
)
63 prepare
: $(PKG_BUILD_DIR
)/.prepared
64 compile
: loader-compile
69 rm -rf
$(PKG_BUILD_DIR
)