# -*-Makefile-*-
# title	   specific top level makefile for LilyPond  

# subdir level:
#
depth = .
#

# descent order into subdirectories
# 
SUBDIRS = buildscripts scripts flower lily \
	mf ly tex ps scm \
	midi2ly po make intl \
	debian $(builddir)/stepmake \
	Documentation input \
	mutopia ports
#

SCRIPTS = configure aclocal.m4
README_FILES =  DEDICATION COPYING NEWS CHANGES ROADMAP
README_TXT_FILES = AUTHORS.txt README.txt INSTALL.txt FAQ.txt
IN_FILES := $(wildcard *.in)
EXTRA_DIST_FILES = lilypond-font-lock.el lilypond-mode.el lilypond-init.el vimrc VERSION $(README_FILES)  $(SCRIPTS) $(IN_FILES)  emacsclient.patch mktexnam.patch lexer-gcc-3.0.patch
NON_ESSENTIAL_DIST_FILES = $(README_TXT_FILES)
INSTALLATION_DIR=$(datadir)
INSTALLATION_FILES=$(configuration) VERSION

# bootstrap stepmake:
#
STEPMAKE_TEMPLATES=toplevel po install
include $(depth)/make/stepmake.make 
#

footify:
	$(footify) --index=./ `$(FIND) . -maxdepth 1 -name '*.html' -print`
	$(footify-all-command)

fonts:
	$(MAKE) -C $(depth)/mf

doc: lily fonts
	$(MAKE) -C Documentation

web-doc: 
	$(MAKE) out=www -C Documentation WWW
	$(MAKE) footify

# KPATHSEA=0: Hack for compiling without kpathsea -- not recommended
my_tfm_path = $(TFM_PATH) /tmp /tmp /tmp /tmp /tmp /tmp 


local-install:
	mkdir -p $(datadir)
ifeq ($(KPATHSEA),0)
	$(foreach i, 1 2 3 4 5, rm -f $(datadir)/tfm.$(i); $(LN_S) $(word $(i), $(my_tfm_path)) $(datadir)/tfm.$(i) ; )
endif


TOP_HTMLS = index.html short-examples.html long-examples.html

index: web-doc

short-examples:
	$(MAKE) out=www -C input WWW
	$(PYTHON) $(buildscript-dir)/mutopia-index.py -o short-examples.html input/


long-examples:
	$(MAKE) out=www -C mutopia WWW
	$(PYTHON) $(buildscript-dir)/mutopia-index.py -o long-examples.html mutopia/

lily: lily/$(outdir)/lilypond

lily/$(outdir)/lilypond:
	$(MAKE) -C lily

local-web: fonts lily $(TOP_HTMLS:%.html=%) footify do-top-doc top-web

top-web:
	rm -f `find . -name \*.html~ -print`
	find `find Documentation input mutopia *.png index.html -type d -name 'out-www'` \
		-not -name '*.dvi' -not -name '*ly' -not -name '*.tex' \
		-not -name '*.ps' -not -name '*.eps' -not -name '*pk' \
		-not -name '*.aux' -not -name '*.cp' -not -name '*.fn' \
		-not -name '*.vr' -not -name '*.yp' -not -name '*.ky' \
		-not -name '*.pg' -not -name '*.tmp' -not -name '*.toc' \
		-not -name '*.fns' -not -name '*.cps' -not -name '*.nexi' \
		-not -name '*.texi' -not -name '*.texidoc' -not -name '*.tp' \
		-not -name '*.log' -not -name 'out-www' -not -name '*.dep' \
	    > $(outdir)/weblist
	ls *.png *.html >> $(outdir)/weblist
	cat $(outdir)/weblist | GZIP=-9v tar -czf $(outdir)/web.tar.gz  -T -

#WWW: local-WWW

web: local-web

local-WWW-clean: top-WWW-clean

WWW-clean:
	$(MAKE) -C Documentation WWW-clean
	$(MAKE) -C input WWW-clean
	$(MAKE) -C mutopia WWW-clean

top-WWW-clean:
	rm -f $(TOP_HTMLS) lily-[0-9]*.png
	$(SHELL) $(buildscript-dir)/clean-fonts.sh



WWW:
