# Generated automatically from Makefile.in by configure.
#
# Makefile.in for UAE
#
# NOTES:
# Remove -DUAE_FILESYS_THREADS if not wanted
# Remove -DX86_ASSEMBLY if not wanted
# -DUAE_FILESYS_THREADS -DX86_ASSEMBLY
# -mcpu=pentium -march=pentium -O3 -finline-functions -fno-builtin -fomit-frame-pointer -fno-exceptions -fno-strength-reduce 
# -malign-loops=0 -malign-jumps=0 -malign-functions=0 
CC        = gcc
CPP       = cpp
# Add -Xlinker -s to strip debug symbols
LDFLAGS   = -Xlinker -s -Xlinker --subsystem -Xlinker console
LDFLAGSTARGET = -Xlinker -s -Xlinker --subsystem -Xlinker windows
# -DX86_ASSEMBLY -DOPTIMIZED_FLAGS -DREGPARAM="__attribute__((regparm(3)))" 
CFLAGS    = -mcpu=pentium -march=pentium -malign-loops=0 -malign-jumps=0 -malign-functions=4 -O2 -finline-functions -fno-builtin -fno-exceptions -fno-strength-reduce -Wall -Wno-unused -Wno-format -W -Wmissing-prototypes -Wstrict-prototypes -DGCCCONSTFUNC="__attribute__((const))" -DUSE_UNDERSCORE -DSTATIC_INLINE='static inline' -D__inline__=inline -DWIN32_LEAN_AND_MEAN -DUAE_FILESYS_THREADS -DSUPPORT_THREADS -DSOUNDDEP_WAVEOUT -DJIT -DNATMEM_OFFSET=natmem_offset -DUSE_NORMAL_CALLING_CONVENTION=1 -DX86_ASSEMBLY -DOPTIMIZED_FLAGS -DREGPARAM="__attribute__((regparm(3)))"
CFLAGS_CE = -mcpu=pentium -march=pentium -malign-loops=0 -malign-jumps=0 -malign-functions=4 -O2 -finline-functions -fno-builtin -fno-exceptions -fno-strength-reduce -Wall -Wno-unused -Wno-format -W -Wmissing-prototypes -Wstrict-prototypes -DGCCCONSTFUNC="__attribute__((const))" -DUSE_UNDERSCORE -DREGPARAM="__attribute__((regparm(3)))" -DSTATIC_INLINE='static inline' -D__inline__=inline -DWIN32_LEAN_AND_MEAN -DSOUNDDEP_WAVEOUT 
#CFLAGS    = -march=pentium -g -fno-builtin -Wall -Wno-unused -Wno-format -W -Wmissing-prototypes -Wstrict-prototypes -DGCCCONSTFUNC="__attribute__((const))" -DUSE_UNDERSCORE -fno-exceptions -fno-strength-reduce -DREGPARAM="__attribute__((regparm(3)))" -D__inline__=inline -DWIN32_LEAN_AND_MEAN -DX86_ASSEMBLY -DUAE_FILESYS_THREADS -DSUPPORT_THREADS -DSOUNDDEP_WAVEOUT
X_CFLAGS  =
DEBUGFLAGS = 
TARGET    = win32
LIBRARIES = -lcomctl32 -lcomdlg32 -lgdi32 -ladvapi32 -lshell32 -lws2_32 -lwinmm -ldinput -ldsound -lddraw -ldxguid -lwinspool -lversion
MATHLIB   = 
RESFILE   = winuae_msvc/debug/winuae.res
RESOBJ    = winuae.res.o

NO_SCHED_CFLAGS = -mno-schedule-prologue

INSTALL         = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA    = @INSTALL_DATA@
prefix          = /usr/local
exec_prefix     = ${prefix}
bindir          = ${exec_prefix}/bin
libdir          = ${exec_prefix}/lib
sysconfdir      = ${prefix}/etc

.SUFFIXES: .o .c .h .m .i .S .s .rc .res

.SECONDARY: cpuemu.c cpustbl.c cputbl.h

INCLUDES=-I. -I../src/include/
# NOTE: use cpufast.o instead of cpuemu.o if you want cpuopti to come into play
# NOTE: use cpufast_nf.o instead of cpuemu_nf.o if you want cpuopti to come into play

OBJS = main.o newcpu.o memory.o custom.o cia.o serial.o blitter.o \
       autoconf.o ersatz.o filesys.o hardfile.o keybuf.o expansion.o zfile.o \
       fpp.o readcpu.o cpudefs.o gfxutil.o gfxlib.o blitfunc.o blittable.o \
       disk.o audio.o compiler.o uaelib.o drawing.o picasso96.o \
       bsdsocket.o cfgfile.o fsusage.o debug.o uaeexe.o missing.o fsdb.o \
       sounddep/sound.o machdep/support.o machdep/x86.o native2amiga.o osdep/fsdb_win32.o \
       osdep/win32.o osdep/win32gui.o osdep/parser.o osdep/keyboard.o osdep/joystick.o \
       osdep/win32gfx.o osdep/posixemu.o osdep/bsdsock.o osdep/dxwrap.o osdep/midi.o \
       scsi-none.o osdep/mman.o compstbl.o compemu.o compemu_support.o compemu_fpp.o cpuemu.o cpustbl.o

# cpuemu_nf.o cpustbl_nf.o

all: $(TARGET)

win32: progs

progs: WinUAE.exe

install:

readdisk.o: readdisk.c
	$(CC) $(INCLUDES) -c $(INCDIRS) $(CFLAGS) -D_CONSOLE $(X_CFLAGS) $(DEBUGFLAGS) $< -o $@
readdisk.exe: readdisk.o missing.o osdep/posixemu.o
	$(CC) readdisk.o missing.o osdep/posixemu.o -o readdisk.exe $(LDFLAGS) $(DEBUGFLAGS)

WinUAE.exe: $(OBJS) $(RESOBJ)
	$(CC) $(OBJS) $(RESOBJ) -o WinUAE.exe $(LDFLAGSTARGET) $(DEBUGFLAGS) $(LIBRARIES)

$(RESOBJ): $(RESFILE)
	CVTRES /OUT:$@ $(RESFILE)
#	windres -i $(RESFILE) -o $@

#x86out.s: machdep/x86.s
#	$(CPP) $(INCLUDES) $(CFLAGS) machdep/x86.s -o $@

#machdep/x86.o: x86out.s
#	$(CC) $(INCLUDES) $(CFLAGS) -Wl,-s x86out.s -o $@

clean:
	-rm -f $(OBJS) *.o progs $(RESOBJ)
	-rm -f gencpu.exe genblitter.exe blit.h cpudefs.c cpuopti.exe
	-rm -f cpuemu.c build68k.exe cputmp.s cpufast*.s cpustbl.c cputbl.h
	-rm -f blitfunc.c blitfunc.h blittable.c
	-rm -f compemu.c compstbl.c comptbl.h gencomp.exe

halfclean:
	-rm -f $(OBJS)

streifenfrei: clean
	-rm -f Makefile sysconfig.h
	-rm -f machdep osdep threaddep sounddep target.h config.h

blit.h: genblitter.exe
	./genblitter.exe i >blit.h
blitfunc.c: genblitter.exe blitfunc.h
	./genblitter.exe f >blitfunc.c
blitfunc.h: genblitter.exe
	./genblitter.exe h >blitfunc.h
blittable.c: genblitter.exe blitfunc.h
	./genblitter.exe t >blittable.c

genblitter.o: genblitter.c
	$(CC) $(INCLUDES) -c $(INCDIRS) $(CFLAGS) -D_CONSOLE $(X_CFLAGS) $(DEBUGFLAGS) $< -o $@
genblitter.exe: genblitter.o blitops.o
	$(CC) $(LDFLAGS) -o genblitter genblitter.o blitops.o

build68k.o: build68k.c
	$(CC) $(INCLUDES) -c $(INCDIRS) $(CFLAGS) -D_CONSOLE $(X_CFLAGS) $(DEBUGFLAGS) $< -o $@
build68k.exe: build68k.o
	$(CC) $(LDFLAGS) -o build68k.exe build68k.o

cpuopti.o: cpuopti.c
	$(CC) $(INCLUDES) -c $(INCDIRS) $(CFLAGS) -D_CONSOLE $(X_CFLAGS) $(DEBUGFLAGS) $< -o $@
cpuopti.exe: cpuopti.o
	$(CC) $(LDFLAGS) -o cpuopti.exe cpuopti.o

gencpu.o: gencpu.c
	$(CC) $(INCLUDES) -c $(INCDIRS) $(CFLAGS) -D_CONSOLE $(X_CFLAGS) $(DEBUGFLAGS) $< -o $@
gencomp.o: gencomp.c
	$(CC) $(INCLUDES) -c $(INCDIRS) $(CFLAGS) -D_CONSOLE $(X_CFLAGS) $(DEBUGFLAGS) $< -o $@
gencomp.exe: gencomp.o readcpu.o cpudefs.o missing.o
	$(CC) $(LDFLAGS) $(CFLAGS) -o gencomp gencomp.o readcpu.o missing.o cpudefs.o
readcpu.o: readcpu.c
	$(CC) $(INCLUDES) -c $(INCDIRS) $(CFLAGS) -D_CONSOLE $(X_CFLAGS) $(DEBUGFLAGS) $< -o $@
missing.o: missing.c
	$(CC) $(INCLUDES) -c $(INCDIRS) $(CFLAGS) -D_CONSOLE $(X_CFLAGS) $(DEBUGFLAGS) $< -o $@
cpudefs.o: cpudefs.c
	$(CC) $(INCLUDES) -c $(INCDIRS) $(CFLAGS) -D_CONSOLE $(X_CFLAGS) $(DEBUGFLAGS) $< -o $@
gencpu.exe: gencpu.o readcpu.o cpudefs.o missing.o
	$(CC) $(LDFLAGS) $(CFLAGS) -o gencpu gencpu.o readcpu.o missing.o cpudefs.o

custom.o: blit.h

cpudefs.c: build68k.exe ../src/table68k
	./build68k <../src/table68k >cpudefs.c

cpuemu.c: gencpu.exe
	./gencpu

compemu.c: gencomp.exe
	./gencomp

# gencpu also creates cpustbl.c and cputbl.h
cpustbl.c: cpuemu.c
cputbl.h: cpuemu.c
# gencomp also creates compstbl.c and comptbl.h
compstbl.c: compemu.c
comptbl.h: compemu.c
compemu_support.o: compemu_optimizer.c

cpufast.s: cpuemu.c cpuopti.exe
	$(CC) $(INCLUDES) -S $(INCDIRS) $(CFLAGS) $(X_CFLAGS) $(DEBUGFLAGS) $(NO_SCHED_CFLAGS) $< -o cputmp.s
	./cpuopti.exe <cputmp.s >$@
	rm cputmp.s

cpufast_nf.s: cpuemu.c cpuopti.exe
	$(CC) $(INCLUDES) -S $(INCDIRS) $(CFLAGS) $(X_CFLAGS) $(JIT_CFLAGS) $(DEBUGFLAGS) $(NO_SCHED_CFLAGS) -DNOFLAGS $< -o cputmp.s
	./cpuopti <cputmp.s >$@
	rm cputmp.s

cpuemu_nf.o: cpuemu.c cpuopti.exe
	$(CC) $(INCLUDES) -c $(INCDIRS) $(CFLAGS) $(X_CFLAGS) $(JIT_CFLAGS) $(DEBUGFLAGS) $(NO_SCHED_CFLAGS) -DNOFLAGS $< -o $@

cpustbl_nf.o: gencpu.exe
	$(CC) $(INCLUDES) -c $(INCDIRS) $(CFLAGS) $(X_CFLAGS) $(JIT_CFLAGS) $(DEBUGFLAGS) $(NO_SCHED_CFLAGS) -DNOFLAGS cpustbl.c -o $@
	
osdep/beos.o: osdep/beos.cpp
	$(CC) $(INCLUDES) -c $(INCDIRS) $(CFLAGS) $(X_CFLAGS) $(DEBUGFLAGS) osdep/beos.cpp -o osdep/beos.o

.rc.res:
	$(WRC) $(INCLUDES) $<
.m.o:
	$(CC) $(INCLUDES) -c $(INCDIRS) $(CFLAGS) $(X_CFLAGS) $(DEBUGFLAGS) $<
.c.o:
	$(CC) $(INCLUDES) -c $(INCDIRS) $(CFLAGS) $(X_CFLAGS) $(DEBUGFLAGS) $< -o $@
.c.s:
	$(CC) $(INCLUDES) -S $(INCDIRS) $(CFLAGS) $(X_CFLAGS) $(DEBUGFLAGS) $< -o $@
.c.i:
	$(CC) $(INCLUDES) -E $(INCDIRS) $(CFLAGS) $(X_CFLAGS) $(DEBUGFLAGS) $< > $@
.S.o:
	$(CC) $(INCLUDES) -c $(INCDIRS) $(CFLAGS) $(X_CFLAGS) $(DEBUGFLAGS) $< -o $@
.s.o:
	$(CC) $(INCLUDES) -c $(INCDIRS) $(CFLAGS) $(X_CFLAGS) $(DEBUGFLAGS) $< -o $@

# Saves recompiling...
touch:
	touch *.o; touch build68k; touch cpudefs.c; touch cpudefs.o; touch gencpu; touch cpuemu.c; touch cpuopti.o cpuopti cpuemu.o cpufast.s cpufast.o

build68k.o: include/readcpu.h
readcpu.o: include/readcpu.h
compemu.o: include/compemu.h
compemu_fpp.o: include/compemu.h
compemu_support.o: include/compemu.h
gencomp.o: include/compemu.h
newcpu.o: include/compemu.h
osdep/win32.o: osdep/win32.h include/winstuff.h
osdep/win32gui.o: osdep/win32.h include/winstuff.h sounddep/sound.h osdep/win32gui.h
osdep/win32gfx.o: osdep/win32.h include/winstuff.h osdep/dxwrap.h
osdep/dxwrap.o: osdep/dxwrap.h include/winstuff.h
osdep/joystick.o: include/winstuff.h
sounddep/sound.o: include/winstuff.h sounddep/sound.h
main.o: config.h
cia.o: config.h include/events.h
custom.o: include/custom.h include/drawing.h config.h include/events.h blit.h
drawing.o: include/custom.h include/drawing.h sprite.c 
newcpu.o: config.h include/events.h
autoconf.o: config.h
expansion.o: config.h
xwin.o: config.h
svga.o: config.h
audio.o: config.h include/events.h
memory.o: config.h
debug.o: config.h
fpp.o: config.h
ersatz.o: config.h
filesys.o: config.h
execlib.o: config.h
disk.o: config.h include/events.h
blitter.o: config.h include/events.h blit.h

# sam: this is for people with low memory. (is there a way do do this with a single rule ?)
cpufast1.s: cpuemu.c cpuopti.exe
	$(CC) -DPART_1 $(INCLUDES) -S $(INCDIRS) $(CFLAGS) $(X_CFLAGS) $(DEBUGFLAGS) $(NO_SCHED_CFLAGS) $< -o cputmp1.s
	./cpuopti <cputmp1.s >$@
	rm cputmp1.s
cpufast2.s: cpuemu.c cpuopti.exe
	$(CC) -DPART_2 $(INCLUDES) -S $(INCDIRS) $(CFLAGS) $(X_CFLAGS) $(DEBUGFLAGS) $(NO_SCHED_CFLAGS) $< -o cputmp2.s
	./cpuopti <cputmp2.s >$@
	rm cputmp2.s
cpufast3.s: cpuemu.c cpuopti.exe
	$(CC) -DPART_3 $(INCLUDES) -S $(INCDIRS) $(CFLAGS) $(X_CFLAGS) $(DEBUGFLAGS) $(NO_SCHED_CFLAGS) $< -o cputmp3.s
	./cpuopti <cputmp3.s >$@
	rm cputmp3.s
cpufast4.s: cpuemu.c cpuopti.exe
	$(CC) -DPART_4 $(INCLUDES) -S $(INCDIRS) $(CFLAGS) $(X_CFLAGS) $(DEBUGFLAGS) $(NO_SCHED_CFLAGS) $< -o cputmp4.s
	./cpuopti <cputmp4.s >$@
	rm cputmp4.s
cpufast5.s: cpuemu.c cpuopti.exe
	$(CC) -DPART_5 $(INCLUDES) -S $(INCDIRS) $(CFLAGS) $(X_CFLAGS) $(DEBUGFLAGS) $(NO_SCHED_CFLAGS) $< -o cputmp5.s
	./cpuopti <cputmp5.s >$@
	rm cputmp5.s
cpufast6.s: cpuemu.c cpuopti.exe
	$(CC) -DPART_6 $(INCLUDES) -S $(INCDIRS) $(CFLAGS) $(X_CFLAGS) $(DEBUGFLAGS) $(NO_SCHED_CFLAGS) $< -o cputmp6.s
	./cpuopti <cputmp6.s >$@
	rm cputmp6.s
cpufast7.s: cpuemu.c cpuopti.exe
	$(CC) -DPART_7 $(INCLUDES) -S $(INCDIRS) $(CFLAGS) $(X_CFLAGS) $(DEBUGFLAGS) $(NO_SCHED_CFLAGS) $< -o cputmp7.s
	./cpuopti <cputmp7.s >$@
	rm cputmp7.s
cpufast8.s: cpuemu.c cpuopti.exe
	$(CC) -DPART_8 $(INCLUDES) -S $(INCDIRS) $(CFLAGS) $(X_CFLAGS) $(DEBUGFLAGS) $(NO_SCHED_CFLAGS) $< -o cputmp8.s
	./cpuopti <cputmp8.s >$@
	rm cputmp8.s

cpuemu1.o: cpuemu.c
	$(CC) -DPART_1 $(INCLUDES) -c $(INCDIRS) $(CFLAGS) $(X_CFLAGS) $(DEBUGFLAGS) $< -o $@
cpuemu2.o: cpuemu.c
	$(CC) -DPART_2 $(INCLUDES) -c $(INCDIRS) $(CFLAGS) $(X_CFLAGS) $(DEBUGFLAGS) $< -o $@
cpuemu3.o: cpuemu.c
	$(CC) -DPART_3 $(INCLUDES) -c $(INCDIRS) $(CFLAGS) $(X_CFLAGS) $(DEBUGFLAGS) $< -o $@
cpuemu4.o: cpuemu.c
	$(CC) -DPART_4 $(INCLUDES) -c $(INCDIRS) $(CFLAGS) $(X_CFLAGS) $(DEBUGFLAGS) $< -o $@
cpuemu5.o: cpuemu.c
	$(CC) -DPART_5 $(INCLUDES) -c $(INCDIRS) $(CFLAGS) $(X_CFLAGS) $(DEBUGFLAGS) $< -o $@
cpuemu6.o: cpuemu.c
	$(CC) -DPART_6 $(INCLUDES) -c $(INCDIRS) $(CFLAGS) $(X_CFLAGS) $(DEBUGFLAGS) $< -o $@
cpuemu7.o: cpuemu.c
	$(CC) -DPART_7 $(INCLUDES) -c $(INCDIRS) $(CFLAGS) $(X_CFLAGS) $(DEBUGFLAGS) $< -o $@
cpuemu8.o: cpuemu.c
	$(CC) -DPART_8 $(INCLUDES) -c $(INCDIRS) $(CFLAGS) $(X_CFLAGS) $(DEBUGFLAGS) $< -o $@
