]> git.donarmstrong.com Git - lilypond.git/blob - Makefile
release: 0.0.6
[lilypond.git] / Makefile
1 MAJVER=0
2 MINVER=0
3 PATCHLEVEL=6
4
5
6 #
7
8 include Sources.make
9 progdocs=$(hdr) $(mycc)
10 gencc=parser.cc lexer.cc
11 cc=$(mycc) $(gencc)
12 obs=$(cc:.cc=.o) 
13
14
15 #dist
16
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\
24         lilyponddefs.tex test.tex .dstreamrc
25 OFILES=Makefile Sources.make 
26 DOC=COPYING README TODO CodingStyle
27 DFILES=$(hdr) $(mycc) $(othersrc) $(OFILES) $(IFILES) $(SCRIPTS) $(DOC)
28
29 #compiling
30 LOADLIBES=-L$(FLOWERDIR) -lflower
31 FLOWERDIR=../flower
32 # speedy
33 #DEFINES=-DNDEBUG -DNPRINT -O2
34 # lots of debugging info
35 DEFINES=-g
36
37 CXXFLAGS=$(DEFINES) -I$(FLOWERDIR) -pipe -Wall -W  -pedantic 
38 FLEX=flex
39 BISON=bison
40 exe=$(PACKAGENAME)
41
42 ##################################################################
43
44 $(exe): $(obs)
45         $(CXX) -o $@ $(obs) $(LOADLIBES)
46 clean:
47         rm -f $(exe) *.o $(DOCDIR)/* core  
48
49 distclean: clean
50         rm -f TAGS depend version.hh $(gencc) .GENERATE *~
51
52 all: kompijl doc
53
54 # doc++ documentation of classes
55 doc:
56         -mkdir $(DOCDIR)
57         doc++ -p -I -d $(DOCDIR) $(progdocs)
58
59 depend: Sources.make  .GENERATE
60         $(CXX) $(CXXFLAGS) -MM $(cc) > $@
61
62 # hack to create these sources once, before the dependencies
63 .GENERATE:
64         touch .GENERATE depend
65         $(MAKE) version.hh
66         $(MAKE) $(gencc)
67         rm -f depend
68
69 include depend
70
71 parser.cc: parser.y
72         $(BISON) -d $<
73         mv parser.tab.h parser.hh
74         mv parser.tab.c parser.cc
75
76 parser.hh: parser.cc
77
78 version.o: $(obs) version.hh
79
80 version.hh: Makefile make_version
81         make_version $(MAJVER) $(MINVER) $(PATCHLEVEL)  > $@
82
83 lexer.cc: lexer.l
84         $(FLEX) -+ -t $< > $@
85
86 DDIR=$(DNAME)
87 dist:
88         -mkdir $(DDIR)
89         ln $(DFILES) $(DDIR)/
90         tar cfz $(DNAME).tar.gz $(DDIR)/
91         rm -rf $(DDIR)/
92
93
94 TAGS: $(mycc) $(hdr) Sources.make
95         etags -CT $(mycc) $(hdr) 
96
97