Rev 870 | Blame | Compare with Previous | Last modification | View Log | RSS feed
NAME := installer-ipodnano4gSTACKSIZE := 4096COMPRESS := falseAUTOBUILD_FLASHFILES ?= trueEMCOREDIR ?= ../../emcore/trunk/BOOTMENUDIR ?= ../bootmenu-ipodnano4g/LIBBOOTDIR ?= ../../libs/boot/LIBPNGDIR ?= ../../libs/png/LIBUIDIR ?= ../../libs/ui/LIBMKFAT32DIR ?= ../../libs/mkfat32/UMSBOOTDIR ?= ../../umsboot/TOOLSDIR ?= ../../tools/FLASHFILES = flashfiles/boot.emcorelib flashfiles/png.emcorelib flashfiles/ui.emcorelib flashfiles/mkfat32.emcorelib \flashfiles/bootmenu-ipodnano4g.emcoreapp flashfiles/background.png flashfiles/icons.png flashfiles/rockbox.png \flashfiles/emcoreldr-ipodnano4g.bin flashfiles/emcore-ipodnano4g.ucl flashfiles/umsboot-ipodnano4g.uclifeq ($(shell uname),WindowsNT)CCACHE :=elseCCACHE := $(shell which ccache)endifCROSS ?= arm-elf-eabi-CC := $(CCACHE) $(CROSS)gccAS := $(CROSS)asLD := $(CROSS)ldOBJCOPY := $(CROSS)objcopyELF2ECA := $(CROSS)elf2emcoreappUCLPACK := ucl2e10singleblkSTUBEMBED := python tools/stubembed.pyEMCOREBOOTCFG := python $(EMCOREDIR)/tools/emcorebootcfg.pyEMCOREEMBEDAPP := python $(EMCOREDIR)/tools/emcoreembedapp.pyGENPWN := python $(EMCOREDIR)/tools/ipodcrypt.py s5l8720-genpwnageLIBINCLUDES := -I$(LIBPNGDIR)/export -I$(LIBUIDIR)/export -I$(LIBMKFAT32DIR)/exportCFLAGS += -Os -fno-pie -fno-stack-protector -fomit-frame-pointer -I. -I$(EMCOREDIR)/export $(LIBINCLUDES) -ffunction-sections -fdata-sections -mcpu=arm1176jz-s -DARM_ARCH=6 -marmLDFLAGS += "$(shell $(CC) -print-libgcc-file-name)" --emit-relocs --gc-sectionspreprocess = $(shell $(CC) $(PPCFLAGS) $(2) -E -P -x c $(1) | grep -v "^\#")preprocesspaths = $(shell $(CC) $(PPCFLAGS) $(2) -E -P -x c $(1) | grep -v "^\#" | sed -e "s:^..*:$(dir $(1))&:" | sed -e "s:^\\./::")REVISION := $(shell svnversion .)REVISIONINT := $(shell echo $(REVISION) | sed -e "s/[^0-9].*$$//")HELPERS := build/__emcore_armhelpers.oSRC := $(call preprocesspaths,SOURCES,-I. -I..)OBJ := $(SRC:%.c=build/%.o)OBJ := $(OBJ:%.S=build/%.o) $(HELPERS)all: $(NAME)-include $(OBJ:%=%.dep)$(NAME): build/bootstrap-ipodnano4g.dfu build/$(NAME).ubibuild/bootstrap-ipodnano4g.dfu: build/bootstrap.bin@echo [GENPWN] $<@$(GENPWN) $< $@build/bootstrap.bin: build/bootstub.bin $(UMSBOOTDIR)/build/umsboot/ipodnano4g/release/umsboot.bin@echo [STUBEM] $@@$(STUBEMBED) $^ $@build/$(NAME).ubi: $(EMCOREDIR)/build/ipodnano4g/emcore.bin build/$(NAME).emcoreapp@echo [EMBAPP] $@@$(EMCOREEMBEDAPP) $^ $@build/bootstub.bin: build/bootstub.elf@echo [OC] $<@$(OBJCOPY) -O binary $^ $@build/bootstub.elf: bootstub/ls.x build/bootstub/bootstub.o@echo [LD] $@@$(LD) $(LDFLAGS) -o $@ -T bootstub/ls.x build/bootstub/bootstub.obuild/$(NAME).emcoreapp: build/$(NAME).elf@echo [EMCAPP] $<ifeq ($(COMPRESS),true)@$(ELF2ECA) -z -s $(STACKSIZE) -o $@ $^else@$(ELF2ECA) -s $(STACKSIZE) -o $@ $^endififeq ($(AUTOBUILD_FLASHFILES),true)build/resources.o: $(FLASHFILES)elsebuild/resources.o: flashfiles.builtendifbuild/$(NAME).elf: ls.x $(OBJ)@echo [LD] $@@$(LD) $(LDFLAGS) -o $@ -T ls.x $(OBJ)build/%.o: %.c build/version.h@echo [CC] $<ifeq ($(shell uname),WindowsNT)@-if not exist $(subst /,\,$(dir $@)) md $(subst /,\,$(dir $@))else@-mkdir -p $(dir $@)endif@$(CC) -c $(CFLAGS) -o $@ $<@$(CC) -MM $(CFLAGS) $< > $@.dep.tmp@sed -e "s|.*:|$@:|" < $@.dep.tmp > $@.depifeq ($(shell uname),WindowsNT)@sed -e "s/.*://" -e "s/\\$$//" < $@.dep.tmp | fmt -1 | sed -e "s/^ *//" -e "s/$$/:/" >> $@.depelse@sed -e 's/.*://' -e 's/\\$$//' < $@.dep.tmp | fmt -1 | sed -e 's/^ *//' -e 's/$$/:/' >> $@.dependif@rm -f $@.dep.tmpbuild/%.o: %.S build/version.h@echo [CC] $<ifeq ($(shell uname),WindowsNT)@-if not exist $(subst /,\,$(dir $@)) md $(subst /,\,$(dir $@))else@-mkdir -p $(dir $@)endif@$(CC) -c $(CFLAGS) -o $@ $<@$(CC) -MM $(CFLAGS) $< > $@.dep.tmp@sed -e "s|.*:|$@:|" < $@.dep.tmp > $@.depifeq ($(shell uname),WindowsNT)@sed -e "s/.*://" -e "s/\\$$//" < $@.dep.tmp | fmt -1 | sed -e "s/^ *//" -e "s/$$/:/" >> $@.depelse@sed -e 's/.*://' -e 's/\\$$//' < $@.dep.tmp | fmt -1 | sed -e 's/^ *//' -e 's/$$/:/' >> $@.dependif@rm -f $@.dep.tmpbuild/__emcore_%.o: $(EMCOREDIR)/export/%.c@echo [CC] $<ifeq ($(shell uname),WindowsNT)@-if not exist $(subst /,\,$(dir $@)) md $(subst /,\,$(dir $@))else@-mkdir -p $(dir $@)endif@$(CC) -c $(CFLAGS) -o $@ $<build/__emcore_%.o: $(EMCOREDIR)/export/%.S@echo [CC] $<ifeq ($(shell uname),WindowsNT)@-if not exist $(subst /,\,$(dir $@)) md $(subst /,\,$(dir $@))else@-mkdir -p $(dir $@)endif@$(CC) -c $(CFLAGS) -o $@ $<build/version.h: version.h ../../.svn/entries@echo [PP] $<ifeq ($(shell uname),WindowsNT)@-if not exist build md build@sed -e "s/\$$REVISION\$$/$(REVISION)/" -e "s/\$$REVISIONINT\$$/$(REVISIONINT)/" < $< > $@else@-mkdir -p build@sed -e 's/\$$REVISION\$$/$(REVISION)/' -e 's/\$$REVISIONINT\$$/$(REVISIONINT)/' < $< > $@endifflashfiles: $(FLASHFILES)@touch flashfiles.built$(LIBBOOTDIR)/build/boot.emcorelib: libboot@$(MAKE) -C $(LIBBOOTDIR)flashfiles/boot.emcorelib: $(LIBBOOTDIR)/build/boot.emcorelib@echo [CP] $@@cp $< $@$(LIBPNGDIR)/build/png.emcorelib: libpng@$(MAKE) -C $(LIBPNGDIR)flashfiles/png.emcorelib: $(LIBPNGDIR)/build/png.emcorelib@echo [CP] $@@cp $< $@$(LIBUIDIR)/build/ui.emcorelib: libui@$(MAKE) -C $(LIBUIDIR)flashfiles/ui.emcorelib: $(LIBUIDIR)/build/ui.emcorelib@echo [CP] $@@cp $< $@$(LIBMKFAT32DIR)/build/mkfat32.emcorelib: libmkfat32@$(MAKE) -C $(LIBMKFAT32DIR)flashfiles/mkfat32.emcorelib: $(LIBMKFAT32DIR)/build/mkfat32.emcorelib@echo [CP] $@@cp $< $@$(UMSBOOTDIR)/build/umsboot/ipodnano4g/release/umsboot.bin: umsboot@$(MAKE) -C $(UMSBOOTDIR) TYPE=release TARGET=umsboot/ipodnano4gflashfiles/umsboot-ipodnano4g.ucl: $(UMSBOOTDIR)/build/umsboot/ipodnano4g/release/umsboot.bin@echo [UCL] $@@$(UCLPACK) $< $@$(BOOTMENUDIR)/build/bootmenu-ipodnano4g.emcoreapp: bootmenu-ipodnano4g@$(MAKE) -C $(BOOTMENUDIR)flashfiles/bootmenu-ipodnano4g.emcoreapp: $(BOOTMENUDIR)/build/bootmenu-ipodnano4g.emcoreapp@echo [CP] $@@cp $< $@flashfiles/background.png: $(BOOTMENUDIR)/images/background.png@echo [CP] $@@cp $< $@flashfiles/icons.png: $(BOOTMENUDIR)/images/icons.png@echo [CP] $@@cp $< $@flashfiles/rockbox.png: $(BOOTMENUDIR)/images/rockbox.png@echo [CP] $@@cp $< $@$(EMCOREDIR)/loader/ipodnano4g/build/emcoreldr-ipodnano4g.bin: emcoreldr-ipodnano4g@$(MAKE) -C $(EMCOREDIR)/loader/ipodnano4gflashfiles/emcoreldr-ipodnano4g.bin: $(EMCOREDIR)/loader/ipodnano4g/build/emcoreldr-ipodnano4g.bin@echo [CP] $@@cp $< $@flashfiles/emcore-ipodnano4g.ucl: flashfiles/emcore-ipodnano4g.bin@echo [UCL] $<@$(UCLPACK) $< $@$(EMCOREDIR)/build/ipodnano4g/emcore.bin: emcore@$(MAKE) -C $(EMCOREDIR) ipodnano4gflashfiles/emcore-ipodnano4g.bin: $(EMCOREDIR)/build/ipodnano4g/emcore.bin@echo [EMBCFG] $@@$(EMCOREBOOTCFG) $< $@ "(3, '/.boot/init.emcoreapp', None, (2, 'bootmenu', None, None))"clean:@rm -rf build.PHONY: all clean emcore emcoreldr-ipodnano4g bootmenu-ipodnano4g libboot libpng libui libmkfat32 umsboot libucl flashfiles $(NAME)