# Standard Makefile for ACE: Atari Computer Emulator v0.02
#		by Frank Barrus
#		Written in 1993, updated in 1994
#		and fixed a bit in 1996
#
#  Targets:
#	ace  - tty (text) version of Atari emulator
#	xace - XWindows version
#	vace - svgalib version (for Linux)


# uncomment USE_MACRO to try to speed up the 6502 with macro functions
# (may not work at the moment)
# uncomment USE_PSIO to incluse Parallel SIO support


CC = cc 
CFLAGS = -O2 -Wall -DUINT  # -DUSE_MACRO -DUSE_PSIO

# for the DEC Alpha with OSF:
#CC = cc
#CFLAGS = -O2 -std -Olimit 700


SIMOBJS = main.o 6502.o run6502.o monitor.o argparse.o output.o \
	  atari.o keyboard.o ostrap.o \
	  sio.o device.o vdisk.o psio.o ados.o 
XSIMOBJS = ${SIMOBJS} atari_xwin.o
VSIMOBJS = ${SIMOBJS} atari_svga.o
TSIMOBJS = ${SIMOBJS} atari_tty.o
INTOBJS = atari_xwin.o atari_svga.o atari_tty.o
PSIOX	= psmain.o psio.o vdisk.o argparse.o output.o ados.o device.o 
SETKEY	= setkey.o
XSETKEY	= xsetkey.o

help:
	@echo "The following targets are available:"
	@echo "	make ace	- create tty (text) version"
	@echo "	make xace	- create Xwindows version"
	@echo "	make vace	- create svgalib version (for Linux only)"
	@echo "	make psiox	- create Parallel SIO Xfer program"
	@echo "	make setkey	- create program for setting keys"
	@echo "	make xsetkey	- create program for setting keys in XWindows"
	@echo "	make clean	- erase all rebuildable files"

xace: ${XSIMOBJS}
	${CC} -o xace ${CFLAGS} ${XSIMOBJS} -lX11

ace: ${TSIMOBJS}
	${CC} -o ace ${CFLAGS} ${TSIMOBJS} 

vace: ${VSIMOBJS}
	${CC} -o vace ${CFLAGS} ${VSIMOBJS} -lvga -lvgagl
	#setsuid vace
	chmod 4755 vace

psiox:	${PSIOX}
	${CC} ${CFLAGS} -o psiox ${PSIOX}
	#setsuid psiox
	chmod 4755 psiox

setkey: ${SETKEY}
	${CC} ${CFLAGS} -o setkey ${SETKEY}

xsetkey: ${XSETKEY}
	${CC} ${CFLAGS} -o xsetkey ${XSETKEY}


depend:
	makedepend \
		${SIMOBJS:.o=.c} ${INTOBJS:.o=.c} ${PSIOX:.o=.c}

clean:
	rm -f *.o xace ace vace psiox

tar: clean
	(cd ..; tar cvf sim.tar ./sim; rm -f sim.tar.gz; gzip sim.tar)

srctar: 
	(cd ..; tar cvf simsrc.tar ./sim/*.c ./sim/*.h ./sim/Makefile; rm -f simsrc.tar.gz; gzip simsrc.tar)

distrib:
	tar cvfz ace-0.02.tgz README Makefile *.c *.h *.txt *.key 
	zip ace-0.02.zip README Makefile *.c *.h *.txt *.key

.c.o:
	${CC} ${CFLAGS} -c $<


# DO NOT DELETE THIS LINE -- make depend depends on it.

main.o: /usr/include/stdio.h /usr/include/libio.h /usr/include/sys/cdefs.h
main.o: /usr/include/unistd.h /usr/include/features.h
main.o: /usr/include/posix_opt.h /usr/include/gnu/types.h
main.o: /usr/include/sys/types.h /usr/include/linux/types.h
main.o: /usr/include/string.h memtype.h 6502.h atari.h vdisk.h ados.h
6502.o: /usr/include/stdio.h /usr/include/libio.h /usr/include/sys/cdefs.h
6502.o: /usr/include/unistd.h /usr/include/features.h
6502.o: /usr/include/posix_opt.h /usr/include/gnu/types.h
6502.o: /usr/include/sys/types.h /usr/include/linux/types.h
6502.o: /usr/include/stdlib.h /usr/include/errno.h /usr/include/linux/errno.h
6502.o: memtype.h mem.h 6502.h atari.h
run6502.o: /usr/include/stdio.h /usr/include/libio.h /usr/include/sys/cdefs.h
run6502.o: /usr/include/unistd.h /usr/include/features.h
run6502.o: /usr/include/posix_opt.h /usr/include/gnu/types.h
run6502.o: /usr/include/sys/types.h /usr/include/linux/types.h memtype.h
run6502.o: mem.h 6502.h
monitor.o: /usr/include/stdio.h /usr/include/libio.h /usr/include/sys/cdefs.h
monitor.o: /usr/include/unistd.h /usr/include/features.h
monitor.o: /usr/include/posix_opt.h /usr/include/gnu/types.h
monitor.o: /usr/include/sys/types.h /usr/include/linux/types.h
monitor.o: /usr/include/stdlib.h /usr/include/errno.h
monitor.o: /usr/include/linux/errno.h memtype.h mem.h 6502.h atari.h
monitor.o: atarimap.h argparse.h
atari.o: /usr/include/stdio.h /usr/include/libio.h /usr/include/sys/cdefs.h
atari.o: /usr/include/X11/Xlib.h /usr/include/sys/types.h
atari.o: /usr/include/linux/types.h /usr/include/X11/X.h
atari.o: /usr/include/X11/Xfuncproto.h /usr/include/X11/Xosdefs.h
atari.o: /usr/include/stdlib.h /usr/include/features.h /usr/include/errno.h
atari.o: /usr/include/linux/errno.h /usr/include/string.h memtype.h mem.h
atari.o: 6502.h atari.h
keyboard.o: /usr/include/stdio.h /usr/include/libio.h
keyboard.o: /usr/include/sys/cdefs.h /usr/include/string.h
keyboard.o: /usr/include/features.h /usr/include/unistd.h
keyboard.o: /usr/include/posix_opt.h /usr/include/gnu/types.h
keyboard.o: /usr/include/sys/types.h /usr/include/linux/types.h memtype.h
keyboard.o: 6502.h atari.h scancode.h vtkey.h
sio.o: /usr/include/stdio.h /usr/include/libio.h /usr/include/sys/cdefs.h
sio.o: /usr/include/unistd.h /usr/include/features.h /usr/include/posix_opt.h
sio.o: /usr/include/gnu/types.h /usr/include/sys/types.h
sio.o: /usr/include/linux/types.h /usr/include/stdlib.h /usr/include/errno.h
sio.o: /usr/include/linux/errno.h memtype.h 6502.h atari.h device.h
vdisk.o: /usr/include/stdio.h /usr/include/libio.h /usr/include/sys/cdefs.h
vdisk.o: /usr/include/string.h /usr/include/features.h /usr/include/stdlib.h
vdisk.o: /usr/include/errno.h /usr/include/linux/errno.h memtype.h vdisk.h
vdisk.o: sio2pc.h dcm.h output.h psio.h
ados.o: /usr/include/stdio.h /usr/include/libio.h /usr/include/sys/cdefs.h
ados.o: /usr/include/unistd.h /usr/include/features.h
ados.o: /usr/include/posix_opt.h /usr/include/gnu/types.h
ados.o: /usr/include/sys/types.h /usr/include/linux/types.h
ados.o: /usr/include/stdlib.h /usr/include/errno.h /usr/include/linux/errno.h
ados.o: /usr/include/string.h memtype.h vdisk.h
ostrap.o: /usr/include/stdio.h /usr/include/libio.h /usr/include/sys/cdefs.h
ostrap.o: /usr/include/X11/Xlib.h /usr/include/sys/types.h
ostrap.o: /usr/include/linux/types.h /usr/include/X11/X.h
ostrap.o: /usr/include/X11/Xfuncproto.h /usr/include/X11/Xosdefs.h
ostrap.o: /usr/include/stdlib.h /usr/include/features.h /usr/include/errno.h
ostrap.o: /usr/include/linux/errno.h /usr/include/string.h memtype.h mem.h
ostrap.o: 6502.h atari.h atarimap.h
atari_xwin.o: /usr/include/stdio.h /usr/include/libio.h
atari_xwin.o: /usr/include/sys/cdefs.h /usr/include/sys/time.h
atari_xwin.o: /usr/include/features.h /usr/include/linux/types.h
atari_xwin.o: /usr/include/linux/time.h /usr/include/sys/time.h
atari_xwin.o: /usr/include/sys/types.h /usr/include/unistd.h
atari_xwin.o: /usr/include/posix_opt.h /usr/include/gnu/types.h
atari_xwin.o: /usr/include/stdlib.h /usr/include/errno.h
atari_xwin.o: /usr/include/linux/errno.h /usr/include/X11/Xlib.h
atari_xwin.o: /usr/include/X11/X.h /usr/include/X11/Xfuncproto.h
atari_xwin.o: /usr/include/X11/Xosdefs.h /usr/include/X11/Xutil.h
atari_xwin.o: /usr/include/X11/keysym.h /usr/include/X11/keysymdef.h
atari_xwin.o: memtype.h atari.h 6502.h rgb.h
atari_svga.o: /usr/include/stdio.h /usr/include/libio.h
atari_svga.o: /usr/include/sys/cdefs.h /usr/include/sys/time.h
atari_svga.o: /usr/include/features.h /usr/include/linux/types.h
atari_svga.o: /usr/include/linux/time.h /usr/include/sys/time.h
atari_svga.o: /usr/include/sys/types.h /usr/include/unistd.h
atari_svga.o: /usr/include/posix_opt.h /usr/include/gnu/types.h
atari_svga.o: /usr/include/stdlib.h /usr/include/errno.h
atari_svga.o: /usr/include/linux/errno.h /usr/include/vga.h
atari_svga.o: /usr/include/vgagl.h memtype.h atari.h 6502.h rgb.h
atari_tty.o: /usr/include/stdio.h /usr/include/libio.h
atari_tty.o: /usr/include/sys/cdefs.h /usr/include/sys/time.h
atari_tty.o: /usr/include/features.h /usr/include/linux/types.h
atari_tty.o: /usr/include/linux/time.h /usr/include/sys/time.h
atari_tty.o: /usr/include/sys/types.h /usr/include/unistd.h
atari_tty.o: /usr/include/posix_opt.h /usr/include/gnu/types.h
atari_tty.o: /usr/include/stdlib.h /usr/include/errno.h
atari_tty.o: /usr/include/linux/errno.h /usr/include/string.h memtype.h mem.h
atari_tty.o: 6502.h atari.h
psmain.o: /usr/include/stdio.h /usr/include/libio.h /usr/include/sys/cdefs.h
psmain.o: /usr/include/stdlib.h /usr/include/features.h /usr/include/errno.h
psmain.o: /usr/include/linux/errno.h memtype.h vdisk.h psio.h device.h ados.h
psmain.o: argparse.h
psio.o: /usr/include/stdio.h /usr/include/libio.h /usr/include/sys/cdefs.h
psio.o: /usr/include/string.h /usr/include/features.h /usr/include/unistd.h
psio.o: /usr/include/posix_opt.h /usr/include/gnu/types.h
psio.o: /usr/include/sys/types.h /usr/include/linux/types.h
psio.o: /usr/include/stdlib.h /usr/include/errno.h /usr/include/linux/errno.h
psio.o: memtype.h lowlevel.h sio2pc.h sio.h psio.h vdisk.h
vdisk.o: /usr/include/stdio.h /usr/include/libio.h /usr/include/sys/cdefs.h
vdisk.o: /usr/include/string.h /usr/include/features.h /usr/include/stdlib.h
vdisk.o: /usr/include/errno.h /usr/include/linux/errno.h memtype.h vdisk.h
vdisk.o: sio2pc.h dcm.h output.h psio.h
argparse.o: /usr/include/stdio.h /usr/include/libio.h
argparse.o: /usr/include/sys/cdefs.h /usr/include/string.h
argparse.o: /usr/include/features.h
output.o: /usr/include/stdio.h /usr/include/libio.h /usr/include/sys/cdefs.h
output.o: memtype.h
ados.o: /usr/include/stdio.h /usr/include/libio.h /usr/include/sys/cdefs.h
ados.o: /usr/include/unistd.h /usr/include/features.h
ados.o: /usr/include/posix_opt.h /usr/include/gnu/types.h
ados.o: /usr/include/sys/types.h /usr/include/linux/types.h
ados.o: /usr/include/stdlib.h /usr/include/errno.h /usr/include/linux/errno.h
ados.o: /usr/include/string.h memtype.h vdisk.h
device.o: memtype.h sio.h vdisk.h

