TOOLS=/usr/src/tooldir.arm.NetBSD-3.0_STABLE-i386/bin/arm--netbsdelf-
AS=${TOOLS}as
CC=${TOOLS}gcc
CPP=${TOOLS}cpp
LD=${TOOLS}ld
NM=${TOOLS}nm
STRIP=${TOOLS}strip
SIZE=${TOOLS}size
OBJCOPY=${TOOLS}objcopy
OBJDUMP=${TOOLS}objdump
AWK=awk
INCDIR=-I..
CFLAGS=-Wall -Os ${INCDIR} -mcpu=arm7tdmi -ffreestanding -gdwarf-2
LDFLAGS=-nostdlib -T lpc2129.ld -N -S

VPATH=	.:../common	# for GNU make

SRCS=	main.s udiv.s syscall.c lpc2xxx.c uart.c mach.c intel.c disasm.c ../common/*.c

OBJS=	main.o udiv.o syscall.o lpc2xxx.o uart.o mach.o intel.o \
	monitor.o breakpoint.o command.o stdio.o mem.o string.o \
	disasm.o	# must be last

.s.o:
	${AS} -o $@ $<

all: monitor.bin

monitor.bin: monitor
	${OBJCOPY} -O binary monitor monitor.bin

monitor: ${OBJS}
	${LD} ${LDFLAGS} -o monitor ${OBJS}
	${NM} monitor > monitor.map
	${STRIP} monitor
	${SIZE} monitor

clean:
	rm -f ${OBJS} monitor monitor.bin monitor.map monitor.odt test[0-4] test.o

depend: ${SRCS}
	${CC} ${INCDIR} -M ${SRCS} > .depend

test:	test.o trace.o
	${LD} -nostdlib -Ttext 0x40002000 -N -S -o test0 test.o
	${LD} -nostdlib -Ttext 0x00002000 -N -S -o test1 test.o
	${LD} -nostdlib -Ttext 0x00012000 -N -S -o test2 test.o
	${LD} -nostdlib -Ttext 0x00022000 -N -S -o test3 test.o
	${LD} -nostdlib -Ttext 0x00032000 -N -S -o test4 test.o
	${LD} -nostdlib -Ttext 0x40002000 -N -S -o trace trace.o
