2 # project LilyPond -- the musical typesetter
3 # title generic make rules
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:
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
16 # cancel implicit rules:
18 # shit, how to get rid of these stupid built-in rules?
19 # include ./$(depth)/make/Builtin-rules.make
24 $(outdir)/%.o: %.cc $(genout)
26 $(CXX) -c $(CXXFLAGS) $(CXX_OUTPUT_OPTION)
28 $(outdir)/%.cc: %.y $(genout)
31 # mv $(shell basename $@ .cc ).tab.h $(include-lib)/$(shell basename $@ .cc).hh
32 # mv $(shell basename $@ .cc ).tab.h $(outdir)/$(shell basename $@ .cc).hh
33 mv $(shell basename $@ .cc ).tab.c $@
35 $(outdir)/%.hh: %.y $(genout)
37 mv $(shell basename $@ .hh ).tab.h $@
38 mv $(shell basename $@ .hh ).tab.c $(outdir)/$(shell basename $@ .hh).cc
40 $(outdir)/%.cc: %.l $(genout)
43 $(outdir)/%.text: $(outdir)/%.1
44 groff -man -Tascii $< > $@
46 $(outdir)/%.1: %.pod $(genout)
47 pod2man --center="LilyPond documentation" --section="0"\
48 --release="LilyPond $(MAJVER).$(MINVER).$(PATCHLEVEL)" $< > $@
61 @touch $(@D)/$(genout)
70 # build and config stuff: (could make this generic default rule...)
74 $(flower-config): $(flower-dir)/$(genout)
76 $(lily-config): $(lib-dir)/$(genout)
77 @echo "#define LIBDIR \"./\"" >$@
84 $(LIBFLOWER): check-flower-version
85 $(MAKE) ./$(outdir)/$(@F) -C $(depth)/flower/lib
88 $(MAKE) ./$(outdir)/$(@F) -C $(depth)/lib