0
|
1 include ../Makefile.def
|
|
2
|
|
3 TARGET = ../spe-main
|
|
4
|
|
5 SRCS = spe-main.o
|
|
6 # SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP))
|
|
7 SPEOBJS = $(SRCS:.cc=.o)
|
|
8 OVLOBJS = Hello.o Hello1.o
|
|
9 OLEVEL = 9
|
|
10
|
|
11 CC = spu-g++
|
|
12 INCLUDE = -I../${CERIUM}/include/TaskManager -I. -I..
|
|
13 CFLAGS1 = $(INCLUDE) -O$(OLEVEL) -g -Wall -fno-exceptions -fno-rtti #-DDEBUG
|
|
14 CFLAGS = -DNO_OVERLAY=1 $(CFLAGS1)
|
|
15 CFLAGS = $(CFLAGS1)
|
|
16
|
|
17 LIBS = -L../${CERIUM}/TaskManager -lspemanager -Wl,--gc-sections
|
|
18 SPELIBS = -Wl,-T,$(LDSCRIPT) -Wl,-N $(LIBS)
|
|
19
|
|
20 LDSCRIPT = ld.script
|
|
21 LDSCRIPT_ORIG = ld.script.orig
|
|
22 LDSCRIPT_ED = ld.script.ed
|
|
23
|
|
24 OFFSET_H = runTask_offset.h
|
|
25
|
|
26 all: $(TARGET) always
|
|
27
|
|
28 .SUFFIXES: .cc .o
|
|
29
|
|
30 $(OFFSET_H) $(LDSCRIPT_ED) always : $(OVLOBJS:.o=.cc) ovly_table.pl
|
|
31 perl ovly_table.pl $(TARGET) $(OVLOBJS:.o=.cc)
|
|
32
|
|
33 $(SPEOBJS): %.o : %.cc $(OFFSET_H)
|
|
34 $(CC) $(CFLAGS) -c $< -o $@
|
|
35
|
|
36 $(OVLOBJS): %.o : %.cc $(OFFSET_H)
|
|
37 $(CC) $(CFLAGS) -c $< -S -o $(<:.cc=.s)
|
|
38 perl fixpic.pl $(<:.cc=.s) | $(CC) $(SPECFLAGS) -x assembler -c -o $@ -
|
|
39
|
|
40 $(LDSCRIPT): $(LDSCRIPT_ED)
|
|
41 cp $(LDSCRIPT_ORIG) $(LDSCRIPT)
|
|
42 ed $(LDSCRIPT) < $(LDSCRIPT_ED) > /dev/null 2>&1
|
|
43
|
|
44 $(TARGET): $(SPEOBJS) $(OVLOBJS) $(LDSCRIPT)
|
|
45 $(CC) -o $@ $(SPEOBJS) $(SPELIBS)
|
|
46
|
|
47 clean:
|
|
48 rm -f $(TARGET) $(SPEOBJS) $(OVLOBJS) $(OFFSET_H)
|
|
49 rm -f *~ \#*
|