#
# Makefile for Sound Blaster application programs.
# Steve Haehnichen <shaehnic@ucsd.edu>
#

CFLAGS = -O
CC = gcc

OTHERPROGS = amp phase
PROGS = mixer cdsp notes chew float midithru filt midi2fm revox playmidi record
all: $(PROGS)

amp: amp.o
	$(CC) $(CFLAGS) -o amp amp.o

phase: phase.o
	$(CC) $(CFLAGS) -o phase phase.o

revox: revox.o getopt.o
	$(CC) $(CFLAGS) -o revox revox.o getopt.o

record: record.o getopt.o
	$(CC) $(CFLAGS) -o record record.o getopt.o

midifile.o: midifile.c
	$(CC) $(CFLAGS) -w -c midifile.c

playmidi: playmidi.o midifile.o getopt.o
	$(CC) $(CFLAGS) -o playmidi playmidi.o midifile.o getopt.o

midi2fm: midi2fm.o 
	$(CC) $(CFLAGS) -o midi2fm midi2fm.o

filt: filt.o 
	$(CC) $(CFLAGS) -o filt filt.o

midithru: midithru.o 
	$(CC) $(CFLAGS) -o midithru midithru.o

chew: getopt.o chew.o
	$(CC) $(CFLAGS) -o chew chew.o getopt.o

float: getopt.o float.o
	$(CC) $(CFLAGS) -o float float.o getopt.o

cdsp: getopt.o cdsp.o
	$(CC) $(CFLAGS) -o cdsp cdsp.o getopt.o

mixer: getopt.o mixer.o
	$(CC) $(CFLAGS) -o mixer mixer.o getopt.o

notes: notes.o
	$(CC) $(CFLAGS) -o notes notes.o -lm

clean:
	rm -f *.o core $(PROGS)
