Mercurial > hg > Members > e085722 > Cerium
diff example/get_segment/spe/Makefile @ 0:04e28d8d3c6f
first commit
author | Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 08 Nov 2010 01:23:25 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/example/get_segment/spe/Makefile Mon Nov 08 01:23:25 2010 +0900 @@ -0,0 +1,49 @@ +include ../Makefile.def + +TARGET = ../spe-main + +SRCS = spe-main.o +# SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) +SPEOBJS = $(SRCS:.cc=.o) +OVLOBJS = Hello.o Hello1.o +OLEVEL = 9 + +CC = spu-g++ +INCLUDE = -I../${CERIUM}/include/TaskManager -I. -I.. +CFLAGS1 = $(INCLUDE) -O$(OLEVEL) -g -Wall -fno-exceptions -fno-rtti #-DDEBUG +CFLAGS = -DNO_OVERLAY=1 $(CFLAGS1) +CFLAGS = $(CFLAGS1) + +LIBS = -L../${CERIUM}/TaskManager -lspemanager -Wl,--gc-sections +SPELIBS = -Wl,-T,$(LDSCRIPT) -Wl,-N $(LIBS) + +LDSCRIPT = ld.script +LDSCRIPT_ORIG = ld.script.orig +LDSCRIPT_ED = ld.script.ed + +OFFSET_H = runTask_offset.h + +all: $(TARGET) always + +.SUFFIXES: .cc .o + +$(OFFSET_H) $(LDSCRIPT_ED) always : $(OVLOBJS:.o=.cc) ovly_table.pl + perl ovly_table.pl $(TARGET) $(OVLOBJS:.o=.cc) + +$(SPEOBJS): %.o : %.cc $(OFFSET_H) + $(CC) $(CFLAGS) -c $< -o $@ + +$(OVLOBJS): %.o : %.cc $(OFFSET_H) + $(CC) $(CFLAGS) -c $< -S -o $(<:.cc=.s) + perl fixpic.pl $(<:.cc=.s) | $(CC) $(SPECFLAGS) -x assembler -c -o $@ - + +$(LDSCRIPT): $(LDSCRIPT_ED) + cp $(LDSCRIPT_ORIG) $(LDSCRIPT) + ed $(LDSCRIPT) < $(LDSCRIPT_ED) > /dev/null 2>&1 + +$(TARGET): $(SPEOBJS) $(OVLOBJS) $(LDSCRIPT) + $(CC) -o $@ $(SPEOBJS) $(SPELIBS) + +clean: + rm -f $(TARGET) $(SPEOBJS) $(OVLOBJS) $(OFFSET_H) + rm -f *~ \#*