#
# FILE: Makefile to import sources
#
# usage: make -f Makesrc
#
# I want to be able to keep sources separate from objects, e.g. the
# MIDI sequence code comes from the CMU MIDI Toolkit, and XLisp should
# be compile-able without Nyquist.
#
# There are tools to do this, but I don't expect to find the same tool
# everywhere Nyquist is ported, so I'm taking this simple path.

# Source Paths:
NYQ = nyqsrc
CMT = cmt
XLISP = xlisp
TRANS = tran

EVERYTHING: sources

sources: extern.c xldmem.c xlbfun.c xlcont.c  \
	xldbug.c xleval.c xlfio.c xlftab.c  \
	xlglob.c xlimage.c xlinit.c xlio.c  \
	xlisp.c xljump.c xllist.c xlmath.c  \
	xlobj.c xlpp.c xlprin.c xlread.c  \
	xlstr.c xlsubr.c xlsym.c xlsys.c  \
	debug.c falloc.c add.c local.c  \
	downsample.c handlers.c multiread.c multiseq.c  \
	samples.c seqext.c seqinterf.c sndheader.c  \
	sndread.c sndseq.c sndwrite.c sndmax.c  \
	sound.c stats.c compose.c inverse.c  \
	cext.c cleanup.c cmdline.c cmtcmd.c  \
	moxc.c mem.c midifile.c midifns.c  \
	record.c seq.c seqmread.c seqmwrite.c  \
	seqread.c seqwrite.c tempomap.c timebase.c  \
	userio.c amosc.c const.c fmosc.c  \
	integrate.c log.c osc.c prod.c  \
	pwl.c recip.c upsample.c scale.c  \
	sine.c partial.c white.c tone.c  \
	tonev.c atonev.c atone.c reson.c  \
	areson.c resonvc.c resoncv.c aresonvc.c  \
	aresoncv.c resonvv.c aresonvv.c offset.c  \
	slope.c delay.c delaycv.c shape.c  \
	sampler.c exp.c inverse.h compose.h  \
	stats.h sound.h sndmax.h sndwrite.h  \
	sndseq.h sndread.h sndheader.h seqinterf.h  \
	seqext.h samples.h multiseq.h multiread.h  \
	handlers.h downsample.h local.h add.h  \
	falloc.h debug.h userio.h timebase.h  \
	tempomap.h seqwrite.h seqread.h seqmwrite.h  \
	seqmread.h seq.h record.h midifns.h  \
	midifile.h mem.h moxc.h cmtcmd.h  \
	cmdline.h cleanup.h cext.h osdefs.h  \
	osptrs.h xldmem.h xlisp.h extern.h  \
	localdefs.h localptrs.h seqdecls.h cque.h  \
	switches.h mfmidi.h midicode.h midierr.h  \
	musiprog.h pitch.h swlogic.h hash.h  \
	hashrout.h io.h amosc.h const.h  \
	fmosc.h integrate.h log.h osc.h  \
	prod.h pwl.h recip.h upsample.h  \
	scale.h sine.h partial.h white.h  \
	tone.h tonev.h atonev.h atone.h  \
	reson.h areson.h resonvc.h resoncv.h  \
	aresonvc.h aresoncv.h resonvv.h aresonvv.h  \
	offset.h slope.h delay.h delaycv.h  \
	shape.h sampler.h exp.h xlinit.lsp  \
	misc.lsp evalenv.lsp printrec.lsp init.lsp  \
	nyquist.lsp seqmidi.lsp seq.lsp makefile.lsp  \
	update.lsp transfiles.lsp examples.lsp nyinit.lsp  \
	rs6k.lsp next.lsp pmax.lsp sparc.lsp  \
	sgi.lsp howtorelease.doc README export 


#
# XLISP SOURCES
#
extern.c: $(XLISP)/extern.c
	rm -f extern.c
	cp -p $(XLISP)/extern.c .
	chmod -w extern.c

xldmem.c: $(XLISP)/xldmem.c
	rm -f xldmem.c
	cp -p $(XLISP)/xldmem.c .
	chmod -w xldmem.c

xlbfun.c: $(XLISP)/xlbfun.c
	rm -f xlbfun.c
	cp -p $(XLISP)/xlbfun.c .
	chmod -w xlbfun.c

xlcont.c: $(XLISP)/xlcont.c
	rm -f xlcont.c
	cp -p $(XLISP)/xlcont.c .
	chmod -w xlcont.c

xldbug.c: $(XLISP)/xldbug.c
	rm -f xldbug.c
	cp -p $(XLISP)/xldbug.c .
	chmod -w xldbug.c

xleval.c: $(XLISP)/xleval.c
	rm -f xleval.c
	cp -p $(XLISP)/xleval.c .
	chmod -w xleval.c

xlfio.c: $(XLISP)/xlfio.c
	rm -f xlfio.c
	cp -p $(XLISP)/xlfio.c .
	chmod -w xlfio.c

xlftab.c: $(XLISP)/xlftab.c
	rm -f xlftab.c
	cp -p $(XLISP)/xlftab.c .
	chmod -w xlftab.c

xlglob.c: $(XLISP)/xlglob.c
	rm -f xlglob.c
	cp -p $(XLISP)/xlglob.c .
	chmod -w xlglob.c

xlimage.c: $(XLISP)/xlimage.c
	rm -f xlimage.c
	cp -p $(XLISP)/xlimage.c .
	chmod -w xlimage.c

xlinit.c: $(XLISP)/xlinit.c
	rm -f xlinit.c
	cp -p $(XLISP)/xlinit.c .
	chmod -w xlinit.c

xlio.c: $(XLISP)/xlio.c
	rm -f xlio.c
	cp -p $(XLISP)/xlio.c .
	chmod -w xlio.c

xlisp.c: $(XLISP)/xlisp.c
	rm -f xlisp.c
	cp -p $(XLISP)/xlisp.c .
	chmod -w xlisp.c

xljump.c: $(XLISP)/xljump.c
	rm -f xljump.c
	cp -p $(XLISP)/xljump.c .
	chmod -w xljump.c

xllist.c: $(XLISP)/xllist.c
	rm -f xllist.c
	cp -p $(XLISP)/xllist.c .
	chmod -w xllist.c

xlmath.c: $(XLISP)/xlmath.c
	rm -f xlmath.c
	cp -p $(XLISP)/xlmath.c .
	chmod -w xlmath.c

xlobj.c: $(XLISP)/xlobj.c
	rm -f xlobj.c
	cp -p $(XLISP)/xlobj.c .
	chmod -w xlobj.c

xlpp.c: $(XLISP)/xlpp.c
	rm -f xlpp.c
	cp -p $(XLISP)/xlpp.c .
	chmod -w xlpp.c

xlprin.c: $(XLISP)/xlprin.c
	rm -f xlprin.c
	cp -p $(XLISP)/xlprin.c .
	chmod -w xlprin.c

xlread.c: $(XLISP)/xlread.c
	rm -f xlread.c
	cp -p $(XLISP)/xlread.c .
	chmod -w xlread.c

xlstr.c: $(XLISP)/xlstr.c
	rm -f xlstr.c
	cp -p $(XLISP)/xlstr.c .
	chmod -w xlstr.c

xlsubr.c: $(XLISP)/xlsubr.c
	rm -f xlsubr.c
	cp -p $(XLISP)/xlsubr.c .
	chmod -w xlsubr.c

xlsym.c: $(XLISP)/xlsym.c
	rm -f xlsym.c
	cp -p $(XLISP)/xlsym.c .
	chmod -w xlsym.c

xlsys.c: $(XLISP)/xlsys.c
	rm -f xlsys.c
	cp -p $(XLISP)/xlsys.c .
	chmod -w xlsys.c

osdefs.h: $(XLISP)/osdefs.h
	rm -f osdefs.h
	cp -p $(XLISP)/osdefs.h .
	chmod -w osdefs.h

osptrs.h: $(XLISP)/osptrs.h
	rm -f osptrs.h
	cp -p $(XLISP)/osptrs.h .
	chmod -w osptrs.h

xldmem.h: $(XLISP)/xldmem.h
	rm -f xldmem.h
	cp -p $(XLISP)/xldmem.h .
	chmod -w xldmem.h

xlisp.h: $(XLISP)/xlisp.h
	rm -f xlisp.h
	cp -p $(XLISP)/xlisp.h .
	chmod -w xlisp.h

extern.h: $(XLISP)/extern.h
	rm -f extern.h
	cp -p $(XLISP)/extern.h .
	chmod -w extern.h

xlinit.lsp: $(XLISP)/xlinit.lsp
	rm -f xlinit.lsp
	cp -p $(XLISP)/xlinit.lsp .
	chmod -w xlinit.lsp

misc.lsp: $(XLISP)/misc.lsp
	rm -f misc.lsp
	cp -p $(XLISP)/misc.lsp .
	chmod -w misc.lsp

evalenv.lsp: $(XLISP)/evalenv.lsp
	rm -f evalenv.lsp
	cp -p $(XLISP)/evalenv.lsp .
	chmod -w evalenv.lsp

printrec.lsp: $(XLISP)/printrec.lsp
	rm -f printrec.lsp
	cp -p $(XLISP)/printrec.lsp .
	chmod -w printrec.lsp


#
# NYQUIST SOURCES
#
debug.c: $(NYQ)/debug.c
	rm -f debug.c
	cp -p $(NYQ)/debug.c .
	chmod -w debug.c

falloc.c: $(NYQ)/falloc.c
	rm -f falloc.c
	cp -p $(NYQ)/falloc.c .
	chmod -w falloc.c

add.c: $(NYQ)/add.c
	rm -f add.c
	cp -p $(NYQ)/add.c .
	chmod -w add.c

local.c: $(NYQ)/local.c
	rm -f local.c
	cp -p $(NYQ)/local.c .
	chmod -w local.c

downsample.c: $(NYQ)/downsample.c
	rm -f downsample.c
	cp -p $(NYQ)/downsample.c .
	chmod -w downsample.c

handlers.c: $(NYQ)/handlers.c
	rm -f handlers.c
	cp -p $(NYQ)/handlers.c .
	chmod -w handlers.c

multiread.c: $(NYQ)/multiread.c
	rm -f multiread.c
	cp -p $(NYQ)/multiread.c .
	chmod -w multiread.c

multiseq.c: $(NYQ)/multiseq.c
	rm -f multiseq.c
	cp -p $(NYQ)/multiseq.c .
	chmod -w multiseq.c

samples.c: $(NYQ)/samples.c
	rm -f samples.c
	cp -p $(NYQ)/samples.c .
	chmod -w samples.c

seqext.c: $(NYQ)/seqext.c
	rm -f seqext.c
	cp -p $(NYQ)/seqext.c .
	chmod -w seqext.c

seqinterf.c: $(NYQ)/seqinterf.c
	rm -f seqinterf.c
	cp -p $(NYQ)/seqinterf.c .
	chmod -w seqinterf.c

sndheader.c: $(NYQ)/sndheader.c
	rm -f sndheader.c
	cp -p $(NYQ)/sndheader.c .
	chmod -w sndheader.c

sndread.c: $(NYQ)/sndread.c
	rm -f sndread.c
	cp -p $(NYQ)/sndread.c .
	chmod -w sndread.c

sndseq.c: $(NYQ)/sndseq.c
	rm -f sndseq.c
	cp -p $(NYQ)/sndseq.c .
	chmod -w sndseq.c

sndwrite.c: $(NYQ)/sndwrite.c
	rm -f sndwrite.c
	cp -p $(NYQ)/sndwrite.c .
	chmod -w sndwrite.c

sndmax.c: $(NYQ)/sndmax.c
	rm -f sndmax.c
	cp -p $(NYQ)/sndmax.c .
	chmod -w sndmax.c

sound.c: $(NYQ)/sound.c
	rm -f sound.c
	cp -p $(NYQ)/sound.c .
	chmod -w sound.c

stats.c: $(NYQ)/stats.c
	rm -f stats.c
	cp -p $(NYQ)/stats.c .
	chmod -w stats.c

compose.c: $(NYQ)/compose.c
	rm -f compose.c
	cp -p $(NYQ)/compose.c .
	chmod -w compose.c

inverse.c: $(NYQ)/inverse.c
	rm -f inverse.c
	cp -p $(NYQ)/inverse.c .
	chmod -w inverse.c

inverse.h: $(NYQ)/inverse.h
	rm -f inverse.h
	cp -p $(NYQ)/inverse.h .
	chmod -w inverse.h

compose.h: $(NYQ)/compose.h
	rm -f compose.h
	cp -p $(NYQ)/compose.h .
	chmod -w compose.h

stats.h: $(NYQ)/stats.h
	rm -f stats.h
	cp -p $(NYQ)/stats.h .
	chmod -w stats.h

sound.h: $(NYQ)/sound.h
	rm -f sound.h
	cp -p $(NYQ)/sound.h .
	chmod -w sound.h

sndmax.h: $(NYQ)/sndmax.h
	rm -f sndmax.h
	cp -p $(NYQ)/sndmax.h .
	chmod -w sndmax.h

sndwrite.h: $(NYQ)/sndwrite.h
	rm -f sndwrite.h
	cp -p $(NYQ)/sndwrite.h .
	chmod -w sndwrite.h

sndseq.h: $(NYQ)/sndseq.h
	rm -f sndseq.h
	cp -p $(NYQ)/sndseq.h .
	chmod -w sndseq.h

sndread.h: $(NYQ)/sndread.h
	rm -f sndread.h
	cp -p $(NYQ)/sndread.h .
	chmod -w sndread.h

sndheader.h: $(NYQ)/sndheader.h
	rm -f sndheader.h
	cp -p $(NYQ)/sndheader.h .
	chmod -w sndheader.h

seqinterf.h: $(NYQ)/seqinterf.h
	rm -f seqinterf.h
	cp -p $(NYQ)/seqinterf.h .
	chmod -w seqinterf.h

seqext.h: $(NYQ)/seqext.h
	rm -f seqext.h
	cp -p $(NYQ)/seqext.h .
	chmod -w seqext.h

samples.h: $(NYQ)/samples.h
	rm -f samples.h
	cp -p $(NYQ)/samples.h .
	chmod -w samples.h

multiseq.h: $(NYQ)/multiseq.h
	rm -f multiseq.h
	cp -p $(NYQ)/multiseq.h .
	chmod -w multiseq.h

multiread.h: $(NYQ)/multiread.h
	rm -f multiread.h
	cp -p $(NYQ)/multiread.h .
	chmod -w multiread.h

handlers.h: $(NYQ)/handlers.h
	rm -f handlers.h
	cp -p $(NYQ)/handlers.h .
	chmod -w handlers.h

downsample.h: $(NYQ)/downsample.h
	rm -f downsample.h
	cp -p $(NYQ)/downsample.h .
	chmod -w downsample.h

local.h: $(NYQ)/local.h
	rm -f local.h
	cp -p $(NYQ)/local.h .
	chmod -w local.h

add.h: $(NYQ)/add.h
	rm -f add.h
	cp -p $(NYQ)/add.h .
	chmod -w add.h

falloc.h: $(NYQ)/falloc.h
	rm -f falloc.h
	cp -p $(NYQ)/falloc.h .
	chmod -w falloc.h

debug.h: $(NYQ)/debug.h
	rm -f debug.h
	cp -p $(NYQ)/debug.h .
	chmod -w debug.h

localdefs.h: $(NYQ)/localdefs.h
	rm -f localdefs.h
	cp -p $(NYQ)/localdefs.h .
	chmod -w localdefs.h

localptrs.h: $(NYQ)/localptrs.h
	rm -f localptrs.h
	cp -p $(NYQ)/localptrs.h .
	chmod -w localptrs.h

seqdecls.h: $(NYQ)/seqdecls.h
	rm -f seqdecls.h
	cp -p $(NYQ)/seqdecls.h .
	chmod -w seqdecls.h

cque.h: $(NYQ)/cque.h
	rm -f cque.h
	cp -p $(NYQ)/cque.h .
	chmod -w cque.h

switches.h: $(NYQ)/switches.h
	rm -f switches.h
	cp -p $(NYQ)/switches.h .
	chmod -w switches.h

init.lsp: $(NYQ)/init.lsp
	rm -f init.lsp
	cp -p $(NYQ)/init.lsp .
	chmod -w init.lsp

nyquist.lsp: $(NYQ)/nyquist.lsp
	rm -f nyquist.lsp
	cp -p $(NYQ)/nyquist.lsp .
	chmod -w nyquist.lsp

seqmidi.lsp: $(NYQ)/seqmidi.lsp
	rm -f seqmidi.lsp
	cp -p $(NYQ)/seqmidi.lsp .
	chmod -w seqmidi.lsp

seq.lsp: $(NYQ)/seq.lsp
	rm -f seq.lsp
	cp -p $(NYQ)/seq.lsp .
	chmod -w seq.lsp

makefile.lsp: $(NYQ)/makefile.lsp
	rm -f makefile.lsp
	cp -p $(NYQ)/makefile.lsp .
	chmod -w makefile.lsp

update.lsp: $(NYQ)/update.lsp
	rm -f update.lsp
	cp -p $(NYQ)/update.lsp .
	chmod -w update.lsp

transfiles.lsp: $(NYQ)/transfiles.lsp
	rm -f transfiles.lsp
	cp -p $(NYQ)/transfiles.lsp .
	chmod -w transfiles.lsp

examples.lsp: $(NYQ)/examples.lsp
	rm -f examples.lsp
	cp -p $(NYQ)/examples.lsp .
	chmod -w examples.lsp

nyinit.lsp: $(NYQ)/nyinit.lsp
	rm -f nyinit.lsp
	cp -p $(NYQ)/nyinit.lsp .
	chmod -w nyinit.lsp

rs6k.lsp: $(NYQ)/rs6k.lsp
	rm -f rs6k.lsp
	cp -p $(NYQ)/rs6k.lsp .
	chmod -w rs6k.lsp

next.lsp: $(NYQ)/next.lsp
	rm -f next.lsp
	cp -p $(NYQ)/next.lsp .
	chmod -w next.lsp

pmax.lsp: $(NYQ)/pmax.lsp
	rm -f pmax.lsp
	cp -p $(NYQ)/pmax.lsp .
	chmod -w pmax.lsp

sparc.lsp: $(NYQ)/sparc.lsp
	rm -f sparc.lsp
	cp -p $(NYQ)/sparc.lsp .
	chmod -w sparc.lsp

sgi.lsp: $(NYQ)/sgi.lsp
	rm -f sgi.lsp
	cp -p $(NYQ)/sgi.lsp .
	chmod -w sgi.lsp

howtorelease.doc: $(NYQ)/howtorelease.doc
	rm -f howtorelease.doc
	cp -p $(NYQ)/howtorelease.doc .
	chmod -w howtorelease.doc

README: $(NYQ)/README
	rm -f README
	cp -p $(NYQ)/README .
	chmod -w README

export: $(NYQ)/export
	rm -f export
	cp -p $(NYQ)/export .
	chmod -w export


#
# CMT SOURCES
#
cext.c: $(CMT)/cext.c
	rm -f cext.c
	cp -p $(CMT)/cext.c .
	chmod -w cext.c

cleanup.c: $(CMT)/cleanup.c
	rm -f cleanup.c
	cp -p $(CMT)/cleanup.c .
	chmod -w cleanup.c

cmdline.c: $(CMT)/cmdline.c
	rm -f cmdline.c
	cp -p $(CMT)/cmdline.c .
	chmod -w cmdline.c

cmtcmd.c: $(CMT)/cmtcmd.c
	rm -f cmtcmd.c
	cp -p $(CMT)/cmtcmd.c .
	chmod -w cmtcmd.c

moxc.c: $(CMT)/moxc.c
	rm -f moxc.c
	cp -p $(CMT)/moxc.c .
	chmod -w moxc.c

mem.c: $(CMT)/mem.c
	rm -f mem.c
	cp -p $(CMT)/mem.c .
	chmod -w mem.c

midifile.c: $(CMT)/midifile.c
	rm -f midifile.c
	cp -p $(CMT)/midifile.c .
	chmod -w midifile.c

midifns.c: $(CMT)/midifns.c
	rm -f midifns.c
	cp -p $(CMT)/midifns.c .
	chmod -w midifns.c

record.c: $(CMT)/record.c
	rm -f record.c
	cp -p $(CMT)/record.c .
	chmod -w record.c

seq.c: $(CMT)/seq.c
	rm -f seq.c
	cp -p $(CMT)/seq.c .
	chmod -w seq.c

seqmread.c: $(CMT)/seqmread.c
	rm -f seqmread.c
	cp -p $(CMT)/seqmread.c .
	chmod -w seqmread.c

seqmwrite.c: $(CMT)/seqmwrite.c
	rm -f seqmwrite.c
	cp -p $(CMT)/seqmwrite.c .
	chmod -w seqmwrite.c

seqread.c: $(CMT)/seqread.c
	rm -f seqread.c
	cp -p $(CMT)/seqread.c .
	chmod -w seqread.c

seqwrite.c: $(CMT)/seqwrite.c
	rm -f seqwrite.c
	cp -p $(CMT)/seqwrite.c .
	chmod -w seqwrite.c

tempomap.c: $(CMT)/tempomap.c
	rm -f tempomap.c
	cp -p $(CMT)/tempomap.c .
	chmod -w tempomap.c

timebase.c: $(CMT)/timebase.c
	rm -f timebase.c
	cp -p $(CMT)/timebase.c .
	chmod -w timebase.c

userio.c: $(CMT)/userio.c
	rm -f userio.c
	cp -p $(CMT)/userio.c .
	chmod -w userio.c

userio.h: $(CMT)/userio.h
	rm -f userio.h
	cp -p $(CMT)/userio.h .
	chmod -w userio.h

timebase.h: $(CMT)/timebase.h
	rm -f timebase.h
	cp -p $(CMT)/timebase.h .
	chmod -w timebase.h

tempomap.h: $(CMT)/tempomap.h
	rm -f tempomap.h
	cp -p $(CMT)/tempomap.h .
	chmod -w tempomap.h

seqwrite.h: $(CMT)/seqwrite.h
	rm -f seqwrite.h
	cp -p $(CMT)/seqwrite.h .
	chmod -w seqwrite.h

seqread.h: $(CMT)/seqread.h
	rm -f seqread.h
	cp -p $(CMT)/seqread.h .
	chmod -w seqread.h

seqmwrite.h: $(CMT)/seqmwrite.h
	rm -f seqmwrite.h
	cp -p $(CMT)/seqmwrite.h .
	chmod -w seqmwrite.h

seqmread.h: $(CMT)/seqmread.h
	rm -f seqmread.h
	cp -p $(CMT)/seqmread.h .
	chmod -w seqmread.h

seq.h: $(CMT)/seq.h
	rm -f seq.h
	cp -p $(CMT)/seq.h .
	chmod -w seq.h

record.h: $(CMT)/record.h
	rm -f record.h
	cp -p $(CMT)/record.h .
	chmod -w record.h

midifns.h: $(CMT)/midifns.h
	rm -f midifns.h
	cp -p $(CMT)/midifns.h .
	chmod -w midifns.h

midifile.h: $(CMT)/midifile.h
	rm -f midifile.h
	cp -p $(CMT)/midifile.h .
	chmod -w midifile.h

mem.h: $(CMT)/mem.h
	rm -f mem.h
	cp -p $(CMT)/mem.h .
	chmod -w mem.h

moxc.h: $(CMT)/moxc.h
	rm -f moxc.h
	cp -p $(CMT)/moxc.h .
	chmod -w moxc.h

cmtcmd.h: $(CMT)/cmtcmd.h
	rm -f cmtcmd.h
	cp -p $(CMT)/cmtcmd.h .
	chmod -w cmtcmd.h

cmdline.h: $(CMT)/cmdline.h
	rm -f cmdline.h
	cp -p $(CMT)/cmdline.h .
	chmod -w cmdline.h

cleanup.h: $(CMT)/cleanup.h
	rm -f cleanup.h
	cp -p $(CMT)/cleanup.h .
	chmod -w cleanup.h

cext.h: $(CMT)/cext.h
	rm -f cext.h
	cp -p $(CMT)/cext.h .
	chmod -w cext.h

mfmidi.h: $(CMT)/mfmidi.h
	rm -f mfmidi.h
	cp -p $(CMT)/mfmidi.h .
	chmod -w mfmidi.h

midicode.h: $(CMT)/midicode.h
	rm -f midicode.h
	cp -p $(CMT)/midicode.h .
	chmod -w midicode.h

midierr.h: $(CMT)/midierr.h
	rm -f midierr.h
	cp -p $(CMT)/midierr.h .
	chmod -w midierr.h

musiprog.h: $(CMT)/musiprog.h
	rm -f musiprog.h
	cp -p $(CMT)/musiprog.h .
	chmod -w musiprog.h

pitch.h: $(CMT)/pitch.h
	rm -f pitch.h
	cp -p $(CMT)/pitch.h .
	chmod -w pitch.h

swlogic.h: $(CMT)/swlogic.h
	rm -f swlogic.h
	cp -p $(CMT)/swlogic.h .
	chmod -w swlogic.h

hash.h: $(CMT)/hash.h
	rm -f hash.h
	cp -p $(CMT)/hash.h .
	chmod -w hash.h

hashrout.h: $(CMT)/hashrout.h
	rm -f hashrout.h
	cp -p $(CMT)/hashrout.h .
	chmod -w hashrout.h

io.h: $(CMT)/io.h
	rm -f io.h
	cp -p $(CMT)/io.h .
	chmod -w io.h


#
# TRANS SOURCES
#
amosc.c: $(TRANS)/amosc.c
	rm -f amosc.c
	cp -p $(TRANS)/amosc.c .
	chmod -w amosc.c

const.c: $(TRANS)/const.c
	rm -f const.c
	cp -p $(TRANS)/const.c .
	chmod -w const.c

fmosc.c: $(TRANS)/fmosc.c
	rm -f fmosc.c
	cp -p $(TRANS)/fmosc.c .
	chmod -w fmosc.c

integrate.c: $(TRANS)/integrate.c
	rm -f integrate.c
	cp -p $(TRANS)/integrate.c .
	chmod -w integrate.c

log.c: $(TRANS)/log.c
	rm -f log.c
	cp -p $(TRANS)/log.c .
	chmod -w log.c

osc.c: $(TRANS)/osc.c
	rm -f osc.c
	cp -p $(TRANS)/osc.c .
	chmod -w osc.c

prod.c: $(TRANS)/prod.c
	rm -f prod.c
	cp -p $(TRANS)/prod.c .
	chmod -w prod.c

pwl.c: $(TRANS)/pwl.c
	rm -f pwl.c
	cp -p $(TRANS)/pwl.c .
	chmod -w pwl.c

recip.c: $(TRANS)/recip.c
	rm -f recip.c
	cp -p $(TRANS)/recip.c .
	chmod -w recip.c

upsample.c: $(TRANS)/upsample.c
	rm -f upsample.c
	cp -p $(TRANS)/upsample.c .
	chmod -w upsample.c

scale.c: $(TRANS)/scale.c
	rm -f scale.c
	cp -p $(TRANS)/scale.c .
	chmod -w scale.c

sine.c: $(TRANS)/sine.c
	rm -f sine.c
	cp -p $(TRANS)/sine.c .
	chmod -w sine.c

partial.c: $(TRANS)/partial.c
	rm -f partial.c
	cp -p $(TRANS)/partial.c .
	chmod -w partial.c

white.c: $(TRANS)/white.c
	rm -f white.c
	cp -p $(TRANS)/white.c .
	chmod -w white.c

tone.c: $(TRANS)/tone.c
	rm -f tone.c
	cp -p $(TRANS)/tone.c .
	chmod -w tone.c

tonev.c: $(TRANS)/tonev.c
	rm -f tonev.c
	cp -p $(TRANS)/tonev.c .
	chmod -w tonev.c

atonev.c: $(TRANS)/atonev.c
	rm -f atonev.c
	cp -p $(TRANS)/atonev.c .
	chmod -w atonev.c

atone.c: $(TRANS)/atone.c
	rm -f atone.c
	cp -p $(TRANS)/atone.c .
	chmod -w atone.c

reson.c: $(TRANS)/reson.c
	rm -f reson.c
	cp -p $(TRANS)/reson.c .
	chmod -w reson.c

areson.c: $(TRANS)/areson.c
	rm -f areson.c
	cp -p $(TRANS)/areson.c .
	chmod -w areson.c

resonvc.c: $(TRANS)/resonvc.c
	rm -f resonvc.c
	cp -p $(TRANS)/resonvc.c .
	chmod -w resonvc.c

resoncv.c: $(TRANS)/resoncv.c
	rm -f resoncv.c
	cp -p $(TRANS)/resoncv.c .
	chmod -w resoncv.c

aresonvc.c: $(TRANS)/aresonvc.c
	rm -f aresonvc.c
	cp -p $(TRANS)/aresonvc.c .
	chmod -w aresonvc.c

aresoncv.c: $(TRANS)/aresoncv.c
	rm -f aresoncv.c
	cp -p $(TRANS)/aresoncv.c .
	chmod -w aresoncv.c

resonvv.c: $(TRANS)/resonvv.c
	rm -f resonvv.c
	cp -p $(TRANS)/resonvv.c .
	chmod -w resonvv.c

aresonvv.c: $(TRANS)/aresonvv.c
	rm -f aresonvv.c
	cp -p $(TRANS)/aresonvv.c .
	chmod -w aresonvv.c

offset.c: $(TRANS)/offset.c
	rm -f offset.c
	cp -p $(TRANS)/offset.c .
	chmod -w offset.c

slope.c: $(TRANS)/slope.c
	rm -f slope.c
	cp -p $(TRANS)/slope.c .
	chmod -w slope.c

delay.c: $(TRANS)/delay.c
	rm -f delay.c
	cp -p $(TRANS)/delay.c .
	chmod -w delay.c

delaycv.c: $(TRANS)/delaycv.c
	rm -f delaycv.c
	cp -p $(TRANS)/delaycv.c .
	chmod -w delaycv.c

shape.c: $(TRANS)/shape.c
	rm -f shape.c
	cp -p $(TRANS)/shape.c .
	chmod -w shape.c

sampler.c: $(TRANS)/sampler.c
	rm -f sampler.c
	cp -p $(TRANS)/sampler.c .
	chmod -w sampler.c

exp.c: $(TRANS)/exp.c
	rm -f exp.c
	cp -p $(TRANS)/exp.c .
	chmod -w exp.c

amosc.h: $(TRANS)/amosc.h
	rm -f amosc.h
	cp -p $(TRANS)/amosc.h .
	chmod -w amosc.h

const.h: $(TRANS)/const.h
	rm -f const.h
	cp -p $(TRANS)/const.h .
	chmod -w const.h

fmosc.h: $(TRANS)/fmosc.h
	rm -f fmosc.h
	cp -p $(TRANS)/fmosc.h .
	chmod -w fmosc.h

integrate.h: $(TRANS)/integrate.h
	rm -f integrate.h
	cp -p $(TRANS)/integrate.h .
	chmod -w integrate.h

log.h: $(TRANS)/log.h
	rm -f log.h
	cp -p $(TRANS)/log.h .
	chmod -w log.h

osc.h: $(TRANS)/osc.h
	rm -f osc.h
	cp -p $(TRANS)/osc.h .
	chmod -w osc.h

prod.h: $(TRANS)/prod.h
	rm -f prod.h
	cp -p $(TRANS)/prod.h .
	chmod -w prod.h

pwl.h: $(TRANS)/pwl.h
	rm -f pwl.h
	cp -p $(TRANS)/pwl.h .
	chmod -w pwl.h

recip.h: $(TRANS)/recip.h
	rm -f recip.h
	cp -p $(TRANS)/recip.h .
	chmod -w recip.h

upsample.h: $(TRANS)/upsample.h
	rm -f upsample.h
	cp -p $(TRANS)/upsample.h .
	chmod -w upsample.h

scale.h: $(TRANS)/scale.h
	rm -f scale.h
	cp -p $(TRANS)/scale.h .
	chmod -w scale.h

sine.h: $(TRANS)/sine.h
	rm -f sine.h
	cp -p $(TRANS)/sine.h .
	chmod -w sine.h

partial.h: $(TRANS)/partial.h
	rm -f partial.h
	cp -p $(TRANS)/partial.h .
	chmod -w partial.h

white.h: $(TRANS)/white.h
	rm -f white.h
	cp -p $(TRANS)/white.h .
	chmod -w white.h

tone.h: $(TRANS)/tone.h
	rm -f tone.h
	cp -p $(TRANS)/tone.h .
	chmod -w tone.h

tonev.h: $(TRANS)/tonev.h
	rm -f tonev.h
	cp -p $(TRANS)/tonev.h .
	chmod -w tonev.h

atonev.h: $(TRANS)/atonev.h
	rm -f atonev.h
	cp -p $(TRANS)/atonev.h .
	chmod -w atonev.h

atone.h: $(TRANS)/atone.h
	rm -f atone.h
	cp -p $(TRANS)/atone.h .
	chmod -w atone.h

reson.h: $(TRANS)/reson.h
	rm -f reson.h
	cp -p $(TRANS)/reson.h .
	chmod -w reson.h

areson.h: $(TRANS)/areson.h
	rm -f areson.h
	cp -p $(TRANS)/areson.h .
	chmod -w areson.h

resonvc.h: $(TRANS)/resonvc.h
	rm -f resonvc.h
	cp -p $(TRANS)/resonvc.h .
	chmod -w resonvc.h

resoncv.h: $(TRANS)/resoncv.h
	rm -f resoncv.h
	cp -p $(TRANS)/resoncv.h .
	chmod -w resoncv.h

aresonvc.h: $(TRANS)/aresonvc.h
	rm -f aresonvc.h
	cp -p $(TRANS)/aresonvc.h .
	chmod -w aresonvc.h

aresoncv.h: $(TRANS)/aresoncv.h
	rm -f aresoncv.h
	cp -p $(TRANS)/aresoncv.h .
	chmod -w aresoncv.h

resonvv.h: $(TRANS)/resonvv.h
	rm -f resonvv.h
	cp -p $(TRANS)/resonvv.h .
	chmod -w resonvv.h

aresonvv.h: $(TRANS)/aresonvv.h
	rm -f aresonvv.h
	cp -p $(TRANS)/aresonvv.h .
	chmod -w aresonvv.h

offset.h: $(TRANS)/offset.h
	rm -f offset.h
	cp -p $(TRANS)/offset.h .
	chmod -w offset.h

slope.h: $(TRANS)/slope.h
	rm -f slope.h
	cp -p $(TRANS)/slope.h .
	chmod -w slope.h

delay.h: $(TRANS)/delay.h
	rm -f delay.h
	cp -p $(TRANS)/delay.h .
	chmod -w delay.h

delaycv.h: $(TRANS)/delaycv.h
	rm -f delaycv.h
	cp -p $(TRANS)/delaycv.h .
	chmod -w delaycv.h

shape.h: $(TRANS)/shape.h
	rm -f shape.h
	cp -p $(TRANS)/shape.h .
	chmod -w shape.h

sampler.h: $(TRANS)/sampler.h
	rm -f sampler.h
	cp -p $(TRANS)/sampler.h .
	chmod -w sampler.h

exp.h: $(TRANS)/exp.h
	rm -f exp.h
	cp -p $(TRANS)/exp.h .
	chmod -w exp.h

