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