CC      = gcc

#
# makefile for Rock-ulator
# by Brian Levine
#

CFLAGS = -fstrength-reduce -funroll-all-loops -finline-functions -fomit-frame-pointer -O3 -m486 -Wall

DEPS = game.h rockdefs.h display.h keyboard.h joystick.h ioport.h timer.h \
       m6502.h maze.h proc.h proc6502.h procz80.h \
       audiodev.h psg.h game.h
LIBS = -lalleg -laudio
OBJS = rockultr.o game.o gui.o display.o audiodev.o ioport.o \
       m6502.o proc.o proc6502.o m6809.o proc6809.o maze.o procz80.o \
       psg.o twkuser.o xblit.o \
       rockola.o vanguard.o fantasy.o nibbler.o \
       galax.o galaxian.o supergal.o \
       pisces.o mcresta.o mcrestab.o \
       frogger.o scramble.o qix.o \
       exidy.o pepper2.o venture.o mtrap.o

rockultr.exe: $(OBJS)
	gcc -s -o rockultr.exe $(OBJS) $(LIBS)

rockultr.o:  rockultr.cpp $(DEPS)
	 gcc $(CFLAGS) -c rockultr.cpp

game.o:  game.cpp game.h 
	 gcc $(CFLAGS) -c game.cpp

gui.o:  gui.cpp gui.h 
	 gcc $(CFLAGS) -c gui.cpp

display.o:  display.cpp display.h
	 gcc $(CFLAGS) -c display.cpp

audiodev.o:  audiodev.cpp audiodev.h 
	 gcc $(CFLAGS) -c audiodev.cpp

ioport.o:  ioport.cpp ioport.h
	 gcc $(CFLAGS) -c ioport.cpp

twkuser.o:  twkuser.cpp
	 gcc $(CFLAGS) -c twkuser.cpp

proc.o:  proc.cpp proc.h
	 gcc $(CFLAGS) -c proc.cpp

proc6502.o:  proc6502.cpp proc6502.h 
	 gcc $(CFLAGS) -c proc6502.cpp

proc6809.o:  proc6809.cpp proc6809.h
	 gcc $(CFLAGS) -c proc6809.cpp

procz80.o:  procz80.cpp procz80.h
	 gcc $(CFLAGS) -c procz80.cpp

psg.o:  psg.cpp psg.h
	 gcc $(CFLAGS) -c psg.cpp

rockola.o:  rockola.cpp rockola.h $(DEPS)
	 gcc $(CFLAGS) -c rockola.cpp
 
vanguard.o:  vanguard.cpp vanguard.h rockola.h $(DEPS)
	 gcc $(CFLAGS) -c vanguard.cpp

fantasy.o:  fantasy.cpp fantasy.h rockola.h $(DEPS)
	 gcc $(CFLAGS) -c fantasy.cpp
                                                       
nibbler.o:  nibbler.cpp nibbler.h rockola.h $(DEPS)
	 gcc $(CFLAGS) -c nibbler.cpp

exidy.o:  exidy.cpp exidy.h $(DEPS)
	 gcc $(CFLAGS) -c exidy.cpp

pepper2.o:  pepper2.cpp pepper2.h exidy.h $(DEPS)
	 gcc $(CFLAGS) -c pepper2.cpp

venture.o:  venture.cpp venture.h exidy.h $(DEPS)
	 gcc $(CFLAGS) -c venture.cpp

mtrap.o:  mtrap.cpp mtrap.h exidy.h $(DEPS)
	 gcc $(CFLAGS) -c mtrap.cpp

frogger.o:  frogger.cpp frogger.h $(DEPS)
	 gcc $(CFLAGS) -c frogger.cpp

galax.o:  galax.cpp galax.h $(DEPS)
	 gcc $(CFLAGS) -c galax.cpp

galaxian.o:  galaxian.cpp galaxian.h galax.h $(DEPS)
	 gcc $(CFLAGS) -c galaxian.cpp

supergal.o:  supergal.cpp supergal.h galax.h $(DEPS)
	 gcc $(CFLAGS) -c supergal.cpp

pisces.o:  pisces.cpp pisces.h galax.h $(DEPS)
	 gcc $(CFLAGS) -c pisces.cpp

mcresta.o:  mcresta.cpp mcresta.h galax.h $(DEPS)
	 gcc $(CFLAGS) -c mcresta.cpp

mcrestab.o:  mcrestab.cpp mcrestab.h galax.h $(DEPS)
	 gcc $(CFLAGS) -c mcrestab.cpp

scramble.o:  scramble.cpp scramble.h $(DEPS)
	 gcc $(CFLAGS) -c scramble.cpp

qix.o:  qix.cpp qix.h $(DEPS)
	 gcc $(CFLAGS) -c qix.cpp

xblit.o:  xblit.s 
	 gcc -m486 -c xblit.s

clean:
	del *.o 
	del rockultr.exe





