]> git.donarmstrong.com Git - lilypond.git/blob - Makefile
release: 0.0.11
[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) *.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 $(CCDIR)/parser.cc: parser.y
41         $(BISON) -d $<
42         mv $(CCDIR)/parser.tab.h $(HEADERDIR)/parser.hh
43         mv $(CCDIR)/parser.tab.c $@
44
45 parser.hh: parser.cc
46
47 version.o: $(obs) version.hh
48
49 hdr/version.hh: Variables.make make_version
50         make_version $(MAJVER) $(MINVER) $(PATCHLEVEL)  > $@
51
52 $(CCDIR)/lexer.cc: lexer.l
53         $(FLEX) -+ -t $< > $@
54
55 dist:
56         -mkdir $(DDIR)
57         ln $(DFILES) $(DDIR)/
58         for a in $(SUBDIRS); \
59         do      mkdir $(DDIR)/$$a; \
60                 $(MAKE) -C $$a dist;\
61         done
62         tar cfz $(DNAME).tar.gz $(DNAME)/
63         rm -rf $(DDIR)/
64
65
66
67 TAGS:
68         $(MAKE) -C $(HEADERDIR) TAGS
69         $(MAKE) -C $(CCDIR) TAGS