view example/MemList/spe/Makefile @ 638:671fca057ad3

hmmmm
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Thu, 19 Nov 2009 18:18:20 +0900
parents 44c0bce54dcf
children
line wrap: on
line source

include ../Makefile.def

TARGET = ../spe-main

SRCS = spe-main.o
# SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP))
SPEOBJS = $(SRCS:.cc=.o)
OVLOBJS = Hello.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 = ../$(CERIUM)/lib/ld.script.orig
LDSCRIPT_ED   = ld.script.ed
OVL_TABLE_GEN = perl ../$(CERIUM)/bin/cell_ovly_table.pl
FIX_PIC = perl ../$(CERIUM)/bin/cell_fixpic.pl

OFFSET_H = runTask_offset.h

all: $(TARGET)

.SUFFIXES: .cc .o

$(OFFSET_H) $(LDSCRIPT_ED): $(OVLOBJS:.o=.cc) 
	 $(OVL_TABLE_GEN) $(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) 
	$(FIX_PIC) $(<:.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) $(OVLOBJS) $(SPELIBS)

clean:
	rm -f $(TARGET) $(SPEOBJS) $(OVLOBJS) $(OFFSET_H) 
	rm -f *~ \#*