# simple makefile for altairz80 for Zaurus on board development

GCC = gcc
OPT = -O2

SRC = scp.c sim_fio.c sim_disk.c sim_console.c sim_imd.c sim_sock.c sim_timer.c sim_tmxr.c sim_serial.c sim_tape.c sim_ether.c altairz80_cpu_nommu.c altairz80_cpu.c altairz80_dsk.c altairz80_hdsk.c altairz80_mhdsk.c altairz80_net.c altairz80_sio.c altairz80_sys.c disasm.c flashwriter2.c i86_decode.c i86_ops.c i86_prim_ops.c i8272.c s100_if3.c insnsd.c mfdc.c s100_disk1a.c s100_disk2.c s100_fif.c s100_jadedd.c s100_mdriveh.c s100_mdsa.c s100_mdsad.c s100_selchan.c s100_ss1.c s100_tarbell.c s100_2sio.c s100_pmmi.c s100_hayes.c vfdhd.c n8vem.c wd179x.c s100_64fdc.c s100_scp300f.c s100_adcs6.c s100_hdc1001.c s100_disk3.c m68ksim.c m68kcpu.c m68kdasm.c m68kopac.c m68kopdm.c m68kopnz.c m68kops.c m68kasm.c

HDR = altairz80_defs.h i86.h i8272.h insns.h mfdc.h nasm.h scp.h sim_console.h sim_defs.h sim_fio.h sim_imd.h sim_rev.h sim_sock.h sim_timer.h sim_tmxr.h vfdhd.h wd179x.h sim_disk.h sim_serial.h sim_tape.h sim_ether.h sim_card.h m68kcpu.h m68ksim.h m68k.h m68kconf.h m68kops.h

OBJS = $(patsubst %.c, obj/%.o, $(SRC))

all: builddir altairz80

altairz80: $(OBJS)
	$(GCC) $^ -lrt -o $@

.PHONY: builddir
builddir:
	@mkdir -p obj

obj/%.o: %.c $(HDR)
	$(GCC) $(OPT) -DUSE_SIM_IMD -pipe -D__ZAURUS__ -DDONT_DO_LARGEFILE -DHAVE_GLOB -c -o $@ $<

.PHONY: clean
clean:
	rm -f $(OBJS)
