=================================================================== RCS file: /cvs/mandoc/Makefile,v retrieving revision 1.371 retrieving revision 1.397 diff -u -p -r1.371 -r1.397 --- mandoc/Makefile 2011/09/17 15:00:51 1.371 +++ mandoc/Makefile 2012/06/09 11:00:13 1.397 @@ -9,19 +9,36 @@ # Specify this if you want to hard-code the operating system to appear # in the lower-left hand corner of -mdoc manuals. +# # CFLAGS += -DOSNAME="\"OpenBSD 4.5\"" -VERSION = 1.11.7 -VDATE = 2 September 2011 +VERSION = 1.12.1 +VDATE = 23 March 2012 + # 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 += -DUSE_WCHAR -CFLAGS += -g -DHAVE_CONFIG_H -DVERSION="\"$(VERSION)\"" + +# If your system has manpath(1), uncomment this. This is most any +# system that's not OpenBSD or NetBSD. If uncommented, manpage(1) and +# mandocdb(8) will use manpath(1) to get the MANPATH variable. +#CFLAGS += -DUSE_MANPATH + +# If your system supports static binaries only, uncomment this. This +# appears only to be BSD UNIX systems (Mac OS X has no support and Linux +# requires -pthreads for static libdb). +STATIC = -static + +CFLAGS += -I/usr/local/include -g -DHAVE_CONFIG_H -DVERSION="\"$(VERSION)\"" CFLAGS += -W -Wall -Wstrict-prototypes -Wno-unused-parameter -Wwrite-strings PREFIX = /usr/local +WWWPREFIX = /var/www +HTDOCDIR = $(WWWPREFIX)/htdocs +CGIBINDIR = $(WWWPREFIX)/cgi-bin BINDIR = $(PREFIX)/bin INCLUDEDIR = $(PREFIX)/include/mandoc LIBDIR = $(PREFIX)/lib/mandoc @@ -34,25 +51,28 @@ INSTALL_LIB = $(INSTALL) -m 0644 INSTALL_SOURCE = $(INSTALL) -m 0644 INSTALL_MAN = $(INSTALL_DATA) -# Linux needs -ldb to compile mandocdb. -#DBLIB = -ldb +DBLIB = -L/usr/local/lib -lsqlite3 +DBBIN = mandocdb manpage apropos -all: mandoc preconv demandoc +all: mandoc preconv demandoc $(DBBIN) SRCS = Makefile \ + TODO \ arch.c \ arch.in \ att.c \ att.in \ + cgi.c \ chars.c \ chars.in \ + compat_fgetln.c \ compat_getsubopt.c \ compat_strlcat.c \ compat_strlcpy.c \ config.h.post \ config.h.pre \ - demandoc.c \ demandoc.1 \ + demandoc.c \ eqn.7 \ eqn.c \ eqn_html.c \ @@ -71,9 +91,10 @@ SRCS = Makefile \ libroff.h \ main.c \ main.h \ - man.h \ man.7 \ man.c \ + man-cgi.css \ + man.h \ man_hash.c \ man_html.c \ man_macro.c \ @@ -83,12 +104,15 @@ SRCS = Makefile \ mandoc.3 \ mandoc.c \ mandoc.h \ + mandoc_char.7 \ mandocdb.8 \ mandocdb.c \ - mandoc_char.7 \ - mdoc.h \ + mandocdb.h \ + manpath.c \ + manpath.h \ mdoc.7 \ mdoc.c \ + mdoc.h \ mdoc_argv.c \ mdoc_hash.c \ mdoc_html.c \ @@ -120,8 +144,10 @@ SRCS = Makefile \ term.h \ term_ascii.c \ term_ps.c \ + test-fgetln.c \ test-getsubopt.c \ test-mmap.c \ + test-ohash.c \ test-strlcat.c \ test-strlcpy.c \ test-strptime.c \ @@ -133,10 +159,6 @@ 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 \ @@ -146,20 +168,8 @@ LIBMDOC_OBJS = arch.o \ mdoc_hash.o \ mdoc_macro.o \ mdoc_validate.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 \ @@ -167,62 +177,44 @@ LIBROFF_OBJS = eqn.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 \ + msec.o \ read.o -LIBMANDOC_LNS = $(LIBMAN_LNS) \ - $(LIBMDOC_LNS) \ - $(LIBROFF_LNS) \ - chars.ln \ - mandoc.ln \ - read.ln -COMPAT_OBJS = compat_getsubopt.o \ +COMPAT_OBJS = compat_fgetln.o \ + compat_getsubopt.o \ + compat_ohash.o \ compat_strlcat.o \ compat_strlcpy.o -COMPAT_LNS = compat_getsubopt.ln \ - compat_strlcat.ln \ - compat_strlcpy.ln -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 +arch.o: arch.in +att.o: att.in +chars.o: chars.in +lib.o: lib.in +msec.o: msec.in +roff.o: predefs.in +st.o: st.in +vol.o: vol.in -$(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 +$(LIBMAN_OBJS): libman.h +$(LIBMDOC_OBJS): libmdoc.h +$(LIBROFF_OBJS): libroff.h +$(LIBMANDOC_OBJS): mandoc.h mdoc.h man.h libmandoc.h config.h +$(COMPAT_OBJS): config.h compat_ohash.h -$(COMPAT_OBJS) $(COMPAT_LNS): config.h - MANDOC_HTML_OBJS = eqn_html.o \ html.o \ man_html.o \ mdoc_html.o \ tbl_html.o -MANDOC_HTML_LNS = eqn_html.ln \ - html.ln \ - man_html.ln \ - mdoc_html.ln \ - tbl_html.ln +$(MANDOC_HTML_OBJS): html.h MANDOC_MAN_OBJS = mdoc_man.o -MANDOC_MAN_LNS = mdoc_man.ln MANDOC_TERM_OBJS = eqn_term.o \ man_term.o \ @@ -231,13 +223,7 @@ MANDOC_TERM_OBJS = eqn_term.o \ term_ascii.o \ term_ps.o \ tbl_term.o -MANDOC_TERM_LNS = eqn_term.ln \ - man_term.ln \ - mdoc_term.ln \ - term.ln \ - term_ascii.ln \ - term_ps.ln \ - tbl_term.ln +$(MANDOC_TERM_OBJS): term.h MANDOC_OBJS = $(MANDOC_HTML_OBJS) \ $(MANDOC_MAN_OBJS) \ @@ -245,32 +231,23 @@ MANDOC_OBJS = $(MANDOC_HTML_OBJS) \ main.o \ out.o \ tree.o -MANDOC_LNS = $(MANDOC_HTML_LNS) \ - $(MANDOC_MAN_LNS) \ - $(MANDOC_TERM_LNS) \ - main.ln \ - out.ln \ - tree.ln +$(MANDOC_OBJS): main.h mandoc.h mdoc.h man.h config.h out.h -$(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 +MANDOCDB_OBJS = mandocdb.o manpath.o +$(MANDOCDB_OBJS): mandocdb.h mandoc.h mdoc.h man.h config.h manpath.h -MANDOCDB_OBJS = mandocdb.o -MANDOCDB_LNS = mandocdb.ln - -$(MANDOCDB_OBJS) $(MANDOCDB_LNS): mandoc.h mdoc.h man.h config.h - PRECONV_OBJS = preconv.o -PRECONV_LNS = preconv.ln +$(PRECONV_OBJS): config.h -$(PRECONV_OBJS) $(PRECONV_LNS): config.h +APROPOS_OBJS = apropos.o mansearch.o manpath.o +$(APROPOS_OBJS): config.h manpath.h mandocdb.h mansearch.h +MANPAGE_OBJS = manpage.o mansearch.o manpath.o +$(MANPAGE_OBJS): config.h manpath.h mandocdb.h mansearch.h + DEMANDOC_OBJS = demandoc.o -DEMANDOC_LNS = demandoc.ln +$(DEMANDOC_OBJS): config.h -$(DEMANDOC_OBJS) $(DEMANDOC_LNS): config.h - INDEX_MANS = demandoc.1.html \ demandoc.1.xhtml \ demandoc.1.ps \ @@ -338,27 +315,18 @@ INDEX_OBJS = $(INDEX_MANS) \ www: index.html -lint: llib-llibmandoc.ln llib-lmandoc.ln llib-lpreconv.ln llib-ldemandoc.ln - clean: rm -f libmandoc.a $(LIBMANDOC_OBJS) - rm -f llib-llibmandoc.ln $(LIBMANDOC_LNS) + rm -f apropos $(APROPOS_OBJS) rm -f mandocdb $(MANDOCDB_OBJS) - rm -f llib-lmandocdb.ln $(MANDOCDB_LNS) rm -f preconv $(PRECONV_OBJS) - rm -f llib-lpreconv.ln $(PRECONV_LNS) + rm -f manpage $(MANPAGE_OBJS) rm -f demandoc $(DEMANDOC_OBJS) - rm -f llib-ldemandoc.ln $(DEMANDOC_LNS) rm -f mandoc $(MANDOC_OBJS) - rm -f llib-lmandoc.ln $(MANDOC_LNS) - rm -f config.h config.log $(COMPAT_OBJS) $(COMPAT_LNS) - rm -f mdocml.tar.gz mdocml-win32.zip mdocml-win64.zip mdocml-macosx.zip + rm -f config.h config.log $(COMPAT_OBJS) + rm -f mdocml.tar.gz rm -f index.html $(INDEX_OBJS) - rm -rf test-strlcpy.DSYM - rm -rf test-strlcat.DSYM - rm -rf test-strptime.DSYM - rm -rf test-mmap.DSYM - rm -rf test-getsubopt.DSYM + rm -rf *.dSYM install: all mkdir -p $(DESTDIR)$(BINDIR) @@ -368,7 +336,6 @@ install: all mkdir -p $(DESTDIR)$(MANDIR)/man1 mkdir -p $(DESTDIR)$(MANDIR)/man3 mkdir -p $(DESTDIR)$(MANDIR)/man7 - mkdir -p $(DESTDIR)$(MANDIR)/man8 $(INSTALL_PROGRAM) mandoc preconv demandoc $(DESTDIR)$(BINDIR) $(INSTALL_LIB) libmandoc.a $(DESTDIR)$(LIBDIR) $(INSTALL_LIB) man.h mdoc.h mandoc.h $(DESTDIR)$(INCLUDEDIR) @@ -377,6 +344,13 @@ install: all $(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) +installcgi: all + mkdir -p $(DESTDIR)$(CGIBINDIR) + mkdir -p $(DESTDIR)$(HTDOCDIR) + #$(INSTALL_PROGRAM) man.cgi $(DESTDIR)$(CGIBINDIR) + $(INSTALL_DATA) example.style.css $(DESTDIR)$(HTDOCDIR)/man.css + $(INSTALL_DATA) man-cgi.css $(DESTDIR)$(HTDOCDIR) + installwww: www mkdir -p $(PREFIX)/snapshots mkdir -p $(PREFIX)/binaries @@ -391,33 +365,24 @@ installwww: www libmandoc.a: $(COMPAT_OBJS) $(LIBMANDOC_OBJS) $(AR) rs $@ $(COMPAT_OBJS) $(LIBMANDOC_OBJS) -llib-llibmandoc.ln: $(COMPAT_LNS) $(LIBMANDOC_LNS) - $(LINT) $(LINTFLAGS) -Clibmandoc $(COMPAT_LNS) $(LIBMANDOC_LNS) - mandoc: $(MANDOC_OBJS) libmandoc.a $(CC) $(LDFLAGS) -o $@ $(MANDOC_OBJS) libmandoc.a -llib-lmandoc.ln: $(MANDOC_LNS) - $(LINT) $(LINTFLAGS) -Cmandoc $(MANDOC_LNS) - mandocdb: $(MANDOCDB_OBJS) libmandoc.a $(CC) $(LDFLAGS) -o $@ $(MANDOCDB_OBJS) libmandoc.a $(DBLIB) -llib-lmandocdb.ln: $(MANDOCDB_LNS) - $(LINT) $(LINTFLAGS) -Cmandocdb $(MANDOCDB_LNS) - preconv: $(PRECONV_OBJS) $(CC) $(LDFLAGS) -o $@ $(PRECONV_OBJS) -llib-lpreconv.ln: $(PRECONV_LNS) - $(LINT) $(LINTFLAGS) -Cpreconv $(PRECONV_LNS) +manpage: $(MANPAGE_OBJS) libmandoc.a + $(CC) $(LDFLAGS) -o $@ $(MANPAGE_OBJS) libmandoc.a $(DBLIB) +apropos: $(APROPOS_OBJS) libmandoc.a + $(CC) $(LDFLAGS) -o $@ $(APROPOS_OBJS) libmandoc.a $(DBLIB) + demandoc: $(DEMANDOC_OBJS) libmandoc.a $(CC) $(LDFLAGS) -o $@ $(DEMANDOC_OBJS) libmandoc.a -llib-ldemandoc.ln: $(DEMANDOC_LNS) - $(LINT) $(LINTFLAGS) -Cdemandoc $(DEMANDOC_LNS) - mdocml.md5: mdocml.tar.gz md5 mdocml.tar.gz >$@ @@ -427,43 +392,20 @@ mdocml.tar.gz: $(SRCS) ( cd .dist/ && tar zcf ../$@ ./ ) rm -rf .dist/ -mdocml-win32.zip: $(SRCS) - mkdir -p .win32/mdocml-$(VERSION)/ - $(INSTALL_SOURCE) $(SRCS) .win32 - cp .win32/Makefile .win32/Makefile.old - grep -v DUSE_WCHAR .win32/Makefile.old >.win32/Makefile - ( cd .win32; \ - CC=i686-w64-mingw32-gcc AR=i686-w64-mingw32-ar CFLAGS='-DOSNAME=\"Windows\"' make; \ - make install PREFIX=mdocml-$(VERSION) ; \ - zip -r ../$@ mdocml-$(VERSION) ) - rm -rf .win32 - -mdocml-win64.zip: $(SRCS) - mkdir -p .win64/mdocml-$(VERSION)/ - $(INSTALL_SOURCE) $(SRCS) .win64 - cp .win64/Makefile .win64/Makefile.old - grep -v DUSE_WCHAR .win64/Makefile.old >.win64/Makefile - ( cd .win64; \ - CC=x86_64-w64-mingw32-gcc AR=x86_64-w64-mingw32-ar CFLAGS='-DOSNAME=\"Windows\"' make; \ - make install PREFIX=mdocml-$(VERSION) ; \ - zip -r ../$@ mdocml-$(VERSION) ) - rm -rf .win64 - -mdocml-macosx.zip: $(SRCS) - mkdir -p .macosx/mdocml-$(VERSION)/ - $(INSTALL_SOURCE) $(SRCS) .macosx - ( cd .macosx; \ - CFLAGS="-arch i386 -arch x86_64 -arch ppc" LDFLAGS="-arch i386 -arch x86_64 -arch ppc" make; \ - make install PREFIX=mdocml-$(VERSION) ; \ - zip -r ../$@ mdocml-$(VERSION) ) - rm -rf .macosx - index.html: $(INDEX_OBJS) config.h: config.h.pre config.h.post rm -f config.log ( cat config.h.pre; \ echo; \ + if $(CC) $(CFLAGS) -Werror -o test-ohash test-ohash.c >> config.log 2>&1; then \ + echo '#define HAVE_OHASH'; \ + rm test-ohash; \ + fi; \ + if $(CC) $(CFLAGS) -Werror -o test-fgetln test-fgetln.c >> config.log 2>&1; then \ + echo '#define HAVE_FGETLN'; \ + rm test-fgetln; \ + fi; \ if $(CC) $(CFLAGS) -Werror -o test-strptime test-strptime.c >> config.log 2>&1; then \ echo '#define HAVE_STRPTIME'; \ rm test-strptime; \