include ./Makefile.def ABI= -m$(ABIBIT) TARGET = libCellManager.a SPETARGET = libspemanager.a CELL_SPE_DIR = $(IMPL_CELL_DIR)/spe CELL_SPE_SCHEDULE_SRC = $(CELL_SPE_DIR)/SchedExit.cc \ $(CELL_SPE_DIR)/SchedNop2Ready.cc \ $(CELL_SPE_DIR)/SchedTaskList.cc \ $(CELL_SPE_DIR)/SchedMail.cc \ $(CELL_SPE_DIR)/SchedTask.cc \ $(CELL_SPE_DIR)/SchedTaskArray.cc \ $(CELL_SPE_DIR)/SchedTaskArrayNop.cc \ $(CELL_SPE_DIR)/SchedTaskArrayLoad.cc \ $(CELL_SPE_DIR)/Scheduler.cc\ $(CELL_SPE_DIR)/SchedNop.cc \ $(CELL_SPE_DIR)/MemList.cc \ $(CELL_SPE_DIR)/MemHash.cc \ $(CELL_SPE_DIR)/MailManager.cc CELL_SPE_SCHEDULE_OBJ = $(CELL_SPE_SCHEDULE_SRC:.cc=.o) CELL_SPE_SRCS = \ $(CELL_SPE_DIR)/CellDmaManager.cc \ $(CELL_SPE_DIR)/CellScheduler.cc \ $(CELL_SPE_DIR)/SpeTaskManagerImpl.cc \ $(CELL_SPE_DIR)/ShowTime.cc \ $(CELL_SPE_DIR)/StartProfile.cc \ $(CELL_SPE_DIR)/main.cc CELL_SPE_TASK_SRCS = \ $(CELL_SPE_DIR)/TaskQueue.cc \ $(CELL_SPE_DIR)/Task.cc # $(wildcard $(CELL_SPE_DIR)/*.cc) CELL_SPE_OBJS = $(CELL_SPE_SRCS:.cc=.o) $(CELL_SPE_SCHEDULE_OBJ) $(CELL_SPE_TASK_SRCS:.cc=.o) SPUCC = spu-g++ -DABIBIT=$(ABIBIT) EXTRA_CFLAGS = -D__CERIUM_CELL__ -DHAS_POSIX_MEMALIGN -fno-strict-aliasing SPE_CFLAGS = $(SIMPLE_TASK) -D__CERIUM_CELL__ -fno-exceptions -fno-rtti -Wall $(OPT) all: default default: $(CELL_SPE_SCHEDULE_SRC) $(TARGET) $(SPETARGET) PPE_ALL_OBJS = $(KERN_MAIN_OBJS) $(KERN_PPE_OBJS) $(KERN_SCHED_OBJS) $(KERN_SYSTASK_OBJS) $(IMPL_CELL_OBJS) $(KERN_MEM_OBJS) $(TARGET): $(PPE_ALL_OBJS) ar crus $@ $(PPE_ALL_OBJS) $(PPE_ALL_OBJS): %.o : %.cc $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ $(SPETARGET): $(CELL_SPE_OBJS) ar crus $@ $(CELL_SPE_OBJS) $(CELL_SPE_SCHEDULE_SRC): kernel/schedule/*.cc kernel/memory/*.cc kernel/ppe/*.cc cp kernel/schedule/*.cc $(CELL_SPE_DIR)/ cp kernel/memory/*.cc $(CELL_SPE_DIR)/ cp kernel/ppe/{TaskQueue.cc,Task.cc,MailManager.cc} $(CELL_SPE_DIR)/ $(CELL_SPE_OBJS): %.o : %.cc $(SPUCC) $(SPE_CFLAGS) $(INCLUDE) -c $< -o $@ celldistclean: cellclean rm -f $(TARGET) rm -f $(SPETARGET) cellclean: rm -f $(CELL_SPE_OBJS) $(CELL_SPE_SCHEDULE_SRC) $(CELL_SPE_TASK_SRCS) (cd $(CELL_SPE_DIR); rm -f *~ \#*)