]> git.donarmstrong.com Git - lilypond.git/blob - make/Rules.make
f886422b03e72f8c5620b5013301898f75199893
[lilypond.git] / make / Rules.make
1 #
2 # project  LilyPond -- the musical typesetter
3 # title    generic make rules
4 # file     make/Rules.make
5 #
6 # Copyright (c) 1997 by    
7 #       Jan Nieuwenhuizen <jan@digicash.com>
8 #       Han-Wen Nienhuys <hanwen@stack.nl>
9
10 # this is supposed to clear all suffixes:
11 .SUFFIXES:
12
13 .SUFFIXES: .cc .o .hh .y .l  .dep
14
15
16 # compile rules:
17 #
18 $(outdir)/%.o: %.cc
19         $(DO_CXX_COMPILE)
20
21 $(outdir)/%.o: $(outdir)/%.cc
22         $(DO_CXX_COMPILE)
23
24 $(outdir)/%.cc: %.yy
25         $(BISON) $<
26         mv $<.tab.c $@
27
28 $(outdir)/%.hh: %.yy
29         $(BISON) -d $<
30         mv $<.tab.h $@
31         mv $<.tab.c $(outdir)/$(shell basename $@ .hh).cc
32
33 $(outdir)/%.cc: %.ll
34         $(FLEX) -Cfe -p -p -t $< > $@
35 # could be faster:
36 #       $(FLEX) -8 -Cf -t $< > $@
37
38 $(outdir)/%: %.m4
39         $(M4) $< > $@
40
41 # outdirs:
42 #
43 # ?$(outdir)/%.dep:
44 %.dep:
45         touch $@
46
47
48 $(depth)/%.txt: check-doc-deps
49         rm -f $@
50         ln `find ${depth}/Documentation -name $@ -print|head -1 ` .