midi	= /u/psl/MIDI
incl	= $(midi)/include
lib	= $(midi)/lib
CFLAGS	= -I. -I$(incl) -O
ar      = ar uv
libname = $(lib)/libmidi.a
MIDHEADER	= $(incl)/libmidi.h
DX7HEADER	= $(incl)/libdx7.h
MIRHEADER	= $(incl)/libmirage.h
IOTHEADER	= $(incl)/libiota.h
DX7OFILES	= da_dx7_voice.o da_vdx7.o dx7_globs.o \
	send_dx7_bd.o vdx7.o \
	get_dx7_ch_ctl_name.o da_dx7_sx.o sx_dx7_1v.o sx_dx7_32v.o \
	dx7SetVoice.o dx7CheckSum.o dx7ReadVoice.o \
	dx7GetVoice.o dx7PutVoice.o dx7PutControl.o dx7PutParameter.o \
	dx7PutVoiceName.o \
	dx7Button.o dx7sysinfo.o dx7memprotect.o dx7buttoi.o \
	tx1v32.o tx1p64.o
MIROFILES	= mirage_globs.o da_mirage_sx.o
IOTOFILES	= iota_globs.o da_iota_sx.o
OFILES		= $(DX7OFILES) $(MIROFILES) $(IOTOFILES) da_head_sx.o

.SUFFIXES: .c .lint

.c.lint:
	lint -I. -I$(incl) -DSUN -DLINT $*.c 2>$*.lint 1>&2

default: $(libname)
$(libname): $(OFILES)
	$(ar) $@ $(OFILES)
	ranlib $@
$(DX7OFILES): $(DX7HEADER) $(MIDHEADER)
$(MIROFILES): $(MIRHEADER) $(MIDHEADER)
$(IOTOFILES): $(IOTHEADER) $(MIDHEADER)
da_head_sx.o: $(MIDHEADER)

cleanup: ; rm -f *.o *.a errors core a.out
lint: *.c; lint -hv *.c > lint
da_dx7_voice.3: sx_dx7_1v.c sx_dx7_32v.c da_dx7_sx.c da_dx7_voice.c da_vdx7.c get_dx7_ch_ctl_name.c
	makeman -d "disassembly routines for dx7" \
	da_dx7_voice da_vdx7 da_dx7_sx get_dx7_ch_ctl_name \
	sx_dx7_1v sx_dx7_32v

dx7.3: dx7PutControl.c dx7PutParameter.c dx7ReadVoice.c dx7CheckSum.c dx7GetVoice.c dx7PutVoice.c
	makeman -d "dx7 i/o routines" \
	dx7PutParameter dx7PutControl dx7PutVoiceName dx7SetVoice \
	dx7CheckSum dx7readVoice dx7ReadVoice dx7writeVoice dx7WriteVoice \
	dx7GetVoice dx7PutVoice
	mv dx7PutParameter.3 dx7.3
dx7Button.3: dx7Button.c dx7sysinfo.c dx7memprotect.c dx7buttoi.c
	makeman -d "dx7 button pushing routines" \
	dx7Button dx7Push dx7ShiftPush \
	dx7SysInfoAvail dx7MemProtect dx7StoreVoice dx7buttoi
