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)