From 92c88cf2ecdb47e76df195300bb4b564be646032 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Tue, 17 Jun 2014 16:17:28 +0000 Subject: [PATCH] initial commit --- lb/Makefile | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++ lb/hsrc/main.c | 7 ++++ 2 files changed, 95 insertions(+) create mode 100644 lb/Makefile create mode 100644 lb/hsrc/main.c diff --git a/lb/Makefile b/lb/Makefile new file mode 100644 index 0000000..badbdd8 --- /dev/null +++ b/lb/Makefile @@ -0,0 +1,88 @@ +# Makefile + +# host toolchain +HCC = gcc +HCFLAGS = -O2 -std=c99 -I$(EPIPHANY_HOME)/tools/host/include -Wall +HLFLAGS = -L$(EPIPHANY_HOME)/tools/host/lib -le-hal +ECHO = /bin/echo -e + +# target toolchain +ECC = e-gcc +EOC = e-objcopy +ECFLAGS = -Os -std=c99 -falign-loops=8 -falign-functions=8 -Wall +ELFLAGS = -T$(EPIPHANY_HOME)/bsps/current/fast.ldf -le-lib +EOFLAGS = -R .shared_dram + +# folders +HSRC = hsrc +HDEST = hobj +ESRC = esrc +EDEST = eobj +DEST = bin + +# applications (host binary and epiphany SREC files) to build +HAPP = $(DEST)/ep_main +EAPPS = # $(DEST)/test.srec + +# object files to build +HOBJS = $(HDEST)/main.o +EOBJS = # $(EDEST)/test.o + +# === Rules =============================================================== +.SECONDARY: +.PHONY: all host target folders run clean + +all: run + +host: folders $(HAPP) + +target: folders $(EAPPS) + +folders: $(HDEST) $(EDEST) $(DEST) + +run: host target + @$(ECHO) "\tRUN" + @sudo LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) \ + EPIPHANY_HDF=$(EPIPHANY_HDF) \ + $(HAPP) + +clean: + @$(ECHO) "\tCLEAN" + @rm -v -f $(HOBJS) $(EOBJS) $(EAPPS) $(HAPP) + @rmdir -v --ignore-fail-on-non-empty $(HDEST) $(EDEST) $(DEST) + +$(HDEST): + @$(ECHO) "\tMKDIR $(HDEST)" + @mkdir -p $(HDEST) + +$(EDEST): + @$(ECHO) "\tMKDIR $(EDEST)" + @mkdir -p $(EDEST) + +$(DEST): + @$(ECHO) "\tMKDIR $(DEST)" + @mkdir -p $(DEST) + +# === Host Toolchain ====================================================== +$(HAPP): $(HOBJS) + @$(ECHO) "\t(HOST) LINK\t$@" + @$(HCC) -o $@ $^ $(HLFLAGS) + +$(HDEST)/%.o: $(HSRC)/%.c + @$(ECHO) "\t(HOST) CC\t$@" + @$(HCC) $(HCFLAGS) -c -o $@ $^ + +# === Target Toolchain ==================================================== +$(DEST)/%.srec: $(EDEST)/%.elf + @$(ECHO) "\t(TARGET) OBJCOPY $@" + @$(EOC) $(EOFLAGS) --output-target srec --srec-forceS3 $^ $@ + +$(EDEST)/%.elf: $(EDEST)/%.o + @$(ECHO) "\t(TARGET) LINK\t$@" + @$(ECC) -o $@ $^ $(ECFLAGS) + +$(EDEST)/%.o: $(ESRC)/%.c + @$(ECHO) "\t(TARGET) CC\t$@" + @$(ECC) $(ECFLAGS) -c -o $@ $^ +# ========================================================================= + diff --git a/lb/hsrc/main.c b/lb/hsrc/main.c new file mode 100644 index 0000000..3394467 --- /dev/null +++ b/lb/hsrc/main.c @@ -0,0 +1,7 @@ +#include + +int main() +{ + printf("Hello, World!\n"); + return(0); +} -- 2.30.2