]> git.donarmstrong.com Git - lilypond.git/blob - Makefile
release: 0.0.9
[lilypond.git] / Makefile
1 include Make.variables 
2
3 $(exe): $(obs)
4         $(CXX) -o $@ $^ $(LOADLIBES)
5
6 clean:
7         rm -f $(exe) *.o $(DOCDIR)/* core  
8
9 distclean: clean
10         rm -f  depend version.hh $(gencc) .GENERATE *~
11
12 all: kompijl doc
13
14 # doc++ documentation of classes
15 doc:
16         -mkdir $(DOCDIR)
17         doc++ -p -I -d $(DOCDIR) $(progdocs)
18
19 depend: Sources.make .GENERATE
20         touch depend
21         $(MAKE) realdepend
22
23
24 $(OBJECTDIR)/%.o: $(CCDIR)/%.cc
25         $(CXX) -c $(CXXFLAGS) $(OUTPUT_OPTION)
26
27 # hack to create these sources once, before the dependencies
28 .GENERATE:
29         touch .GENERATE depend
30         $(MAKE) version.hh
31         $(MAKE) $(gencc)
32         rm -f depend
33
34 realdepend: $(cc)
35         $(CXX) $(CXXFLAGS) -MM $^ |  perl -ne 's/^(.+)\.o/'$(OBJECTDIR)'\/\1.o/; print;' > depend
36
37 include depend
38
39 $(CCDIR)/parser.cc: parser.y
40         $(BISON) -d $<
41         mv $(CCDIR)/parser.tab.h $(HEADERDIR)/parser.hh
42         mv $(CCDIR)/parser.tab.c $(CCDIR)/parser.cc
43
44 parser.hh: parser.cc
45
46 version.o: $(obs) version.hh
47
48 version.hh: Makefile make_version
49         make_version $(MAJVER) $(MINVER) $(PATCHLEVEL)  > $(HEADERDIR)/$@
50
51 src/lexer.cc: lexer.l
52         $(FLEX) -+ -t $< > $@
53
54 dist:
55         -mkdir $(DDIR)
56         ln $(DFILES) $(DDIR)/
57         for a in $(SUBDIRS); \
58         do      mkdir $(DDIR)/$$a; \
59                 $(MAKE) -C $$a dist;\
60         done
61         tar cfz $(DNAME).tar.gz $(DNAME)/
62         rm -rf $(DDIR)/
63
64
65
66 TAGS:
67         $(MAKE) -C $(HEADERDIR) TAGS
68         $(MAKE) -C $(CCDIR) TAGS