]> git.donarmstrong.com Git - lilypond.git/blob - Makefile
eae32f81a778ee5135e4a179c97fb625ecfec167
[lilypond.git] / Makefile
1 MAJVER=0
2 MINVER=0
3 PATCHLEVEL=1
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 OFILES=Makefile Sources.make symbol.ini suzan.ly depend lilyponddefs.tex test.tex make_version
23 DFILES=$(hdr) $(mycc) $(othersrc) $(OFILES)
24
25 #compiling
26 LOADLIBES=-L$(FLOWERDIR) -lflower
27 FLOWERDIR=../flower
28 CXXFLAGS=-I$(FLOWERDIR) -pipe -Wall -g
29
30 exe=$(PACKAGENAME)
31
32
33
34 $(exe): $(obs)
35         $(CXX) -o $(exe) $(obs) $(LOADLIBES)
36 clean:
37         rm -f $(exe) *.o $(DOCDIR)/* TAGS
38
39 all: kompijl doc
40
41 # doc++ documentation of classes
42 doc:
43         -mkdir $(DOCDIR)
44         doc++ -p -I -d $(DOCDIR) $(progdocs)
45
46 back:
47         zip -u ~/backs/spacer *cc *hh
48
49 depend: Sources.make 
50         $(CXX) $(CXXFLAGS) -MM $(cc) > depend
51
52 include depend
53
54 parser.cc: parser.y
55         bison -d $<
56         mv parser.tab.h parser.hh
57         mv parser.tab.c parser.cc
58
59 parser.hh: parser.cc
60
61 version.o: $(obs) version.hh
62
63 version.hh: Makefile make_version
64         make_version $(MAJVER) $(MINVER) $(PATCHLEVEL)  > version.hh
65
66 lexer.cc: lexer.l
67         flex -+ -t lexer.l > lexer.cc
68
69 DDIR=$(DNAME)
70 dist:
71         -mkdir $(DDIR)
72         ln $(DFILES) $(DDIR)/
73         tar cfz $(DNAME).tar.gz $(DDIR)/*
74         rm -rf $(DDIR)/
75
76
77 TAGS: $(mycc) $(hdr) Sources.make
78         etags -CT $(mycc) $(hdr)