lilypond-0.0.9
[lilypond.git] / Makefile
blob2f5b450761166df3b803966a344e52a1397a63f6
1 MAJVER=0
2 MINVER=0
3 PATCHLEVEL=4
5 #
8 include Sources.make
9 progdocs=$(hdr) $(mycc)
10 gencc=parser.cc lexer.cc
11 cc=$(mycc) $(gencc)
12 obs=$(cc:.cc=.o)
15 #dist
17 DOCDIR=docdir
18 VERSION=$(MAJVER).$(MINVER).$(PATCHLEVEL)
19 PACKAGENAME=lilypond
20 DNAME=$(PACKAGENAME)-$(VERSION)
21 othersrc=lexer.l parser.y
22 SCRIPTS=make_version make_patch genheader
23 IFILES=dimen.tex symbol.ini suzan.ly maartje.ly lilyponddefs.tex test.tex .dstreamrc
24 OFILES=Makefile Sources.make
25 DOC=COPYING README TODO
26 DFILES=$(hdr) $(mycc) $(othersrc) $(OFILES) $(IFILES) $(SCRIPTS) $(DOC)
28 #compiling
29 LOADLIBES=-L$(FLOWERDIR) -lflower
30 FLOWERDIR=../flower
31 #DEFINES=-DNDEBUG -DNPRINT -O2
32 CXXFLAGS=$(DEFINES) -I$(FLOWERDIR) -pipe -Wall -W -pedantic -g
33 FLEX=flex
34 BISON=bison
35 exe=$(PACKAGENAME)
37 ##################################################################
39 $(exe): $(obs)
40 $(CXX) -o $@ $(obs) $(LOADLIBES)
41 clean:
42 rm -f $(exe) *.o $(DOCDIR)/* core
44 distclean: clean
45 rm -f TAGS depend version.hh $(gencc) .GENERATE *~
47 all: kompijl doc
49 # doc++ documentation of classes
50 doc:
51 -mkdir $(DOCDIR)
52 doc++ -p -I -d $(DOCDIR) $(progdocs)
54 depend: Sources.make .GENERATE
55 $(CXX) $(CXXFLAGS) -MM $(cc) > $@
57 # hack to create these sources once, before the dependencies
58 .GENERATE:
59 touch .GENERATE depend
60 $(MAKE) version.hh
61 $(MAKE) $(gencc)
62 rm -f depend
64 include depend
66 parser.cc: parser.y
67 $(BISON) -d $<
68 mv parser.tab.h parser.hh
69 mv parser.tab.c parser.cc
71 parser.hh: parser.cc
73 version.o: $(obs) version.hh
75 version.hh: Makefile make_version
76 make_version $(MAJVER) $(MINVER) $(PATCHLEVEL) > $@
78 lexer.cc: lexer.l
79 $(FLEX) -+ -t $< > $@
81 DDIR=$(DNAME)
82 dist:
83 -mkdir $(DDIR)
84 ln $(DFILES) $(DDIR)/
85 tar cfz $(DNAME).tar.gz $(DDIR)/
86 rm -rf $(DDIR)/
89 TAGS: $(mycc) $(hdr) Sources.make
90 etags -CT $(mycc) $(hdr)