#
# Memotech Emulator
#

ifdef MACOSX
X11 =		/opt/X11
PORTAUDIO =	/opt/portaudio
PORTAUDIO_INC =	$(PORTAUDIO)/include
PORTAUDIO_LIB =	$(PORTAUDIO)/lib/.libs
CFLAGS =	-DMACOSX -I$(PORTAUDIO_INC) -I$(X11)/include
LIBS =		-L$(PORTAUDIO_LIB) -lportaudio -L$(X11)/lib -lX11
else
CFLAGS =	-DLINUX -DBEMEMU
X11 =		/usr/X11R6
LIBS =		-lrt -lportaudio -L$(X11)/lib -lX11
endif

TH =		../../th
DIRT =		../../dirt

.SUFFIXES:	.c .o

.c.o:
		$(CC) -g -c -I$(TH) -I$(DIRT) -DUNIX $(CFLAGS) -DLSB_FIRST -DDEBUG $*.c

#

memu:		Z80.o diag.o common.o win.o roms.o mem.o vid.o kbd.o joy.o dart.o snd.o ctc.o monprom.o mon.o sdxfdc.o sid.o printer.o spec.o cpm.o dis.o ui.o memu.o $(TH)/th.a $(DIRT)/dirt.a
		$(CC) -g -o memu Z80.o diag.o common.o win.o roms.o mem.o vid.o kbd.o joy.o dart.o snd.o ctc.o monprom.o mon.o sdxfdc.o sid.o printer.o spec.o cpm.o dis.o ui.o memu.o $(TH)/th.a $(DIRT)/dirt.a -lncurses $(LIBS) -lm

Z80.o:		Z80.c Z80.h Tables.h CodesCB.h CodesXCB.h CodesED.h CodesXX.h Codes.h

diag.o:		diag.c types.h diag.h

common.o:	common.c types.h diag.h common.h mem.h vid.h kbd.h joy.h dart.h snd.h mon.h sdxfdc.h sid.h printer.h spec.h ui.h

win.o:		win.c types.h common.h win.h

roms.o:		roms.c types.h roms.h

mem.o:		mem.c types.h common.h diag.h roms.h mem.h

vid.o:		vid.c types.h common.h diag.h mem.h vid.h kbd.h mon.h

kbd.o:		kbd.c types.h common.h diag.h win.h kbd.h

joy.o:		joy.c types.h common.h diag.h kbd.h joy.h

dart.o:		dart.c types.h common.h diag.h dart.h

snd.o:		snd.c types.h common.h diag.h snd.h

ctc.o:		ctc.c types.h common.h diag.h ctc.h

monprom.o:	monprom.c types.h monprom.h

mon.o:		mon.c types.h common.h diag.h win.h kbd.h monprom.h mon.h $(TH)/th.h

sdxfdc.o:	sdxfdc.c types.h diag.h sdxfdc.h

sid.o:		sid.c types.h diag.h common.h sid.h

printer.o:	printer.c types.h common.h diag.h printer.h

spec.o:		spec.c types.h diag.h common.h spec.h

cpm.o:		cpm.c Z80.h types.h common.h diag.h mem.h mon.h printer.h $(DIRT)/dirt.h

dis.o:		dis.c types.h mem.h dis.h

ui.o:		ui.c types.h common.h win.h mem.h vid.h monprom.h dis.h ui.h

memu.o:		memu.c Z80.h types.h common.h diag.h win.h roms.h mem.h mon.h kbd.h joy.h dart.h snd.h ctc.h sdxfdc.h sid.h printer.h spec.h cpm.h dis.h ui.h memu.h

# Install

IDIR =		/usr/local/bin

install:
		cp memu $(IDIR)

# Package

package:
		zip -q -r memu.zip *
		-zip -q -d memu.zip *.bak */*.bak *.o

# Website

website:	package
		cp doc/* memu.zip /pub/memu
		-rm /pub/memu/*.bak
