#CONTROLSIZE = -DLARGECONTROLBOARD
CONTROLSIZE =
CFLAGS = -Ofast -DWINDOWS $(CONTROLSIZE) -DSHOW_DRUM_WAIT -DTYPEWRITER_SOUND
#XLIB = -mwindows -mconsole -lcomctl32 -lgdi32 -lwinmm -liberty
XLIB = -mwindows -mconsole -lcomctl32 -lgdi32 -lwinmm -lopengl32 -lglu32 
XLIBNOW = -mwindows -liberty
GCC = x86_64-w64-mingw32-gcc
WINDRES = x86_64-w64-mingw32-windres

all:	GIER64.exe a2flx.exe flx2a.exe flx2dec.exe flx2ps.exe flx2plot.exe coredump.exe catalogdump.exe rc2000test.exe drumprint.exe coreprint.exe plot.exe

clean:
	-rm -f *.o
	-rm -f GIER64.exe a2flx.exe flx2a.exe flx2dec.exe flx2ps.exe flx2plot.exe coredump.exe catalogdump.exe rc2000test.exe drumprint.exe coreprint.exe plot.exe

GIER64.exe:	GIER.o microcode.o interface_w32.o MagTape_w32.o stroke.o flexowriter.o w32_sound.o saveload.o gierres.o
	$(GCC) $(CFLAGS) -o GIER64.exe GIER.o microcode.o interface_w32.o MagTape_w32.o stroke.o flexowriter.o w32_sound.o saveload.o gierres.o $(XLIB)

GIER.o:	GIER.c GIER.h
	$(GCC) $(CFLAGS) -c GIER.c

microcode.o:	microcode.c GIER.h common.h
	$(GCC) $(CFLAGS) -c microcode.c

interface_w32.o:	interface_w32.c GIER.h common.h gierres.h typewriter.h MagTape_w32.h
	$(GCC) $(CFLAGS) -c interface_w32.c

MagTape_w32.o:	MagTape_w32.c MagTape_w32.h MagTapeP_w32.h spole7.h Makefile
	$(GCC) $(CFLAGS) -c MagTape_w32.c

stroke.o:	stroke.c
	$(GCC) $(CFLAGS) -c stroke.c

gierres.o:	gierres.rc kb1.bmp kb2.bmp nimbi.bmp Makefile.w32
	$(WINDRES) $(CONTROLSIZE) gierres.rc gierres.o

flexowriter.o:	flexowriter.c
	$(GCC) $(CFLAGS) -c flexowriter.c

w32_sound.o:	w32_sound.c GIER.h
	$(GCC) $(CFLAGS) -c w32_sound.c

saveload.o:	saveload.c GIER.h common.h
	$(GCC) $(CFLAGS) -c saveload.c

coredump.exe:	coredump.o
	$(GCC) $(CFLAGS) -o coredump.exe coredump.o

catalogdump.exe:	catalogdump.o flexowriter.o
	$(GCC) $(CFLAGS) -o catalogdump.exe catalogdump.o flexowriter.o

drumprint.exe:	drumprint.o flexowriter.o
	$(GCC) $(CFLAGS) -o drumprint.exe drumprint.o flexowriter.o

coreprint.exe:	coreprint.o flexowriter.o
	$(GCC) $(CFLAGS) -o coreprint.exe coreprint.o flexowriter.o

rc2000test.exe:	rc2000test.o flexowriter.o
	$(GCC) $(CFLAGS) -o rc2000test.exe rc2000test.o flexowriter.o

plot.exe:	plot.o
	$(GCC) $(CFLAGS) -o plot.exe plot.o

a2flx.exe:	a2flx.o flexowriter.o
	$(GCC) $(CFLAGS) -o a2flx.exe a2flx.o flexowriter.o

flx2a.exe:	flx2a.o flexowriter.o
	$(GCC) $(CFLAGS) -o flx2a.exe flx2a.o flexowriter.o

flx2dec.exe:	flx2dec.o flexowriter.o
	$(GCC) $(CFLAGS) -o flx2dec.exe flx2dec.o flexowriter.o

flx2ps.exe:	flx2ps.o flexowriter.o
	$(GCC) $(CFLAGS) -o flx2ps.exe flx2ps.o flexowriter.o

flx2plot.exe:	flx2plot.o flexowriter.o
	$(GCC) $(CFLAGS) -o flx2plot.exe flx2plot.o flexowriter.o

a2flx.o:	a2flx.c
	$(GCC) $(CFLAGS) -c a2flx.c

flx2a.o:	flx2a.c
	$(GCC) $(CFLAGS) -c flx2a.c

flx2dec.o:	flx2dec.c
	$(GCC) $(CFLAGS) -c flx2dec.c

flx2ps.o:	flx2ps.c
	$(GCC) $(CFLAGS) -c flx2ps.c

flx2plot.o:	flx2plot.c
	$(GCC) $(CFLAGS) -c flx2plot.c

coredump.o:	coredump.c
	$(GCC) $(CFLAGS) -c coredump.c

catalogdump.o:	catalogdump.c GIER.h
	$(GCC) $(CFLAGS) -c catalogdump.c

drumprint.o:	drumprint.c GIER.h
	$(GCC) $(CFLAGS) -c drumprint.c

coreprint.o:	coreprint.c GIER.h
	$(GCC) $(CFLAGS) -c coreprint.c

rc2000test.o:	rc2000test.c GIER.h
	$(GCC) $(CFLAGS) -c rc2000test.c

plot.o:	plot.c
	$(GCC) $(CFLAGS) -c plot.c

