Mercurial > hg > Members > e085722 > Cerium
diff TaskManager/Makefile.cell @ 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/TaskManager/Makefile.cell Mon Nov 08 01:23:25 2010 +0900 @@ -0,0 +1,77 @@ +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_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} $(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 *~ \#*) + + +