view TaskManager/Makefile.cell @ 302:b0d37afab06a

working on macosx
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 08 Jun 2009 18:07:26 +0900 (2009-06-08)
parents bcb81858aa62
children a02e863dc69f
line wrap: on
line source
include ./Makefile.def

TARGET    = libCellManager.a
SPETARGET = libspemanager.a

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)/SchedTaskImpl.cc   \
    $(CELL_SPE_DIR)/TaskGroup.cc
CELL_SPE_SCHEDULE_OBJ = $(CELL_SPE_SCHEDULE_SRC: .cc=.o)

CELL_SPE_DIR  = $(IMPL_CELL_DIR)/spe
CELL_SPE_SRCS = $(wildcard $(CELL_SPE_DIR)/*.cc)
CELL_SPE_OBJS = $(CELL_SPE_SRCS:.cc=.o) $(CELL_SPE_SCHEDULE_OBJ)

SPUCC = spu-g++

EXTRA_CFLAGS = -D__CERIUM_CELL__ -fno-strict-aliasing

SPE_CFLAGS = -fno-exceptions -fno-rtti

all: default

default: $(TARGET) $(SPETARGET)

PPE_ALL_OBJS = $(KERN_MAIN_OBJS) $(KERN_PPE_OBJS) $(KERN_SCHED_OBJS) $(KERN_SYSTASK_OBJS) $(IMPL_CELL_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_OBJS): %.o : %.cc
	$(SPUCC) $(CFLAGS) $(SPE_CFLAGS) $(INCLUDE) -c $< -o $@

$(CELL_SPE_SCHEDULE_SRC): kernel/schedule/*.cc
	cp kernel/schedule/*.cc $(CELL_SPE_DIR)/

celldistclean: cellclean
	rm -f $(TARGET)
	rm -f $(SPETARGET)

cellclean:
	rm -f $(CELL_SPE_OBJS) $(CELL_SPE_SCHEDULE_SRC)
	(cd $(CELL_SPE_DIR); rm -f *~ \#*)