view TaskManager/Makefile.cell @ 1012:bba03a6843ba

fix HelloWorld
author one@zeus.cr.ie.u-ryukyu.ac.jp
date Mon, 01 Nov 2010 18:27:19 +0900
parents 3b9536925fb8
children f8e9c985e2a8
line wrap: on
line source

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 *~ \#*)