x1000: Merge makefiles used for the bootloader
All three X1000 native targets turned out to have a very similar boot configuration and used a nearly identical makefile. Eliminate this duplication by moving the logic into the main makefile. Change-Id: I13044b9675c0abd605b8accdb2fee4f54549b020
This commit is contained in:
parent
6e61e6f0c8
commit
701d4ba77e
5 changed files with 45 additions and 95 deletions
|
@ -1,30 +0,0 @@
|
|||
# __________ __ ___.
|
||||
# Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
||||
# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
||||
# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
||||
# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
||||
# \/ \/ \/ \/ \/
|
||||
# $Id$
|
||||
#
|
||||
|
||||
include $(ROOTDIR)/lib/microtar/microtar.make
|
||||
|
||||
.SECONDEXPANSION:
|
||||
|
||||
$(BUILDDIR)/spl.erosq: $(BUILDDIR)/spl.bin
|
||||
$(call PRINTS,MKSPL $(@F))$(TOOLSDIR)/mkspl-x1000 -type=nand -ppb=2 -bpp=2 $< $@
|
||||
|
||||
$(BUILDDIR)/bootloader.ucl: $(BUILDDIR)/bootloader.bin
|
||||
$(call PRINTS,UCLPACK $(@F))$(TOOLSDIR)/uclpack --nrv2e -9 $< $@ >/dev/null
|
||||
|
||||
.PHONY: $(BUILDDIR)/bootloader-info.txt
|
||||
$(BUILDDIR)/bootloader-info.txt:
|
||||
$(call PRINTS,GEN $(@F))echo $(SVNVERSION) > $@
|
||||
|
||||
$(BUILDDIR)/$(BINARY): $(BUILDDIR)/spl.erosq \
|
||||
$(BUILDDIR)/bootloader.ucl \
|
||||
$(BUILDDIR)/bootloader-info.txt
|
||||
$(call PRINTS,TAR $(@F))tar -C $(BUILDDIR) \
|
||||
--numeric-owner --no-acls --no-xattrs --no-selinux \
|
||||
--mode=0644 --owner=0 --group=0 \
|
||||
-cf $@ $(call full_path_subst,$(BUILDDIR)/%,%,$^)
|
|
@ -1,30 +0,0 @@
|
|||
# __________ __ ___.
|
||||
# Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
||||
# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
||||
# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
||||
# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
||||
# \/ \/ \/ \/ \/
|
||||
# $Id$
|
||||
#
|
||||
|
||||
include $(ROOTDIR)/lib/microtar/microtar.make
|
||||
|
||||
.SECONDEXPANSION:
|
||||
|
||||
$(BUILDDIR)/spl.m3k: $(BUILDDIR)/spl.bin
|
||||
$(call PRINTS,MKSPL $(@F))$(TOOLSDIR)/mkspl-x1000 -type=nand -ppb=2 -bpp=2 $< $@
|
||||
|
||||
$(BUILDDIR)/bootloader.ucl: $(BUILDDIR)/bootloader.bin
|
||||
$(call PRINTS,UCLPACK $(@F))$(TOOLSDIR)/uclpack --nrv2e -9 $< $@ >/dev/null
|
||||
|
||||
.PHONY: $(BUILDDIR)/bootloader-info.txt
|
||||
$(BUILDDIR)/bootloader-info.txt:
|
||||
$(call PRINTS,GEN $(@F))echo $(SVNVERSION) > $@
|
||||
|
||||
$(BUILDDIR)/$(BINARY): $(BUILDDIR)/spl.m3k \
|
||||
$(BUILDDIR)/bootloader.ucl \
|
||||
$(BUILDDIR)/bootloader-info.txt
|
||||
$(call PRINTS,TAR $(@F))tar -C $(BUILDDIR) \
|
||||
--numeric-owner --no-acls --no-xattrs --no-selinux \
|
||||
--mode=0644 --owner=0 --group=0 \
|
||||
-cf $@ $(call full_path_subst,$(BUILDDIR)/%,%,$^)
|
|
@ -1,31 +0,0 @@
|
|||
# __________ __ ___.
|
||||
# Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
||||
# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
||||
# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
||||
# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
||||
# \/ \/ \/ \/ \/
|
||||
# $Id$
|
||||
#
|
||||
|
||||
include $(ROOTDIR)/lib/microtar/microtar.make
|
||||
|
||||
.SECONDEXPANSION:
|
||||
|
||||
# FIXME(q1): verify NAND parameters
|
||||
$(BUILDDIR)/spl.q1: $(BUILDDIR)/spl.bin
|
||||
$(call PRINTS,MKSPL $(@F))$(TOOLSDIR)/mkspl-x1000 -type=nand -ppb=2 -bpp=2 $< $@
|
||||
|
||||
$(BUILDDIR)/bootloader.ucl: $(BUILDDIR)/bootloader.bin
|
||||
$(call PRINTS,UCLPACK $(@F))$(TOOLSDIR)/uclpack --nrv2e -9 $< $@ >/dev/null
|
||||
|
||||
.PHONY: $(BUILDDIR)/bootloader-info.txt
|
||||
$(BUILDDIR)/bootloader-info.txt:
|
||||
$(call PRINTS,GEN $(@F))echo $(SVNVERSION) > $@
|
||||
|
||||
$(BUILDDIR)/$(BINARY): $(BUILDDIR)/spl.q1 \
|
||||
$(BUILDDIR)/bootloader.ucl \
|
||||
$(BUILDDIR)/bootloader-info.txt
|
||||
$(call PRINTS,TAR $(@F))tar -C $(BUILDDIR) \
|
||||
--numeric-owner --no-acls --no-xattrs --no-selinux \
|
||||
--mode=0644 --owner=0 --group=0 \
|
||||
-cf $@ $(call full_path_subst,$(BUILDDIR)/%,%,$^)
|
|
@ -7,6 +7,8 @@
|
|||
# $Id$
|
||||
#
|
||||
|
||||
include $(ROOTDIR)/lib/microtar/microtar.make
|
||||
|
||||
INCLUDES += -I$(APPSDIR)
|
||||
SRC += $(call preprocess, $(APPSDIR)/SOURCES)
|
||||
|
||||
|
@ -14,16 +16,23 @@ LDSDEP := $(FIRMDIR)/export/cpu.h $(FIRMDIR)/export/config/$(MODELNAME).h
|
|||
|
||||
BOOTLDS := $(FIRMDIR)/target/$(CPU)/$(MANUFACTURER)/boot.lds
|
||||
BOOTLINK := $(BUILDDIR)/boot.link
|
||||
BOOTEXT := $(suffix $(BINARY))
|
||||
|
||||
SPLLDS := $(FIRMDIR)/target/$(CPU)/$(MANUFACTURER)/spl.lds
|
||||
SPLLINK := $(BUILDDIR)/spl.link
|
||||
SPLBINARY := spl$(BOOTEXT)
|
||||
|
||||
BLINFO = $(BUILDDIR)/bootloader-info.txt
|
||||
|
||||
CLEANOBJS += $(BUILDDIR)/bootloader.* $(BUILDDIR)/spl.*
|
||||
|
||||
include $(FIRMDIR)/target/$(CPU)/$(MANUFACTURER)/$(MODELNAME)/boot.make
|
||||
# Currently not needed
|
||||
#include $(FIRMDIR)/target/$(CPU)/$(MANUFACTURER)/$(MODELNAME)/boot.make
|
||||
|
||||
.SECONDEXPANSION:
|
||||
|
||||
### Bootloader
|
||||
|
||||
$(BOOTLINK): $(BOOTLDS) $(LDSDEP)
|
||||
$(call PRINTS,PP $(@F))
|
||||
$(call preprocess2file,$<,$@,)
|
||||
|
@ -38,6 +47,12 @@ $(BUILDDIR)/bootloader.elf: $$(OBJ) $(FIRMLIB) $(CORE_LIBS) $$(BOOTLINK)
|
|||
$(BUILDDIR)/bootloader.bin: $(BUILDDIR)/bootloader.elf
|
||||
$(call PRINTS,OC $(@F))$(call objcopy,$<,$@)
|
||||
|
||||
$(BUILDDIR)/bootloader.ucl: $(BUILDDIR)/bootloader.bin
|
||||
$(call PRINTS,UCLPACK $(@F))$(TOOLSDIR)/uclpack --nrv2e -9 $< $@ >/dev/null
|
||||
|
||||
|
||||
### SPL
|
||||
|
||||
$(SPLLINK): $(SPLLDS) $(LDSDEP)
|
||||
$(call PRINTS,PP $(@F))
|
||||
$(call preprocess2file,$<,$@,)
|
||||
|
@ -51,3 +66,29 @@ $(BUILDDIR)/spl.elf: $$(OBJ) $(FIRMLIB) $(CORE_LIBS) $$(SPLLINK)
|
|||
|
||||
$(BUILDDIR)/spl.bin: $(BUILDDIR)/spl.elf
|
||||
$(call PRINTS,OC $(@F))$(call objcopy,$<,$@)
|
||||
|
||||
$(BUILDDIR)/$(SPLBINARY): $(BUILDDIR)/spl.bin
|
||||
$(call PRINTS,MKSPL $(@F))$(MKFIRMWARE) $< $@
|
||||
|
||||
|
||||
### Generating the update package
|
||||
|
||||
# suppress regenerating bootloader-info if nothing has changed
|
||||
BLVERSION:=$(SVNVERSION)
|
||||
OLDBLVERSION:=$(shell head -n1 $(BLINFO) 2>/dev/null || echo "NOREVISION")
|
||||
|
||||
ifneq ($(BLVERSION),$(OLDBLVERSION))
|
||||
.PHONY: $(BLINFO)
|
||||
endif
|
||||
|
||||
$(BLINFO):
|
||||
$(call PRINTS,GEN $(@F))echo $(SVNVERSION) > $@
|
||||
|
||||
# The "binary" is actually an update package which is just a tar archive
|
||||
$(BUILDDIR)/$(BINARY): $(BUILDDIR)/$(SPLBINARY) \
|
||||
$(BUILDDIR)/bootloader.ucl \
|
||||
$(BLINFO)
|
||||
$(call PRINTS,TAR $(@F))tar -C $(BUILDDIR) \
|
||||
--numeric-owner --no-acls --no-xattrs --no-selinux \
|
||||
--mode=0644 --owner=0 --group=0 \
|
||||
-cf $@ $(call full_path_subst,$(BUILDDIR)/%,%,$^)
|
||||
|
|
6
tools/configure
vendored
6
tools/configure
vendored
|
@ -4054,7 +4054,7 @@ fi
|
|||
appextra="recorder:gui"
|
||||
plugins="yes"
|
||||
tool="$rootdir/tools/scramble -add=fiiom3k "
|
||||
boottool="" # not used
|
||||
boottool="$rootdir/tools/mkspl-x1000 -type=nand -ppb=2 -bpp=2 "
|
||||
output="rockbox.m3k"
|
||||
bootoutput="bootloader.m3k"
|
||||
sysfontbl="16-Terminus"
|
||||
|
@ -4078,7 +4078,7 @@ fi
|
|||
appextra="recorder:gui"
|
||||
plugins="yes"
|
||||
tool="$rootdir/tools/scramble -add=shq1 "
|
||||
boottool="" # not used
|
||||
boottool="$rootdir/tools/mkspl-x1000 -type=nand -ppb=2 -bpp=2 "
|
||||
output="rockbox.q1"
|
||||
bootoutput="bootloader.q1"
|
||||
sysfontbl="16-Terminus"
|
||||
|
@ -4102,7 +4102,7 @@ fi
|
|||
appextra="recorder:gui"
|
||||
plugins="yes"
|
||||
tool="$rootdir/tools/scramble -add=erosqnative "
|
||||
boottool="" # not used
|
||||
boottool="$rootdir/tools/mkspl-x1000 -type=nand -ppb=2 -bpp=2 "
|
||||
output="rockbox.erosq"
|
||||
bootoutput="bootloader.erosq"
|
||||
sysfontbl="16-Terminus"
|
||||
|
|
Loading…
Reference in a new issue