Rev 494 | Rev 666 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
NAME := pngCOMPRESS := trueEMCOREDIR ?= ../../emcore/trunk/ifeq ($(shell uname),WindowsNT)CCACHE :=elseCCACHE := $(shell which ccache)endifCROSS ?= arm-elf-eabi-CC := $(CCACHE) $(CROSS)gccAS := $(CROSS)asLD := $(CROSS)ldOBJCOPY := $(CROSS)objcopyELF2ECA := $(CROSS)elf2emcoreappCFLAGS += -Os -fno-pie -fno-stack-protector -fomit-frame-pointer -I. -I$(EMCOREDIR)/export -ffunction-sections -fdata-sections -mcpu=arm940t -DARM_ARCH=4LDFLAGS += "$(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))&:")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/$(NAME).emcorelibbuild/$(NAME).emcorelib: build/$(NAME).elf@echo [EMCLIB] $<ifeq ($(COMPRESS),true)@$(ELF2ECA) -l -z -s 0 -o $@ $^else@$(ELF2ECA) -l -s 0 -o $@ $^endifbuild/$(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)/' < $< > $@endifclean:rm -rf build.PHONY: all clean $(NAME)