CFLAGS = -Ofast -march=native -ggdb -DHAS_PA_SOUND -DTYPEWRITER_SOUND -DSHOW_DRUM_WAIT
# Profile: -pg
XINC = -I/usr/include/openmotif
XLIB = -lpulse-simple -lpulse -lXm -lXpm -lXt -lSM -lGL -lGLU -lX11 -lm -lmcheck
LIB = -lm

all:	GIER a2flx flx2a flx2dec flx2ps flx2plot coredump catalogdump rc2000test drumprint coreprint core2boot plot plotsymbols

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

GIER:	GIER.o microcode.o interface_motif.o flexowriter.o oss_sound.o saveload.o pa_sound.o MagTape_linux.o stroke.o
	cc $(CFLAGS) -o GIER GIER.o microcode.o interface_motif.o flexowriter.o oss_sound.o pa_sound.o saveload.o MagTape_linux.o stroke.o $(XLIB)

plotsymbols:	plotsymbols.c
	gcc -o plotsymbols -g plotsymbols.c

coredump:	coredump.o
	cc $(CFLAGS) -o coredump coredump.o

catalogdump:	catalogdump.o flexowriter.o
	cc $(CFLAGS) -o catalogdump catalogdump.o flexowriter.o $(LIB)

drumprint:	drumprint.o flexowriter.o
	cc $(CFLAGS) -o drumprint drumprint.o flexowriter.o $(LIB)

coreprint:	coreprint.o flexowriter.o
	cc $(CFLAGS) -o coreprint coreprint.o flexowriter.o $(LIB)

core2boot:	core2boot.o flexowriter.o
	cc $(CFLAGS) -o core2boot core2boot.o flexowriter.o $(LIB)

rc2000test:	rc2000test.o flexowriter.o
	cc $(CFLAGS) -o rc2000test rc2000test.o flexowriter.o $(LIB)

a2flx:	a2flx.o flexowriter.o
	cc $(CFLAGS) -o a2flx a2flx.o flexowriter.o $(LIB)

flx2a:	flx2a.o flexowriter.o
	cc $(CFLAGS) -o flx2a flx2a.o flexowriter.o $(LIB)

flx2dec:	flx2dec.o flexowriter.o
	cc $(CFLAGS) -o flx2dec flx2dec.o flexowriter.o $(LIB)

flx2ps:	flx2ps.o flexowriter.o
	cc $(CFLAGS) -o flx2ps flx2ps.o flexowriter.o $(LIB)

flx2plot:	flx2plot.o flexowriter.o
	cc $(CFLAGS) -o flx2plot flx2plot.o flexowriter.o $(LIB)

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

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

interface_motif.o:	interface_motif.c GIER.h common.h typewriter.h kb1.xpm kb2.xpm nimbi.xpm MagTape_linux.h
	cc $(CFLAGS) -c $(XINC) interface_motif.c

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

oss_sound.o:	oss_sound.c GIER.h
	cc $(CFLAGS) -c $(XINC) oss_sound.c

pa_sound.o:	pa_sound.c GIER.h
	cc $(CFLAGS) -c $(XINC) pa_sound.c

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

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

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

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

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

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

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

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

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

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

core2boot.o:	core2boot.c GIER.h
	cc $(CFLAGS) -c core2boot.c

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

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

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

MagTape_linux.o:	MagTape_linux.c MagTape_linux.h MagTapeP_linux.h Makefile
	cc $(CFLAGS) -DDEBUG -c MagTape_linux.c
