4 $(CXX) -o $@ $^ $(LOADLIBES)
7 # $(MAKE) -C objects clean
8 rm -f $(exe) objects/*.o $(DOCDIR)/* core
11 rm -f depend version.hh $(gencc) .GENERATE *~
15 # doc++ documentation of classes
18 doc++ -p -I -d $(DOCDIR) $(progdocs)
20 depend: Sources.make .GENERATE
25 $(OBJECTDIR)/%.o: $(CCDIR)/%.cc
26 $(CXX) -c $(CXXFLAGS) $(OUTPUT_OPTION)
28 # hack to create these sources once, before the dependencies
30 touch .GENERATE depend
36 $(CXX) $(CXXFLAGS) -MM $^ | perl -ne 's#hdr/proto.hh##; s/^(.+)\.o/'$(OBJECTDIR)'\/\1.o/; print;' > depend
40 parsheadorig=$(CCDIR)/parser.tab.h
41 parsheadnew=$(HEADERDIR)/parser.hh
44 # take some trouble to avoid overwriting the old y.tab.h
45 $(CCDIR)/parser.cc: parser.y
47 (if diff -q $(parsheadorig) $(parsheadnew); then \
48 echo leaving $(parsheadnew); \
50 mv $(parsheadorig) $(parsheadnew); \
52 mv $(CCDIR)/parser.tab.c $@
56 version.o: $(obs) version.hh
58 hdr/version.hh: Variables.make make_version
59 make_version $(MAJVER) $(MINVER) $(PATCHLEVEL) > $@
61 $(CCDIR)/lexer.cc: lexer.l
67 for a in $(SUBDIRS); \
68 do mkdir $(DDIR)/$$a; \
71 tar cfz $(DNAME).tar.gz $(DNAME)/
77 $(MAKE) -C $(HEADERDIR) TAGS
78 $(MAKE) -C $(CCDIR) TAGS