lilypond-0.0.4
[lilypond.git] / Makefile
blob38b71b9bbbf2869630b1c69b975b8819b65f86b7
1 MAJVER=0
2 MINVER=0
3 PATCHLEVEL=3
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
23 IFILES=dimen.tex symbol.ini suzan.ly maartje.ly lilyponddefs.tex test.tex .dstreamrc
24 OFILES=Makefile Sources.make depend
25 DFILES=$(hdr) $(mycc) $(othersrc) $(OFILES) $(IFILES) $(SCRIPTS) COPYING
27 #compiling
28 LOADLIBES=-L$(FLOWERDIR) -lflower
29 FLOWERDIR=../flower
30 #DEFINES=-DNDEBUG
31 CXXFLAGS=$(DEFINES) -I$(FLOWERDIR) -pipe -Wall -g
33 exe=$(PACKAGENAME)
35 ##################################################################
37 $(exe): $(obs)
38 $(CXX) -o $@ $(obs) $(LOADLIBES)
39 clean:
40 rm -f $(exe) *.o $(DOCDIR)/* core
42 distclean: clean
43 rm -f TAGS depend version.hh $(gencc) .GENERATE *~
45 all: kompijl doc
47 # doc++ documentation of classes
48 doc:
49 -mkdir $(DOCDIR)
50 doc++ -p -I -d $(DOCDIR) $(progdocs)
52 depend: Sources.make .GENERATE
53 $(CXX) $(CXXFLAGS) -MM $(cc) > $@
55 # hack to create these sources once, before the dependencies
56 .GENERATE:
57 touch .GENERATE depend
58 $(MAKE) version.hh
59 $(MAKE) $(gencc)
60 rm -f depend
62 include depend
64 parser.cc: parser.y
65 bison -d $<
66 mv parser.tab.h parser.hh
67 mv parser.tab.c parser.cc
69 parser.hh: parser.cc
71 version.o: $(obs) version.hh
73 version.hh: Makefile make_version
74 make_version $(MAJVER) $(MINVER) $(PATCHLEVEL) > $@
76 lexer.cc: lexer.l
77 flex -+ -t $< > $@
79 DDIR=$(DNAME)
80 dist:
81 -mkdir $(DDIR)
82 ln $(DFILES) $(DDIR)/
83 tar cfz $(DNAME).tar.gz $(DDIR)/
84 rm -rf $(DDIR)/
87 TAGS: $(mycc) $(hdr) Sources.make
88 etags -CT $(mycc) $(hdr)