#******************************************************************************
#
# Filename:	Makefile
#
# Description:	Top level makefile for XCopilot
#
# Update History:   (most recent first)
#   I. Curtis  26-Feb-97 12:42 -- major update as mc68k stuff moved
#	into subdir
#   I. Curtis  16-Feb-97 17:02 -- Created.
#
#******************************************************************************
MC68KDIR	= mc68k
MXDIR		= mx
CC 		= gcc

# set the following CFLAGS, IFLAGS and LFLAGS for linux
CFLAGS 		= -pipe -O3 -Wall
IFLAGS		= -I. -I${MC68KDIR} -I${MXDIR}
LFLAGS		= -L/usr/X11/lib -lXpm -lXext -lX11

# set the following CFLAGS, IFLAGS and LFLAGS for SunOS 4.1.4
#CFLAGS 	= -pipe -O3 -Wall -g -D__BIG_ENDIAN__  -DNEED_STRSEP
#IFLAGS 	= -I. -I${MC68KDIR} -I${MXDIR} -I${OPENWINHOME}/include -I/usr/local/include
#LFLAGS	= -L/usr/openwin/lib -L/usr/local/lib/X11 -lXpm -lXext -lX11

all : xcopilot

fakecall.o : fakecall.c fakecall.h pilotcpu.h ${MC68KDIR}/shared.h \
		${MC68KDIR}/sysdeps.h \
		${MC68KDIR}/memory.h ${MC68KDIR}/custom.h ${MC68KDIR}/newcpu.h
	${CC} ${CFLAGS} ${IFLAGS} -c fakecall.c

pdebug.o : pdebug.c pdebug.h fakecall.h pilotcpu.h ${MC68KDIR}/shared.h \
		${MC68KDIR}/sysdeps.h \
		${MC68KDIR}/memory.h ${MC68KDIR}/custom.h ${MC68KDIR}/newcpu.h
	${CC} ${CFLAGS} ${IFLAGS} -c pdebug.c

pilotcpu.o : pilotcpu.c pilotcpu.h ${MC68KDIR}/shared.h ${MC68KDIR}/sysdeps.h \
		${MC68KDIR}/memory.h ${MC68KDIR}/custom.h ${MC68KDIR}/newcpu.h
	${CC} ${CFLAGS} ${IFLAGS} -c pilotcpu.c

display.o : display.c case.xpm ${MC68KDIR}/shared.h ${MC68KDIR}/sysdeps.h \
		${MC68KDIR}/dragonball.h
	${CC} ${CFLAGS} ${IFLAGS} -c display.c

main.o : main.c display.h pilotcpu.h pdebug.h ${MC68KDIR}/shared.h \
		${MC68KDIR}/sysdeps.h ${MC68KDIR}/memory.h \
		${MC68KDIR}/custom.h ${MC68KDIR}/newcpu.h
	${CC} ${CFLAGS} ${IFLAGS} -c main.c

#
# This is the executable
#
FORCE :

xcopilot :: FORCE
	cd ${MC68KDIR}; ${MAKE} libmc68k.a
	cd ${MXDIR};  ${MAKE} all

xcopilot :: main.o display.o pilotcpu.o fakecall.o pdebug.o \
		${MC68KDIR}/libmc68k.a ${MXDIR}/libmx.a
	${CC} ${CFLAGS} -o xcopilot main.o display.o pilotcpu.o \
		fakecall.o pdebug.o \
		${MC68KDIR}/libmc68k.a ${MXDIR}/libmx.a \
		${LFLAGS}

##
## keep it clean!
##
clean ::
	cd ${MC68KDIR}; ${MAKE} clean
	cd ${MXDIR}; ${MAKE} clean

clean ::
	/bin/rm -f core main.o display.o pilotcpu.o fakecall.o pdebug.o

clobber ::
	cd ${MC68KDIR}; ${MAKE} clobber
	cd ${MXDIR}; ${MAKE} clobber

clobber :: clean
	/bin/rm -f xcopilot pilot*.ram scratchpad
