#
#  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++
AR	=	$(TARGET_PREFIX)ar
RM	=	rm

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

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

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

WRAPPER_OBJS	=	\
	outline_stub1.o	\
	outline_stub2.o	\
	outline_stub3.o	\
	outline_stub4.o	\
	outline_stub5.o	\
	outline_stub6.o	\
	outline_stub7.o	\
	outline_stub8.o	\
	outline_stub9.o	\
	outline_stub10.o	\
	outline_stub11.o	\
	outline_stub12.o	\
	outline_stub13.o	\
	outline_stub14.o	\
	outline_stub15.o	\
	outline_stub16.o	\
	outline_stub17.o	\
	outline_stub18.o	\
	outline_stub19.o	\
	outline_stub20.o	\
	outline_stub21.o	\
	outline_stub22.o	\
	outline_stub23.o	\
	outline_stub24.o	\
	outline_stub25.o	\
	outline_stub26.o	\
	outline_stub27.o	\
	outline_stub28.o	\
	outline_stub29.o	\
	outline_stub30.o	\
	outline_stub31.o	\
	outline_stub32.o	\
	outline_stub33.o	\
	outline_stub34.o	\
	outline_stub35.o

all: libcxxwrap.a

libcxxwrap.a:	$(WRAPPER_OBJS)
	-$(RM) libcxxwrap.a
	$(AR) cq libcxxwrap.a $(WRAPPER_OBJS)

clean:
	rm libcxxwrap.a $(WRAPPER_OBJS)

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

.cpp.o:
	$(CXX) -c $(INCLUDE) $(CXXFLAGS) $(CDEFS) -fno-exceptions -fomit-frame-pointer $<

