lilypond-0.1.33
[lilypond.git] / make / Rules.make
bloba09bf62d74924c637c7c1f531c492499bf38d9a0
2 # project LilyPond -- the musical typesetter
3 # title generic make rules
4 # file make/Rules.make
6 # Copyright (c) 1997 by
7 # Jan Nieuwenhuizen <jan@digicash.com>
8 # Han-Wen Nienhuys <hanwen@stack.nl>
10 # this is supposed to clear all suffixes:
11 .SUFFIXES:
13 # so why does make still consider xx.y : RCS/xx.y,v ?
14 # there is no suffix ,v anymore!
15 .SUFFIXES: .cc .o .hh .y .l .dep
18 # compile rules:
20 $(outdir)/%.o: %.cc
21 $(DO_CXX_COMPILE)
23 $(outdir)/%.o: $(outdir)/%.cc
24 $(DO_CXX_COMPILE)
26 $(outdir)/%.cc: %.y
27 $(BISON) $<
28 mv $(shell basename $@ .cc ).tab.c $@
30 $(outdir)/%.hh: %.y
31 $(BISON) -d $<
32 mv $(shell basename $@ .hh ).tab.h $@
33 mv $(shell basename $@ .hh ).tab.c $(outdir)/$(shell basename $@ .hh).cc
35 $(outdir)/%.cc: %.l
36 $(FLEX) -Cfe -p -p -t $< > $@
37 # could be faster:
38 # $(FLEX) -8 -Cf -t $< > $@
40 # outdirs:
42 # ?$(outdir)/%.dep:
43 %.dep:
44 touch $@
47 # build and config stuff: (could make this generic default rule...)
49 %/.build:
50 echo 0 > $@
53 $(depth)/%.text: check-doc-deps
54 rm -f $@
55 ln `find ${depth}/Documentation -name $@|head -1` .