summaryrefslogtreecommitdiffstats
path: root/firmware/decompressor/Makefile
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2008-10-28 21:07:53 +0000
committerJens Arnold <amiconn@rockbox.org>2008-10-28 21:07:53 +0000
commit2c52dee83f5c796fe471e6fab15dea17a2f508ff (patch)
tree4f90ccd3c1d5785385fea9144e5011b1943acfcd /firmware/decompressor/Makefile
parentafd2f681d18e574442f8569f1a722d5d39d79b78 (diff)
downloadrockbox-2c52dee83f5c796fe471e6fab15dea17a2f508ff.tar.gz
rockbox-2c52dee83f5c796fe471e6fab15dea17a2f508ff.tar.bz2
rockbox-2c52dee83f5c796fe471e6fab15dea17a2f508ff.zip
Self-extractor for on-disk firmware image: UCL decompressor in SH1 assembler - less than half the size of the compiled C function, and ~45% faster.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18904 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/decompressor/Makefile')
-rw-r--r--firmware/decompressor/Makefile12
1 files changed, 7 insertions, 5 deletions
diff --git a/firmware/decompressor/Makefile b/firmware/decompressor/Makefile
index 46d7afe1b0..33b6affc6d 100644
--- a/firmware/decompressor/Makefile
+++ b/firmware/decompressor/Makefile
@@ -14,7 +14,8 @@ PRINTS=$(SILENT)$(call info,$(1))
LDS := link.lds
LINKFILE = $(OBJDIR)/linkage.lds
-OBJS := $(OBJDIR)/decompressor.o $(OBJDIR)/uclimage.o $(OBJDIR)/startup.o
+OBJS := $(OBJDIR)/decompressor.o $(OBJDIR)/uclimage.o \
+ $(OBJDIR)/sh_nrv2e_d8.o $(OBJDIR)/startup.o
CFLAGS = $(GCCOPTS)
all: $(OBJDIR)/compressed.bin
@@ -25,9 +26,6 @@ $(OBJDIR)/compressed.bin : $(OBJDIR)/compressed.elf
$(OBJDIR)/compressed.elf : $(OBJS) $(LINKFILE)
$(call PRINTS,LD $(@F))$(CC) $(GCCOPTS) -Os -nostdlib -o $@ $(OBJS) -T$(LINKFILE) -Wl,-Map,$(OBJDIR)/compressed.map
-$(LDS): $(OBJS)
-
-
$(LINKFILE): $(LDS)
$(call PRINTS,Build LDS file)cat $< | $(CC) -DMEMORYSIZE=$(MEMORYSIZE) $(INCLUDES) $(TARGET) $(DEFINES) -E -P $(ROMBUILD) - >$@
@@ -39,11 +37,15 @@ $(OBJDIR)/startup.o : startup.S
$(SILENT)mkdir -p $(dir $@)
$(call PRINTS,AS $<)$(CC) $(CFLAGS) -c $< -o $@
+$(OBJDIR)/sh_nrv2e_d8.o : sh_nrv2e_d8.S
+ $(SILENT)mkdir -p $(dir $@)
+ $(call PRINTS,AS $<)$(CC) $(CFLAGS) -c $< -o $@
+
$(OBJDIR)/uclimage.o : $(OBJDIR)/uclimage.c
$(SILENT)mkdir -p $(dir $@)
$(call PRINTS,CC $(<F))$(CC) $(CFLAGS) -c $< -o $@
$(OBJDIR)/uclimage.c : $(FLASHFILE) $(TOOLSDIR)/ucl2src.pl
$(SILENT)mkdir -p $(dir $@)
- $(call PRINTS,UCL2SRC)perl -s $(TOOLSDIR)/ucl2src.pl -p=$(OBJDIR)/uclimage $<
+ $(call PRINTS,UCL2SRC $(<F))perl -s $(TOOLSDIR)/ucl2src.pl -p=$(OBJDIR)/uclimage $<