]> git.donarmstrong.com Git - lilypond.git/blob - make/Rules.make
release: 0.0.44
[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 # so why does make still consider xx.y : RCS/xx.y,v ?
13 # there is no suffix ,v anymore!
14 .SUFFIXES: .cc .o .hh .y .l .pod .txt .1 .dep
15
16 # cancel implicit rules:
17 #
18 # shit, how to get rid of these stupid built-in rules?
19 # include ./$(depth)/make/Builtin-rules.make
20 #
21
22 # compile rules:
23 #
24 $(outdir)/%.o: %.cc
25         $(DO_CXX_COMPILE)
26
27 $(outdir)/%.o: $(outdir)/%.cc
28         $(DO_CXX_COMPILE)
29
30 $(outdir)/%.cc: %.y
31 #       $(BISON) -d $<
32         $(BISON) $<
33 #       mv $(shell basename $@ .cc ).tab.h $(include-lib)/$(shell basename $@ .cc).hh
34 #       mv $(shell basename $@ .cc ).tab.h $(outdir)/$(shell basename $@ .cc).hh
35         mv $(shell basename $@ .cc ).tab.c $@
36
37 $(outdir)/%.hh: %.y
38         $(BISON) -d $<
39         mv $(shell basename $@ .hh ).tab.h $@
40         mv $(shell basename $@ .hh ).tab.c $(outdir)/$(shell basename $@ .hh).cc
41
42 $(outdir)/%.cc: %.l
43         $(FLEX) -Cfe -p -p -t $< > $@
44
45 $(outdir)/%.text: $(outdir)/%.1
46         groff -man -Tascii $< > $@
47
48 $(depth)/%.text: $(outdir)/%.text
49         cp $< $@
50
51 $(outdir)/%.1: %.pod
52         pod2man --center="LilyPond documentation" --section="0"\
53                 --release="LilyPond $(TOPLEVEL_MAJOR_VERSION).$(TOPLEVEL_MINOR_VERSION).$(TOPLEVEL_PATCH_LEVEL)" $< > $@
54 #
55
56 # outdirs:
57 #
58 # ?$(outdir)/%.dep:
59 %.dep:
60         touch $@
61
62
63 # build and config stuff: (could make this generic default rule...)
64 #
65 %/.build:
66         echo 0 >$@
67