#
#  TOPPERS/C++ Binding
#      Toyohashi Open Platform for Embedded Real-Time Systems/
#      C++ Binding
# 
#  Copyright (C) 2004 by TAKAGI Nobuhisa
# 
#  L쌠҂́Cȉ (1)`(4) ̏CFree Software Foundation 
#  ɂČ\Ă GNU General Public License  Version 2 ɋL
#  qĂ𖞂ꍇɌC{\tgEFAi{\tgEFA
#  ς̂܂ށDȉjgpEEρEĔzziȉC
#  pƌĂԁj邱Ƃ𖳏ŋD
#  (1) {\tgEFA\[XR[ȟ`ŗpꍇɂ́CL̒
#      \C̗pщL̖ۏ؋K肪Ĉ܂܂̌`Ń\[
#      XR[hɊ܂܂Ă邱ƁD
#  (2) {\tgEFACCu`ȂǁC̃\tgEFAJɎg
#      pł`ōĔzzꍇɂ́CĔzzɔhLgip
#      ҃}jAȂǁjɁCL̒쌠\C̗pщL
#      ̖ۏ؋Kfڂ邱ƁD
#  (3) {\tgEFAC@ɑgݍނȂǁC̃\tgEFAJɎg
#      płȂ`ōĔzzꍇɂ́Ĉꂩ̏𖞂
#      ƁD
#    (a) ĔzzɔhLgip҃}jAȂǁjɁCL̒
#        쌠\C̗pщL̖ۏ؋Kfڂ邱ƁD
#    (b) Ĕzž`ԂCʂɒ߂@ɂāCTOPPERSvWFNg
#        񍐂邱ƁD
#  (4) {\tgEFA̗pɂ蒼ړI܂͊ԐړIɐ邢Ȃ鑹
#      QCL쌠҂TOPPERSvWFNgƐӂ邱ƁD
# 
#  {\tgEFÁCۏ؂Œ񋟂Ă̂łDL쌠҂
#  TOPPERSvWFNǵC{\tgEFAɊւāC̓Kp\
#  ܂߂āCȂۏ؂sȂD܂C{\tgEFA̗pɂ蒼
#  ړI܂͊ԐړIɐȂ鑹QɊւĂC̐ӔC𕉂ȂD
# 
#  @(#) $Id: Makefile,v 1.3 2004/01/26 00:53:45 takagi-n Exp $
# 

CC	=	$(TARGET_PREFIX)gcc
CXX	=	$(TARGET_PREFIX)g++
LD	=	$(TARGET_PREFIX)g++

PROJECT_DIR	=	..
KERNEL_DIR	=	$(PROJECT_DIR)/kernel
SRC_DIR	=	$(PROJECT_DIR)/src

INCLUDE	=	-I$(PROJECT_DIR) -I$(KERNEL_DIR)
CFLAGS	=	$(COPTS)
CXXFLAGS	=	$(COPTS)

ifdef	TARGET_PREFIX
ifeq ($(TARGET_PREFIX),sh-hitachi-elf-)
CFLAGS	=	-ml -m3
CXXFLAGS	=	-ml -m3
LDFLAGS	=	-ml -m3 -Wl,-r -Wl,-Ttext,0x8c003000 -Wl,-Tdata,0x8c100000
endif
endif

TEST_OBJS	=	test.o \
				test_alm.o \
				test_cyc.o \
				test_dtq.o \
				test_exc.o \
				test_flg.o \
				test_int.o \
				test_knl.o \
				test_mbf.o \
				test_mbx.o \
				test_mpf.o \
				test_mpl.o \
				test_mtx.o \
				test_ovr.o \
				test_por.o \
				test_stub.o \
				test_sem.o \
				test_tex.o \
				test_tsk.o \
				test_trace.o \
				test_alloc.o \
				test_sync.o \
				kernel_test_trace.o

all: test.exe

clean:
	rm test.exe $(TEST_OBJS)

test.exe:	$(TEST_OBJS)
	$(LD) -o test $(LDFLAGS) $(TEST_OBJS) -L$(SRC_DIR) -lcxxwrap

depend:
	$(CC)  -M $(INCLUDE) $(CFLAGS) $(CDEFS) *.c > Makefile.depend
	$(CXX) -M $(INCLUDE) $(CFLAGS) $(CDEFS) *.cpp >> Makefile.depend

-include Makefile.depend

.c.o:
	$(CC) -c $(INCLUDE) $(CFLAGS) $(CDEFS) $<

.cpp.o:
	$(CXX) -c $(INCLUDE) $(CXXFLAGS) $(CDEFS) $<

