# Makefile for sound example utilities

CONVERTLOD = convertlod
DSPDIR= ${DSTROOT}/usr/local/lib/sound
BINDIR= ${DSTROOT}/usr/local/bin
SRCROOT= ${DSTROOT}/LocalDeveloper/Sources

CSRCS= convertlod.c

DSPSRCS= \
	booter.asm decodemulawsquelch.asm derecord22m.asm dsprecord.asm \
	dspsound.asm dspsounddi.asm dspsoundssi.asm encodemulawsquelch.asm \
	mono.asm portdefs.asm ssiplay.asm

DSPSOUNDFILES= booter.asm decodemulawsquelch.asm derecord22m.asm \
	dsprecord.asm encodemulawsquelch.asm mono.asm ssiplay.asm

SOURCEFILES = $(CSRCS) $(DSPSRCS)

CFLAGS= -g $(RC_CFLAGS)
ARFLAGS= ruv
VPATH = $(OFILE_DIR)
OFILES= $(CFILES:.c=.o)
VERSFLAGS= -l

DSPPRODUCTS= $(DSPSOUNDFILES:.asm=.snd)
SRCPROTECTION= 444

.c.o:
	$(CC) $(CFLAGS) -c $*.c -o $(OFILE_DIR)/$*.o

all: $(CONVERTLOD) snd

installsrc: SRCROOT
	-/bin/rm -rf $(SRCROOT)
	mkdirs $(SRCROOT)
	chmod 755 $(SRCROOT)
	tar cfh - $(SOURCEFILES) Makefile README | (cd $(SRCROOT); tar xf -)
	(cd $(SRCROOT); chmod $(SRCPROTECTION) $(SOURCEFILES))

install: $(BINDIR) convertlod
	install -q -c -s -m 755 convertlod $(BINDIR)

installsnd: $(DSPDIR)
	-/bin/rm -rf $(DSPDIR)
	mkdirs $(DSPDIR)
	install $(IFLAGS) $(DSPPRODUCTS) $(DSPDIR)

clean:
	-/bin/rm -rf *.lod *.lst *.o *~ convertlod TAGS

SRCROOT:
	@if [ -n "${$@}" ]; then exit 0; \
	else echo Must define $@; exit 1; fi

$(BINDIR) $(DSPDIR):
	mkdirs $@

$(SRCROOT):
	-/bin/rm -rf $(SRCROOT)
	mkdirs $(SRCROOT)

$(OFILE_DIR):
	mkdirs $(OFILE_DIR)

#
# These rules are optional until the 56k assembler is released
#
.SUFFIXES: .asm .lod .snd
.asm.snd:
	asm56000 -a -b -l -OS,SO -I./atd_dsp -I./atc_dsp $<
	$(CONVERTLOD) $*.lod

# To make .snd file smaller and forego Bug56 access:
#	asm56000 -a -b -l -I./atd_dsp -I./atc_dsp $<

booter.snd:
	asm56000 -a -b -l $*.asm
	$(CONVERTLOD) $*.lod no_header

$(DSPPRODUCTS): portdefs.asm dspsound.asm dspsoundssi.asm dspsounddi.asm

tags TAGS:
	etags -t $(CFILES) $(HFILES) $(PRIVATE_HFILES) $(OTHERCSRCS)

snd: $(DSPPRODUCTS)
