=================================================================== RCS file: /cvs/mandoc/Makefile,v retrieving revision 1.324 retrieving revision 1.350 diff -u -p -r1.324 -r1.350 --- mandoc/Makefile 2011/03/28 21:49:42 1.324 +++ mandoc/Makefile 2011/06/21 13:13:15 1.350 @@ -11,9 +11,14 @@ # in the lower-left hand corner of -mdoc manuals. # CFLAGS += -DOSNAME="\"OpenBSD 4.5\"" -VERSION = 1.10.10 -VDATE = 20 March 2011 -CFLAGS += -g -DHAVE_CONFIG_H -DVERSION="\"$(VERSION)\"" +VERSION = 1.11.3 +VDATE = 26 May 2011 +# IFF your system supports multi-byte functions (setlocale(), wcwidth(), +# putwchar()) AND has __STDC_ISO_10646__ (that is, wchar_t is simply a +# UCS-4 value) should you define USE_WCHAR. If you define it and your +# system DOESN'T support this, -Tlocale will produce garbage. +# If you don't define it, -Tlocale is a synonym for -Tacsii. +CFLAGS += -g -DUSE_WCHAR -DHAVE_CONFIG_H -DVERSION="\"$(VERSION)\"" CFLAGS += -W -Wall -Wstrict-prototypes -Wno-unused-parameter -Wwrite-strings PREFIX = /usr/local BINDIR = $(PREFIX)/bin @@ -27,7 +32,7 @@ INSTALL_DATA = $(INSTALL) -m 0444 INSTALL_LIB = $(INSTALL) -m 0644 INSTALL_MAN = $(INSTALL_DATA) -all: mandoc +all: mandoc preconv SRCS = Makefile \ arch.c \ @@ -55,6 +60,7 @@ SRCS = Makefile \ libroff.h \ main.c \ main.h \ + man.h \ man.7 \ man.c \ man_hash.c \ @@ -66,7 +72,10 @@ SRCS = Makefile \ mandoc.3 \ mandoc.c \ mandoc.h \ + makewhatis.1 \ + makewhatis.c \ mandoc_char.7 \ + mdoc.h \ mdoc.7 \ mdoc.c \ mdoc_argv.c \ @@ -79,6 +88,9 @@ SRCS = Makefile \ msec.in \ out.c \ out.h \ + preconv.1 \ + preconv.c \ + predefs.in \ read.c \ roff.7 \ roff.c \ @@ -96,6 +108,7 @@ SRCS = Makefile \ term.h \ term_ascii.c \ term_ps.c \ + test-mmap.c \ test-strlcat.c \ test-strlcpy.c \ tree.c \ @@ -106,6 +119,11 @@ LIBMAN_OBJS = man.o \ man_hash.o \ man_macro.o \ man_validate.o +LIBMAN_LNS = man.ln \ + man_hash.ln \ + man_macro.ln \ + man_validate.ln + LIBMDOC_OBJS = arch.o \ att.o \ lib.o \ @@ -117,56 +135,113 @@ LIBMDOC_OBJS = arch.o \ msec.o \ st.o \ vol.o +LIBMDOC_LNS = arch.ln \ + att.ln \ + lib.ln \ + mdoc.ln \ + mdoc_argv.ln \ + mdoc_hash.ln \ + mdoc_macro.ln \ + mdoc_validate.ln \ + msec.ln \ + st.ln \ + vol.ln + LIBROFF_OBJS = eqn.o \ roff.o \ tbl.o \ tbl_data.o \ tbl_layout.o \ tbl_opts.o +LIBROFF_LNS = eqn.ln \ + roff.ln \ + tbl.ln \ + tbl_data.ln \ + tbl_layout.ln \ + tbl_opts.ln + LIBMANDOC_OBJS = $(LIBMAN_OBJS) \ $(LIBMDOC_OBJS) \ $(LIBROFF_OBJS) \ + chars.o \ mandoc.o \ read.o +LIBMANDOC_LNS = $(LIBMAN_LNS) \ + $(LIBMDOC_LNS) \ + $(LIBROFF_LNS) \ + chars.ln \ + mandoc.ln \ + read.ln -arch.o: arch.in -att.o: att.in -lib.o: lib.in -msec.o: msec.in -st.o: st.in -vol.o: vol.in +arch.o arch.ln: arch.in +att.o att.ln: att.in +chars.o chars.ln: chars.in +lib.o lib.ln: lib.in +msec.o msec.ln: msec.in +roff.o roff.ln: predefs.in +st.o st.ln: st.in +vol.o vol.ln: vol.in -$(LIBMAN_OBJS): libman.h -$(LIBMDOC_OBJS): libmdoc.h -$(LIBROFF_OBJS): libroff.h -$(LIBMANDOC_OBJS): mandoc.h mdoc.h man.h libmandoc.h config.h +$(LIBMAN_OBJS) $(LIBMAN_LNS): libman.h +$(LIBMDOC_OBJS) $(LIBMDOC_LNS): libmdoc.h +$(LIBROFF_OBJS) $(LIBROFF_LNS): libroff.h +$(LIBMANDOC_OBJS) $(LIBMANDOC_LNS): mandoc.h mdoc.h man.h libmandoc.h config.h MANDOC_HTML_OBJS = html.o \ man_html.o \ mdoc_html.o \ tbl_html.o +MANDOC_HTML_LNS = html.ln \ + man_html.ln \ + mdoc_html.ln \ + tbl_html.ln + MANDOC_TERM_OBJS = man_term.o \ mdoc_term.o \ term.o \ term_ascii.o \ term_ps.o \ tbl_term.o +MANDOC_TERM_LNS = man_term.ln \ + mdoc_term.ln \ + term.ln \ + term_ascii.ln \ + term_ps.ln \ + tbl_term.ln + MANDOC_OBJS = $(MANDOC_HTML_OBJS) \ $(MANDOC_TERM_OBJS) \ - chars.o \ main.o \ out.o \ tree.o +MANDOC_LNS = $(MANDOC_HTML_LNS) \ + $(MANDOC_TERM_LNS) \ + main.ln \ + out.ln \ + tree.ln -chars.o: chars.in +$(MANDOC_HTML_OBJS) $(MANDOC_HTML_LNS): html.h +$(MANDOC_TERM_OBJS) $(MANDOC_TERM_LNS): term.h +$(MANDOC_OBJS) $(MANDOC_LNS): main.h mandoc.h mdoc.h man.h config.h out.h -$(MANDOC_HTML_OBJS): html.h -$(MANDOC_TERM_OBJS): term.h -$(MANDOC_OBJS): main.h mandoc.h mdoc.h man.h config.h out.h +compat.o compat.ln: config.h -compat.o: config.h +MAKEWHATIS_OBJS = makewhatis.o +MAKEWHATIS_LNS = makewhatis.ln -INDEX_MANS = mandoc.1.html \ +$(MAKEWHATIS_OBJS) $(MAKEWHATIS_LNS): mandoc.h mdoc.h man.h config.h + +PRECONV_OBJS = preconv.o +PRECONV_LNS = preconv.ln + +$(PRECONV_OBJS) $(PRECONV_LNS): config.h + +INDEX_MANS = makewhatis.1.html \ + makewhatis.1.xhtml \ + makewhatis.1.ps \ + makewhatis.1.pdf \ + makewhatis.1.txt \ + mandoc.1.html \ mandoc.1.xhtml \ mandoc.1.ps \ mandoc.1.pdf \ @@ -196,6 +271,11 @@ INDEX_MANS = mandoc.1.html \ mdoc.7.ps \ mdoc.7.pdf \ mdoc.7.txt \ + preconv.1.html \ + preconv.1.xhtml \ + preconv.1.ps \ + preconv.1.pdf \ + preconv.1.txt \ roff.7.html \ roff.7.xhtml \ roff.7.ps \ @@ -218,22 +298,33 @@ INDEX_OBJS = $(INDEX_MANS) \ www: index.html +lint: llib-llibmandoc.ln llib-lmandoc.ln llib-lpreconv.ln + clean: rm -f libmandoc.a $(LIBMANDOC_OBJS) + rm -f llib-llibmandoc.ln $(LIBMANDOC_LNS) + rm -f makewhatis $(MAKEWHATIS_OBJS) + rm -f llib-lmakewhatis.ln $(MAKEWHATIS_LNS) + rm -f preconv $(PRECONV_OBJS) + rm -f llib-lpreconv.ln $(PRECONV_LNS) rm -f mandoc $(MANDOC_OBJS) - rm -f config.h compat.o config.log + rm -f llib-lmandoc.ln $(MANDOC_LNS) + rm -f config.h config.log compat.o compat.ln rm -f mdocml.tar.gz rm -f index.html $(INDEX_OBJS) install: all mkdir -p $(DESTDIR)$(BINDIR) mkdir -p $(DESTDIR)$(EXAMPLEDIR) + mkdir -p $(DESTDIR)$(LIBDIR) + mkdir -p $(DESTDIR)$(INCLUDEDIR) mkdir -p $(DESTDIR)$(MANDIR)/man1 mkdir -p $(DESTDIR)$(MANDIR)/man3 mkdir -p $(DESTDIR)$(MANDIR)/man7 - $(INSTALL_PROGRAM) mandoc $(DESTDIR)$(BINDIR) + $(INSTALL_PROGRAM) mandoc preconv $(DESTDIR)$(BINDIR) $(INSTALL_LIB) libmandoc.a $(DESTDIR)$(LIBDIR) - $(INSTALL_MAN) mandoc.1 $(DESTDIR)$(MANDIR)/man1 + $(INSTALL_LIB) mandoc.h $(DESTDIR)$(INCLUDEDIR) + $(INSTALL_MAN) mandoc.1 preconv.1 $(DESTDIR)$(MANDIR)/man1 $(INSTALL_MAN) mandoc.3 $(DESTDIR)$(MANDIR)/man3 $(INSTALL_MAN) man.7 mdoc.7 roff.7 eqn.7 tbl.7 mandoc_char.7 $(DESTDIR)$(MANDIR)/man7 $(INSTALL_DATA) example.style.css $(DESTDIR)$(EXAMPLEDIR) @@ -251,9 +342,28 @@ installwww: www libmandoc.a: compat.o $(LIBMANDOC_OBJS) $(AR) rs $@ compat.o $(LIBMANDOC_OBJS) +llib-llibmandoc.ln: compat.ln $(LIBMANDOC_LNS) + $(LINT) $(LINTFLAGS) -Clibmandoc compat.ln $(LIBMANDOC_LNS) + mandoc: $(MANDOC_OBJS) libmandoc.a $(CC) -o $@ $(MANDOC_OBJS) libmandoc.a +llib-lmandoc.ln: $(MANDOC_LNS) + $(LINT) $(LINTFLAGS) -Cmandoc $(MANDOC_LNS) + +# You'll need -ldb for Linux. +makewhatis: $(MAKEWHATIS_OBJS) libmandoc.a + $(CC) -o $@ $(MAKEWHATIS_OBJS) libmandoc.a -ldb + +llib-lmakewhatis.ln: $(MAKEWHATIS_LNS) + $(LINT) $(LINTFLAGS) -Cmakewhatis $(MAKEWHATIS_LNS) + +preconv: $(PRECONV_OBJS) + $(CC) -o $@ $(PRECONV_OBJS) + +llib-lpreconv.ln: $(PRECONV_LNS) + $(LINT) $(LINTFLAGS) -Cpreconv $(PRECONV_LNS) + mdocml.md5: mdocml.tar.gz md5 mdocml.tar.gz >$@ @@ -272,6 +382,10 @@ config.h: config.h.pre config.h.post if $(CC) $(CFLAGS) -Werror -o test-strlcat test-strlcat.c >> config.log 2>&1; then \ echo '#define HAVE_STRLCAT'; \ rm test-strlcat; \ + fi; \ + if $(CC) $(CFLAGS) -Werror -o test-mmap test-mmap.c >> config.log 2>&1; then \ + echo '#define HAVE_MMAP'; \ + rm test-mmap; \ fi; \ if $(CC) $(CFLAGS) -Werror -o test-strlcpy test-strlcpy.c >> config.log 2>&1; then \ echo '#define HAVE_STRLCPY'; \