# %M% %I% %G%

# Where to put installed binaries
BIN = /usr/local/bin

LMUSC = mon_print.c both.c in_out.c post_mus.c chel_font.c post_get.c post_set.c set_beam.c set_ties.c set_spread.c post_put.c put_ties.c
PMUSC = mon_print.c both.c in_out.c post_mus.c pic_font.c post_get.c post_set.c set_beam.c set_ties.c set_spread.c post_put.c put_ties.c
SMUSC = mon_print.c both.c in_out.c post_mus.c son_font.c post_get.c post_set.c set_beam.c set_ties.c set_spread.c post_put.c put_ties.c

LMUSO = mon_print.o both.o in_out.o post_mus.o chel_font.o post_get.o post_set.o set_beam.o set_ties.o set_spread.o post_put.o put_ties.o
PMUSO = mon_print.o both.o in_out.o post_mus.o pic_font.o post_get.o post_set.o set_beam.o set_ties.o set_spread.o post_put.o put_ties.o
SMUSO = mon_print.o both.o in_out.o post_mus.o son_font.o post_get.o post_set.o set_beam.o set_ties.o set_spread.o post_put.o put_ties.o

PREMUSO = pre_mon.o both.o pre_mus.o pre_get.o auto_beam.o in_out.o pre_data.o pre_put.o pre_header.o
PREMUSC = pre_mon.c both.c pre_mus.c pre_get.c auto_beam.c in_out.c pre_data.c pre_put.c pre_header.c

STATC = mon_print.c stat_main.c both.c in_out.c son_font.c post_get.c post_set.c set_beam.c set_ties.c set_spread.c stat_length.c stat_interval.c stat_pitch.c stat_bi_int.c
STATO = mon_print.o stat_main.o both.o in_out.o son_font.o post_get.o post_set.o set_beam.o set_ties.o set_spread.o stat_length.o stat_interval.o stat_pitch.o stat_bi_int.o

ANALYO = mon_print.o analysis.o son_font.o post_get.o both.o in_out.o
CRITRO = distancer.o critr.o crit.o both.o in_out.o
CRITIO = distancei.o criti.o crit.o both.o in_out.o
COMPO = mon_print.o comp.o post_get.o both.o in_out.o chel_font.o post_set.o set_beam.o set_ties.o set_spread.o

SOURCE = [a-z]*.[ch]

EXTRA = ../doc/once.in.royal ../doc/glengarry \
	../doc/music.doc ../doc/spe.paper ../doc/references

CFLAGS=-O

ALL = pre_mus son_mus pic_mus
#	 statistics \
#	 analysis criti critr comp

all : $(ALL)

$(LMUSO) : post_mus.h both.h
$(PMUSO) : post_mus.h both.h
$(SMUSO) : post_mus.h both.h

$(PREMUSO) : pre_mus.h both.h

$(ANALYO) : post_mus.h both.h
$(CRITRO) : post_mus.h both.h
$(CRITIO) : post_mus.h both.h
$(COMPO) : post_mus.h both.h

stat_main.o stat_length.o stat_interval.o stat_pitch.o : post_mus.h both.h stat.h

son_mus : $(SMUSO)
	cc -o son_mus $(SMUSO); echo son_mus done

chel_mus : $(LMUSO)
	cc -o chel_mus $(LMUSO); echo chel_mus done

pic_mus : $(PMUSO)
	cc -o pic_mus $(PMUSO); echo pic_mus done

pre_mus : $(PREMUSO)
	cc -o pre_mus $(PREMUSO); echo pre_mus done

analysis : $(ANALYO)
	cc -o analysis $(ANALYO); echo analysis done

comp : $(COMPO)
	cc -o comp $(COMPO); echo comp done

critr : $(CRITRO)
	cc -o critr $(CRITRO); echo critr done

criti : $(CRITIO)
	cc -o criti $(CRITIO); echo criti done

statistics : $(STATO)
	cc -o statistics $(STATO)

print : $(PREMUSC) $(SMUSC) jobs
	pr -l72 `echo $?| sort -u` | letter
	touch print

lintpost :
	lint  $(SMUSC)

lintpre :
	lint  $(PREMUSC)

lintstat :
	lint  $(STATC)

lint :
	( make lintpost; make lintpre; make lintstat ) | pr | mletter

install : $(ALL)
	install -s pre_mus $(BIN)/pre_mus
	install -s pic_mus $(BIN)/pic_mus
	install -s son_mus $(BIN)/son_mus
	install -c music.sh $(BIN)/music

shar : $(PREMUSC) $(PMUSC) $(SMUSC) *.h
	shar \
	mon_print.c both.c in_out.c post_mus.c pic_font.c post_get.c post_set.c \
		> shar.2b
	shar \
	post_mus.c son_font.c set_beam.c set_ties.c set_spread.c post_put.c put_ties.c \
	> shar.2c
	shar both.h pre_mus.h post_mus.h Makefile RE* \
		../mus_default ../pic_default > shar.1
	shar $(PREMUSC)  > shar.2a
	shar $(EXTRA) > shar.3
	ls -l shar*

tuck :
	make shar
	uucp /tmp/ef.shar tuck!/staff/ef/uucp/new.mus
	rm /tmp/ef.shar

tidy :
	rm *.o $(ALL) /staff/ef/oldbin/*

size :
	ls -l *.c *.h tune READ.ME

cccvax : $(PREMUSC) $(SMUSC) both.h pre_mus.h post_mus.h
	cpfccc $?
	ftpq
	touch cccvax

testpre : pre_mus
	pre_mus -v11 tune

tune.m : tune
	pre_mus tune > tune.m

testpost : son_mus tune.m
	son_mus tune.m | grep "ledger"

teststat : statistics tune.m
	statistics -l < tune.m
	statistics -p < tune.m
	statistics -i < tune.m
	statistics -t < tune.m

clean:
	rm -f *.o $(ALL)
