#
#  TOPPERS/JSP Kernel
#      Toyohashi Open Platform for Embedded Real-Time Systems/
#      Just Standard Profile Kernel
# 
#  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
#                              Toyohashi Univ. of Technology, JAPAN
# 
#  嵭Ԥϡʲ (1)(4) ξ狼Free Software Foundation 
#  ˤäƸɽƤ GNU General Public License  Version 2 ˵
#  ҤƤ˸¤ꡤܥեȥܥեȥ
#  ѤΤޤࡥʲƱˤѡʣѡۡʰʲ
#  ѤȸƤ֡ˤ뤳Ȥ̵ǵ롥
#  (1) ܥեȥ򥽡ɤηѤˤϡ嵭
#      ɽѾ浪Ӳ̵ݾڵ꤬Τޤޤηǥ
#      ˴ޤޤƤ뤳ȡ
#  (2) ܥեȥ򡤥饤֥ʤɡ¾Υեȥȯ˻
#      ѤǤǺۤˤϡۤȼɥȡ
#      ԥޥ˥奢ʤɡˤˡ嵭ɽѾ浪Ӳ
#      ̵ݾڵǺܤ뤳ȡ
#  (3) ܥեȥ򡤵Ȥ߹ʤɡ¾Υեȥȯ˻
#      ѤǤʤǺۤˤϡΤ줫ξ
#      ȡ
#    (a) ۤȼɥȡѼԥޥ˥奢ʤɡˤˡ嵭
#        ɽѾ浪Ӳ̵ݾڵǺܤ뤳ȡ
#    (b) ۤη֤̤ˡˤäơTOPPERSץȤ
#        𤹤뤳ȡ
#  (4) ܥեȥѤˤľŪޤϴŪ뤤ʤ»
#      ⡤嵭ԤTOPPERSץȤդ뤳ȡ
# 
#  ܥեȥϡ̵ݾڤ󶡤ƤΤǤ롥嵭Ԥ
#  TOPPERSץȤϡܥեȥ˴ؤơŬѲǽ
#  ޤơʤݾڤԤʤޤܥեȥѤˤľ
#  ŪޤϴŪʤ»˴ؤƤ⡤Ǥʤ
# 
#  @(#) $Id: Makefile,v 1.37 2003/12/06 08:46:43 takayuki Exp $
# 

#
#  ѥ륪ץ
#
CFLAGS = -g -O2 -Wall
INCLUDES = -I.

#
#  MinGWѤƤȤˤϡΥȤ򳰤
#
#CFLAGS := $(CFLAGS) -D__MINGW__

#
#  FilecontainerѤ
#
CFLAGS := $(CFLAGS) -DFILECONTAINER_BINUTILS
#CFLAGS := $(CFLAGS) -DFILECONTAINER_WINDOWS

#
#  󥯻ɲä饤֥
#
#LIBS = -lstdc++

#
#  ֥ȥե̾
#
COMMON_OBJS = manager.o directorymap.o message.o garbage.o component.o \
              singleton.o except.o event.o collection.o option.o
CFG_OBJS = parser.o mpstrstream.o jsp_checkscript.o \
	jsp_parser.o jsp_staticapi.o jsp_common.o \
	$(COMMON_OBJS)
CHK_OBJS = filecontainer.o jsp_check.o fc_binutils.o $(COMMON_OBJS)

VPATH = ./jsp ./base

ifdef TINET
	include tinet/Makefile.config
endif

#
#  åȥե
#
all: cfg chk

#
#  եΤǥ쥯ȥ˴ؤ
#
vpath %.cpp $(VPATH)

#
#  cfg Υ
#
cfg: $(CFG_OBJS)
	$(CC) $(CFLAGS) -o cfg $(CFG_OBJS) $(LIBS)

#
#  chk Υ
#
chk: $(CHK_OBJS)
	$(CC) $(CFLAGS) -o chk $(CHK_OBJS) $(LIBS)

#
#  ѥ̤ξõ
#
clean:
	rm -f *.o
	rm -f cfg chk
	rm -f container.txt container.xml kernel_cfg.c kernel_id.h
	rm -f settings.dat settings.txt
	rm -f cfg.exe chk.exe

cleandep:
	rm -f Makefile.depend

realclean: cleandep clean

#
#  ¸طե
#
depend: cleandep $(CFG_OBJS:.o=.d) $(CHK_OBJS:.o=.d)

#
#  ¸طե򥤥󥯥롼
#
-include Makefile.depend

#
#  ѥɥ饤Ф
#
CC = g++

#
#  ǥեȤΥѥ롼
#
%.o: %.cpp
	$(CC) -c $(CFLAGS) $(INCLUDES) $<

#
#  ǥեȤΰ¸ط롼
#
%.d: %.cpp
	$(CC) -M $(CFLAGS) $(INCLUDES) $< >> Makefile.depend
