.c.o:
	-@set `fs sysname`; eval systype=$$4; if [ ! -d .o.$$systype ]; then mkdir .o.$$systype; fi; if [ ! -f $@ ]; then rm -f $@; ln -s .o.@sys/$@ $@; fi
	$(CC) $(CFLAGS) -c $*.c

z80.o: z80.h
z80_cbed.o: z80.h

ZOBJS = z80.o z80_cbed.o
IFILES = z80.h

CFLAGS = -O

all: upm debug dumbrun makedrive dbg

debug: $(ZOBJS) io_ask.o debug.o loadhex.o
	$(CC) $(CFLAGS) $(ZOBJS) io_ask.o debug.o loadhex.o -o debug

dbg: $(ZOBJS) io_ask.o dbg.o loadhex.o
	$(CC) $(CFLAGS) $(ZOBJS) io_ask.o dbg.o loadhex.o -o dbg

dumbrun: $(ZOBJS) io_ask.o dumbrun.o
	$(CC) $(CFLAGS) $(ZOBJS) io_ask.o dumbrun.o -o dumbrun

bios.o: z80.h
debug.o: z80.h
io_ask.o: z80.h
io_mem.o: z80.h
loadhex.o: z80.h
lh.o: z80.h
udbg.o: z80.h

upm: $(ZOBJS) io_mem.o upm.o loadhex.o bios.o udbg.o
	$(CC) $(CFLAGS) $(ZOBJS) io_mem.o upm.o loadhex.o bios.o udbg.o -o upm

makedrive: makedrive.c
	$(CC) $(CFLAGS) makedrive.c -o makedrive

initdisk: initdisk.c
	$(CC) $(CFLAGS) initdisk.c -o initdisk

$(ZOBJS): z80.h

clean:
	rm -f upm debug dumbrun makedrive initdisk *.o
