#
#  H8 Simple Monitor
#
#  Copyright (C) 1999-2004 by Dep. of Computer Science and Engineering
#                   Tomakomai National College 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 for H8/3069F Monitor
#

# redefine default rule

%.o: %.S
	${CC} -c ${CFLAGS} $<

# definitions

TARGET=3069
COMSRCS=..

CC=/usr/local/bin/h8300-hms-gcc
OBJCOPY=/usr/local/bin/h8300-hms-objcopy
CFLAGS=-DTARGET_CPU=${TARGET} -I. -I${COMSRCS} -mh -mint32 -mrelax -O2 -g -Wall -Wa,-ahl
LDFLAGS=-nostdlib -Wl,-Map,mon${TARGET}.map -T ${TARGET}.ld

# objects

COMOBJS=serial.o common.o monitor.o ${TARGET}.o  

# target

all	: mon${TARGET}.mot load${TARGET}.mot

mon${TARGET}.mot : ${COMOBJS} h8mon.o
	${CC} ${CFLAGS} ${LDFLAGS} -o mon${TARGET}.exe ${COMOBJS} h8mon.o
	${OBJCOPY}  -O srec -S mon${TARGET}.exe mon${TARGET}.mot

load${TARGET}.mot : ${COMOBJS} h8load.o
	${CC} ${CFLAGS} ${LDFLAGS} -o load${TARGET}.exe ${COMOBJS} h8load.o
	${OBJCOPY}  -O srec -S load${TARGET}.exe load${TARGET}.mot

clean	:
	rm *.o *.lst *.map *.mot *.exe

# rules

h8mon.o		: ${COMSRCS}/h8mon.S \
		  ${TARGET}.h ${COMSRCS}/comdefs.h ${COMSRCS}/mondefs.h ${COMSRCS}/h8mon.h
	${CC} -c ${CFLAGS} $< >h8mon.lst

h8load.o		: ${COMSRCS}/h8mon.S \
		  ${TARGET}.h ${COMSRCS}/comdefs.h ${COMSRCS}/mondefs.h ${COMSRCS}/h8mon.h
	${CC} -o h8load.o -c ${CFLAGS} -DLOAD_AND_GO_ONLY $< >h8load.lst

serial.o	: ${COMSRCS}/serial.S \
		  ${TARGET}.h ${COMSRCS}/serial.h
	${CC} -c ${CFLAGS} $< >serial.lst

common.o	: ${COMSRCS}/common.S \
		  ${TARGET}.h ${COMSRCS}/serial.h ${COMSRCS}/comdefs.h
	${CC} -c ${CFLAGS} $< >common.lst

monitor.o	: ${COMSRCS}/monitor.S \
		  ${TARGET}.h ${COMSRCS}/comdefs.h ${COMSRCS}/mondefs.h
	${CC} -c ${CFLAGS} $< >monitor.lst

${TARGET}.o	: ${TARGET}.S \
		  ${TARGET}.h ${COMSRCS}/comdefs.h
	${CC} -c ${CFLAGS} $< >${TARGET}.lst

