]> git.donarmstrong.com Git - lilypond.git/blob - GNUmakefile.in
* input/mutopia/F.Schubert/standchen.ly (trebleThrough): fixes
[lilypond.git] / GNUmakefile.in
1 # -*-Makefile-*-
2 # title    specific top level makefile for LilyPond  
3
4 # subdir level:
5 #
6 depth = .
7 #
8
9 # descent order into subdirectories
10
11 SUBDIRS = buildscripts python scripts \
12         flower lily \
13         mf ly tex ps scm \
14         po make \
15         cygwin debian $(builddir)/stepmake \
16         Documentation input
17 #
18
19 SCRIPTS = configure aclocal.m4 autogen.sh
20 README_FILES =  ChangeLog  COPYING DEDICATION README.mandrake ROADMAP THANKS
21 README_TXT_FILES = AUTHORS.txt README.txt INSTALL.txt NEWS.txt
22 IN_FILES := $(wildcard *.in)
23 EXTRA_DIST_FILES = $(wildcard *.el) vimrc VERSION $(README_FILES)  $(SCRIPTS) $(IN_FILES)  emacsclient.patch server.el.patch darwin.patch .cvsignore  lexer-gcc-3.1.sh  lilypond.words
24 NON_ESSENTIAL_DIST_FILES = $(README_TXT_FILES)
25 INSTALLATION_DIR=$(local_lilypond_datadir)
26 INSTALLATION_FILES=$(config_make) VERSION
27
28 # bootstrap stepmake:
29 #
30 STEPMAKE_TEMPLATES=toplevel po install
31 include $(depth)/make/stepmake.make 
32
33 doc: 
34         $(MAKE) -C Documentation
35
36 pfa-fonts:
37         $(MAKE) MAKE_PFA_FILES=1 -C mf
38 ifeq (0,1)
39         # the font ball; used for 1.8.0
40         (cd $(builddir)/share/lilypond/fonts && \
41                 tar czvf ../../../$(outbase)/type1.tar.gz type1/*.pfa type1/fonts.* type1/lilypond.* )
42 else
43         # the new font ball; to be used for for 1.8.1
44         (cd $(builddir)/share/lilypond && \
45                 tar czvf ../../$(outbase)/type1-$(TOPLEVEL_VERSION).tar.gz fonts/type1/*.pfa fonts/type1/fonts.* dvips/*.map )
46 endif
47
48 web-install: 
49         -$(INSTALL) -m 755 -d $(webdir) 
50         tar -C $(webdir)/ -xzf $(outdir)/web.tar.gz
51
52 local-install:
53         $(INSTALL) -d $(local_lilypond_datadir)
54
55 final-install:
56         @echo
57         @echo " *** Before running, buildscripts/out/lilypond-{profile,login}"
58         @echo " *** must be run. You're advised to source these scripts from your "
59         @echo " *** login scripts. For more information, see Invoking LilyPond in the manual."
60         @echo 
61
62 web-ext = gz html midi pdf png txt ly
63
64 footify = MAILADDRESS=bug-lilypond@gnu.org  $(PYTHON) $(step-bindir)/add-html-footer.py  --name $(PACKAGE_NAME) --version $(TOPLEVEL_VERSION)
65
66 bla:
67         cd $(builddir) && $(footify) `$(FIND) . -name '*.html' -print`
68
69 local-WWW-post:  
70         $(PYTHON) $(buildscript-dir)/mutopia-index.py -o $(builddir)/examples.html ./
71         cd $(builddir) && $(footify) `$(FIND) . -name '*.html' -print`
72         cd $(builddir) && rm -f `find . -name \*.html~ -print`
73         cd $(builddir) && find Documentation input \
74                 $(web-ext:%=-path '*/out-www/*.%' -or) -false \
75                 > $(outdir)/weblist
76         echo '<META HTTP-EQUIV="refresh" content="0;URL=Documentation/out-www/index.html">' > $(builddir)/index.html
77         echo '<html><body>Redirecting to the documentation index...</body></html>' >> $(builddir)/index.html
78         cd $(builddir) && ls *.html >> $(outdir)/weblist
79         cat $(outdir)/weblist | (cd $(builddir); GZIP=-9v tar -czf $(outdir)/web.tar.gz  -T -)
80
81
82 src-ext = c cc yy ll hh icc py scm tex ps texi itexi tely itely sh
83
84 ALL-TAGS:
85         etags $(shell find . $(src-ext:%=-name '*.%' -or) -false | grep -v '/out')
86
87 web-clean:
88         $(SHELL) $(buildscript-dir)/clean-fonts.sh
89         $(MAKE) out=www clean
90
91
92
93 default: $(config_h) builddir-setup
94
95 builddir-setup: $(builddir)/share/lilypond-force
96
97 PO_FILES = $(wildcard $(srcdir)/po/*.po)
98 HELP_CATALOGS = $(PO_FILES:$(srcdir)/po/%.po=%)
99 CATALOGS = $(HELP_CATALOGS:lilypond=) 
100
101 $(builddir)/share/lilypond-force:
102 # Preparing LilyPond tree for builddir exec
103         cd $(builddir) && rm -rf lib share
104         mkdir -p $(builddir)/lib/lilypond
105         mkdir -p $(builddir)/share/lilypond
106         mkdir -p $(builddir)/share/lilypond/fonts
107         mkdir -p $(builddir)/share/lilypond/tex
108         cd $(builddir)/lib/lilypond && \
109                 ln -s  ../../python/$(outconfbase) python
110         cd $(builddir)/share/lilypond && \
111                 ln -s $(abs-srcdir)/ly ly && \
112                 ln -s ../../mf/$(outconfbase) dvips && \
113                 ln -s ../../mf/$(outconfbase) afm && \
114                 ln -s ../../mf/$(outconfbase) tfm && \
115                 ln -s $(abs-srcdir)/mf && \
116                 ln -s $(abs-srcdir)/ps && \
117                 ln -s ../../python/$(outconfbase) python && \
118                 ln -s $(abs-srcdir)/scm
119         cd $(builddir)/share/lilypond/tex && \
120                 ln -s $(abs-srcdir)/tex source && \
121                 ln -s ../../../mf/$(outconfbase) generate
122         cd $(builddir)/share/lilypond/fonts && \
123                 ln -s $(abs-srcdir)/mf source && \
124                 ln -s ../../../mf/$(outconfbase) afm && \
125                 ln -s ../../../mf/$(outconfbase) tfm && \
126                 ln -s ../../../mf/$(outconfbase) type1
127         $(foreach i,$(CATALOGS), \
128                 mkdir -p $(builddir)/share/locale/$i/LC_MESSAGES && \
129                 cd $(builddir)/share/locale/$i/LC_MESSAGES && \
130                 ln -fs ../../../../po/$(outconfbase)/$i.mo lilypond.mo &&) true
131         touch $@
132
133 local-clean: builddir-setup-clean
134 builddir-setup-clean:
135         cd $(builddir) && rm -rf share
136
137 $(config_h): configure.in aclocal.m4
138 #
139 # this is to prevent people from getting
140 # undefined symbols  when we add them to config.h.in,
141 # and they blindly run "cvs update; make".
142 #
143         @echo
144         @echo ' *** $(config_h) is out of date'
145         @echo ' *** Remove it and rerun autogen:'
146         @echo '         rm $(config_h); ./autogen.sh'
147         @echo
148         @false
149
150
151 # maybe move into private script?
152 rsync-web:
153         cd out-www &&  mkdir web && tar  -xzf web.tar.gz -C web
154         cd out-www/web &&  rsync --delete --stats --progress -rltvu -e ssh . x:/var/www/lilypond/doc/v1.9/
155         cd out-www && rm -rf web/