From b2bdc958aa205fbe90460a51e16082dc9f3f3cdc Mon Sep 17 00:00:00 2001 From: Sebastian Date: Mon, 23 Sep 2013 23:48:42 +0200 Subject: [PATCH 1/1] minidol/Makefile: initial commit This Makefile can build the host application and the epiphany applications. Some work still needs to be done. --- minidol/Makefile | 78 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 minidol/Makefile diff --git a/minidol/Makefile b/minidol/Makefile new file mode 100644 index 0000000..698da9f --- /dev/null +++ b/minidol/Makefile @@ -0,0 +1,78 @@ +# 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)/buffers.o + +# Epiphany applications and common objects +EPAPPS = $(DEST)/Data_Generator.srec $(DEST)/Weight_Generator.srec +ECOMMON = $(EDEST)/dol.o + +# Epiphany build flags +CC = e-gcc +OBJCOPY = e-objcopy +CFLAGS = -O2 -falign-loops=8 -falign-functions=8 -Wall -Ilib +LFLAGS = -T$(EPIPHANY_HOME)/bsps/current/fast.ldf -le-lib +OCFLAGS = -R .shared_dram -R .data_bank3 + +# Host build flags +HOSTCC = gcc +HCFLAGS = -I$(EPIPHANY_HOME)/tools/host/include -std=c99 -Wall +HLFLAGS = -L$(EPIPHANY_HOME)/tools/host/lib -le-hal + +# Global rules +.PHONY: all run host cores clean +all: run + +host: $(HOSTAPP) + +cores: $(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: $(ECOMMON) $(EDEST)/%.o + @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 $@ $^ + -- 2.30.2