0
|
1 include ./Makefile.def
|
|
2
|
|
3 ABI= -m$(ABIBIT)
|
|
4 TARGET = libCellManager.a
|
|
5 SPETARGET = libspemanager.a
|
|
6
|
|
7 CELL_SPE_DIR = $(IMPL_CELL_DIR)/spe
|
|
8
|
|
9 CELL_SPE_SCHEDULE_SRC = $(CELL_SPE_DIR)/SchedExit.cc \
|
|
10 $(CELL_SPE_DIR)/SchedNop2Ready.cc \
|
|
11 $(CELL_SPE_DIR)/SchedTaskList.cc \
|
|
12 $(CELL_SPE_DIR)/SchedMail.cc \
|
|
13 $(CELL_SPE_DIR)/SchedTask.cc \
|
|
14 $(CELL_SPE_DIR)/SchedTaskArray.cc \
|
|
15 $(CELL_SPE_DIR)/SchedTaskArrayNop.cc \
|
|
16 $(CELL_SPE_DIR)/SchedTaskArrayLoad.cc \
|
|
17 $(CELL_SPE_DIR)/Scheduler.cc\
|
|
18 $(CELL_SPE_DIR)/SchedNop.cc \
|
|
19 $(CELL_SPE_DIR)/MemList.cc \
|
|
20 $(CELL_SPE_DIR)/MemHash.cc
|
|
21 CELL_SPE_SCHEDULE_OBJ = $(CELL_SPE_SCHEDULE_SRC:.cc=.o)
|
|
22
|
|
23 CELL_SPE_SRCS = \
|
|
24 $(CELL_SPE_DIR)/CellDmaManager.cc \
|
|
25 $(CELL_SPE_DIR)/CellScheduler.cc \
|
|
26 $(CELL_SPE_DIR)/SpeTaskManagerImpl.cc \
|
|
27 $(CELL_SPE_DIR)/ShowTime.cc \
|
|
28 $(CELL_SPE_DIR)/StartProfile.cc \
|
|
29 $(CELL_SPE_DIR)/main.cc
|
|
30
|
|
31 CELL_SPE_TASK_SRCS = \
|
|
32 $(CELL_SPE_DIR)/TaskQueue.cc \
|
|
33 $(CELL_SPE_DIR)/Task.cc
|
|
34
|
|
35 # $(wildcard $(CELL_SPE_DIR)/*.cc)
|
|
36
|
|
37 CELL_SPE_OBJS = $(CELL_SPE_SRCS:.cc=.o) $(CELL_SPE_SCHEDULE_OBJ) $(CELL_SPE_TASK_SRCS:.cc=.o)
|
|
38
|
|
39 SPUCC = spu-g++ -DABIBIT=$(ABIBIT)
|
|
40
|
|
41 EXTRA_CFLAGS = -D__CERIUM_CELL__ -DHAS_POSIX_MEMALIGN -fno-strict-aliasing
|
|
42
|
|
43 SPE_CFLAGS = $(SIMPLE_TASK) -D__CERIUM_CELL__ -fno-exceptions -fno-rtti -Wall $(OPT)
|
|
44
|
|
45 all: default
|
|
46
|
|
47 default: $(CELL_SPE_SCHEDULE_SRC) $(TARGET) $(SPETARGET)
|
|
48
|
|
49 PPE_ALL_OBJS = $(KERN_MAIN_OBJS) $(KERN_PPE_OBJS) $(KERN_SCHED_OBJS) $(KERN_SYSTASK_OBJS) $(IMPL_CELL_OBJS) $(KERN_MEM_OBJS)
|
|
50
|
|
51 $(TARGET): $(PPE_ALL_OBJS)
|
|
52 ar crus $@ $(PPE_ALL_OBJS)
|
|
53
|
|
54 $(PPE_ALL_OBJS): %.o : %.cc
|
|
55 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@
|
|
56
|
|
57 $(SPETARGET): $(CELL_SPE_OBJS)
|
|
58 ar crus $@ $(CELL_SPE_OBJS)
|
|
59
|
|
60 $(CELL_SPE_SCHEDULE_SRC): kernel/schedule/*.cc kernel/memory/*.cc kernel/ppe/*.cc
|
|
61 cp kernel/schedule/*.cc $(CELL_SPE_DIR)/
|
|
62 cp kernel/memory/*.cc $(CELL_SPE_DIR)/
|
|
63 cp kernel/ppe/{TaskQueue.cc,Task.cc} $(CELL_SPE_DIR)/
|
|
64
|
|
65 $(CELL_SPE_OBJS): %.o : %.cc
|
|
66 $(SPUCC) $(SPE_CFLAGS) $(INCLUDE) -c $< -o $@
|
|
67
|
|
68 celldistclean: cellclean
|
|
69 rm -f $(TARGET)
|
|
70 rm -f $(SPETARGET)
|
|
71
|
|
72 cellclean:
|
|
73 rm -f $(CELL_SPE_OBJS) $(CELL_SPE_SCHEDULE_SRC) $(CELL_SPE_TASK_SRCS)
|
|
74 (cd $(CELL_SPE_DIR); rm -f *~ \#*)
|
|
75
|
|
76
|
|
77
|