X-Git-Url: http://sraa.de/git/?a=blobdiff_plain;f=dol%2Fsrc%2Fdol%2Fvisitor%2Fepiphany%2Ftemplate%2FMakefile;fp=dol%2Fsrc%2Fdol%2Fvisitor%2Fepiphany%2Ftemplate%2FMakefile;h=90cc3bf2c6cb7073f20a33bfb9b343343a5d6440;hb=2858109405a90a4d9df149b10444678d42e41c59;hp=0000000000000000000000000000000000000000;hpb=cbc1f1265fd129d066da10e72e819d7d20f5360a;p=jump.git diff --git a/dol/src/dol/visitor/epiphany/template/Makefile b/dol/src/dol/visitor/epiphany/template/Makefile new file mode 100644 index 0000000..90cc3bf --- /dev/null +++ b/dol/src/dol/visitor/epiphany/template/Makefile @@ -0,0 +1,80 @@ +# Makefile + +# Host and Epiphany application destination +DEST := bin + +# Host source and object folder +HSRC := hsrc +HDEST := hobj + +# Epiphany source, library and object folder +ESRC := esrc +EDEST := eobj +ELIB := lib + +# Host application and host objects +HOSTAPP = $(DEST)/ep_application +HOBJS = $(HDEST)/main.o + +# Epiphany applications and common objects +EPAPPS = @@SREC_FILES@@ +EWRAPPERS = $(patsubst $(DEST)%,$(EDEST)%,$(EPAPPS:.srec=_Wrapper.o)) +ECOMMON = $(EDEST)/dol.o $(EDEST)/ports.o $(EDEST)/index.o + +# Epiphany build flags +CC = e-gcc +OBJCOPY = e-objcopy +CFLAGS = -Os -std=c99 -Ilib -falign-loops=8 -falign-functions=8 -Wall +LFLAGS = -T$(EPIPHANY_HOME)/bsps/current/fast.ldf -le-lib +OCFLAGS = -R .shared_dram -R .data_bank3 + +# Host build flags +HOSTCC = gcc +HCFLAGS = -O2 -std=c99 -I$(EPIPHANY_HOME)/tools/host/include -Wall +HLFLAGS = -L$(EPIPHANY_HOME)/tools/host/lib -le-hal + +# Global rules +.SECONDARY: +.PHONY: all run host cores clean +all: run + +host: $(HOSTAPP) + +cores: $(ECOMMON) $(EWRAPPERS) $(EPAPPS) + +run: host cores + @echo -e "\tRUN" + @sudo LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) \ + EPIPHANY_HDF=$(EPIPHANY_HDF) \ + $(HOSTAPP) + +clean: + @echo -e "\tCLEAN" + @rm -v -f $(HOSTAPP) $(EPAPPS) $(EDEST)/* $(HDEST)/* + +# Host rules +$(HOSTAPP): $(HOBJS) + @echo -e "\t(HOST) LINK\t$@" + @$(HOSTCC) -o $@ $^ $(HLFLAGS) + +$(HDEST)/%.o: $(HSRC)/%.c + @echo -e "\t(HOST) CC\t$@" + @$(HOSTCC) $(HCFLAGS) -c -o $@ $^ + +# Epiphany rules +$(DEST)/%.srec: $(EDEST)/%.elf + @echo -e "\t(EPIPHANY) OBJCOPY $@" + @$(OBJCOPY) $(OCFLAGS) --output-target srec --srec-forceS3 $^ $@ + +$(EDEST)/%.elf: $(EDEST)/%.o $(EDEST)/%_Wrapper.o $(ECOMMON) + @echo -e "\t(EPIPHANY) LINK\t$@" + @$(CC) -o $@ $^ $(LFLAGS) + +$(EDEST)/%.o: $(ESRC)/%.c + @echo -e "\t(EPIPHANY) CC\t$@" + @$(CC) $(CFLAGS) -c -o $@ $^ + +$(EDEST)/%.o: $(ELIB)/%.c + @echo -e "\t(EPIPHANY) CC\t$@" + @$(CC) $(CFLAGS) -c -o $@ $^ +