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