view TaskManager/Makefile.cell @ 611:2cfbb36e221a

cell fix memaddr
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 10 Nov 2009 20:24:07 +0900
parents c9127aec8c9c
children 5b178db5988a
line wrap: on
line source

include ./Makefile.def

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)/Scheduler.cc\
    $(CELL_SPE_DIR)/SchedNop.cc        \
    $(CELL_SPE_DIR)/MemList.cc        \
    $(CELL_SPE_DIR)/MemHash.cc        \
    $(CELL_SPE_DIR)/TaskGroup.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)/main.cc

CELL_SPE_TASK_SRCS =  \
    $(CELL_SPE_DIR)/TaskList.cc \
    $(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++

EXTRA_CFLAGS = -D__CERIUM_CELL__ -fno-strict-aliasing

SPE_CFLAGS = -fno-exceptions -fno-rtti -Wall -O9

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
	cp kernel/schedule/*.cc $(CELL_SPE_DIR)/
	cp kernel/memory/*.cc $(CELL_SPE_DIR)/
	cp kernel/ppe/{TaskList.cc,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 *~ \#*)