# simple makefile for altairz80 for Macintosh with URL reader support

GCC = gcc
BISON = bison
OPT = -O3 -pipe -framework Cocoa -DHAVE_DLOPEN=dylib		\
	-DURL_READER_SUPPORT -DUSE_SIM_IMD -DHAVE_GLOB

SRC = altairz80_cpu_nommu.c altairz80_cpu.c altairz80_dsk.c			\
	altairz80_hdsk.c altairz80_net.c altairz80_sio.c sim_tape.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_mdriveh.c sim_fio.c	\
	s100_mdsad.c s100_selchan.c s100_ss1.c scp.c sim_console.c		\
	sim_imd.c sim_sock.c sim_timer.c sim_tmxr.c vfdhd.c sim_ether.c \
	n8vem.c wd179x.c s100_64fdc.c s100_scp300f.c s100_adcs6.c		\
	s100_hdc1001.c s100_disk3.c URLReader.m sim_disk.c sim_serial.c \
	altairz80_mhdsk.c m68ksim.c m68kcpu.c m68kdasm.c m68kopac.c		\
	m68kopdm.c m68kopnz.c m68kops.c m68kasm.c s100_mdsa.c			\
	s100_tarbell.c s100_jadedd.c s100_2sio.c s100_pmmi.c s100_hayes.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 m68kcpu.h m68ksim.h			\
	m68k.h m68kconf.h m68kops.h sim_card.h

altairz80: altairz80-x86_64 altairz80-i386
	lipo -create $^ -output $@
	rm altairz80-x86_64 altairz80-i386

altairz80-x86_64: $(SRC) $(HDR)
	$(GCC) $(OPT) $(SRC) -arch x86_64 -o $@

altairz80-i386: $(SRC) $(HDR)
	$(GCC) $(OPT) $(SRC) -arch i386 -o $@

m68kasm.c: m68kasm.y
	$(BISON) $< -o $@

.PHONY: install
install: altairz80
	cp $^ /usr/local/bin
