#GUI = motif
GUI = xview
#GUI = xt


DIRS = bitmaps src midinetd linux

all:
	for i in $(DIRS); do (cd $$i && make all GUI=$(GUI) LFLAGS=$(LFLAGS)) || exit 1; done
	(cd doc && make html win)
	cp jazz.cfg src/.jazz

win:
	cd doc && make html win
	cat jazz.cfg | sed 's/^\.mouse.*/.mouse 2/g' | unix2dos > mswin/jazz2.cfg
	cat jazz.cfg | sed 's/^\.mouse.*/.mouse 3/g' | unix2dos > mswin/jazz3.cfg

clean:
	for i in $(DIRS); do (cd $$i && make clean GUI=$(GUI)) || exit 1; done

depend:
	(cd src; make depend GUI=$(GUI))

install : all
	install -s -m 755 src/$(GUI)/jazz /usr/local/bin/.
	install -s -m 755 midinetd/midinetd /usr/local/sbin/.
	install -m 755 linux/mpu.o /usr/src/linux/modules/.
	rm -f /dev/mpu401
	mknod /dev/mpu401 c 13 0
	chmod 666 /dev/mpu401
	install -m 644 jazz.cfg $(HOME)/.jazz

# --------------------------------------------------------
# how to build distributions

TAG=v26a
SRCDIST=jazz-src-$(TAG)
BINDIST=jazz-bin-$(TAG)-$(GUI)
TMPDIR=/usr/tmp

$(SRCDIST):
	rm -rf $(SRCDIST)
	cvs export -d $(SRCDIST) -r $(TAG) midi/jazz
	tar cvf - $(SRCDIST) | gzip -9 > $(SRCDIST).tar.gz

$(BINDIST): $(SRCDIST)
	cd $(SRCDIST) && make GUI=$(GUI) LFLAGS="-static $(LFLAGS)"
	strip $(SRCDIST)/src/$(GUI)/jazz
	mkdir $(BINDIST)
	cp $(SRCDIST)/voxware.patch $(SRCDIST)/src/$(GUI)/jazz $(SRCDIST)/jazz.cfg $(SRCDIST)/src/jazz.mid $(SRCDIST)/install.txt $(SRCDIST)/COPYING $(SRCDIST)/CHANGELOG $(BINDIST)/.
	(cd $(SRCDIST)/linux && make clean)
	cp -r $(SRCDIST)/linux $(BINDIST)
	(cd $(SRCDIST)/midinetd && make clean)
	cp -r $(SRCDIST)/midinetd $(BINDIST)
	(cd $(SRCDIST)/doc && make html ps)
	mkdir $(BINDIST)/doc
	cp -r $(SRCDIST)/doc/jazz.tex $(SRCDIST)/doc/html $(SRCDIST)/doc/jazz.ps $(BINDIST)/doc/.
	cp -r $(SRCDIST)/song $(BINDIST)/.
	tar cvf - $(BINDIST) | gzip -9 > $(BINDIST).tar.gz

dist: 
	#cvs tag -F $(TAG)
	cp Makefile $(TMPDIR)
	cd $(TMPDIR) && make $(BINDIST) $(SRCDIST)

