12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- #
- # Copyright (C) 2011 OpenWrt.org
- # Copyright (C) 2011 Gabor Juhos <juhosg@openwrt.org>
- #
- # This is free software, licensed under the GNU General Public License v2.
- # See /LICENSE for more information.
- #
- include $(TOPDIR)/rules.mk
- LZMA_TEXT_START := 0x80a00000
- LOADADDR := 0x80060000
- LOADER := loader.bin
- LOADER_NAME := $(basename $(notdir $(LOADER)))
- LOADER_DATA :=
- TARGET_DIR :=
- FLASH_OFFS :=
- FLASH_MAX :=
- BOARD :=
- ifeq ($(TARGET_DIR),)
- TARGET_DIR := $(KDIR)
- endif
- LOADER_BIN := $(TARGET_DIR)/$(LOADER_NAME).bin
- LOADER_GZ := $(TARGET_DIR)/$(LOADER_NAME).gz
- LOADER_ELF := $(TARGET_DIR)/$(LOADER_NAME).elf
- PKG_NAME := lzma-loader
- PKG_BUILD_DIR := $(KDIR)/$(PKG_NAME)
- .PHONY : loader-compile loader.bin loader.elf loader.gz
- $(PKG_BUILD_DIR)/.prepared:
- mkdir $(PKG_BUILD_DIR)
- $(CP) ./src/* $(PKG_BUILD_DIR)/
- touch $@
- loader-compile: $(PKG_BUILD_DIR)/.prepared
- $(MAKE) -C $(PKG_BUILD_DIR) CROSS_COMPILE="$(TARGET_CROSS)" \
- LZMA_TEXT_START=$(LZMA_TEXT_START) \
- LOADADDR=$(LOADADDR) \
- LOADER_DATA=$(LOADER_DATA) \
- FLASH_OFFS=$(FLASH_OFFS) \
- FLASH_MAX=$(FLASH_MAX) \
- BOARD="$(BOARD)" \
- clean all
- loader.gz: $(PKG_BUILD_DIR)/loader.bin
- # Workaround for buggy bootloaders: Some devices
- # (TP-Link TL-WR1043ND v1) don't work correctly when
- # the uncompressed loader is too small (probably a cache
- # invalidation issue)
- dd if=$< bs=512K conv=sync | gzip -nc9 > $(LOADER_GZ)
- loader.elf: $(PKG_BUILD_DIR)/loader.elf
- $(CP) $< $(LOADER_ELF)
- loader.bin: $(PKG_BUILD_DIR)/loader.bin
- $(CP) $< $(LOADER_BIN)
- download:
- prepare: $(PKG_BUILD_DIR)/.prepared
- compile: loader-compile
- install:
- clean:
- rm -rf $(PKG_BUILD_DIR)
|