=================================================================== RCS file: /cvs/mandoc/Makefile,v retrieving revision 1.515 retrieving revision 1.540 diff -u -p -r1.515 -r1.540 --- mandoc/Makefile 2017/07/20 11:41:54 1.515 +++ mandoc/Makefile 2021/09/21 11:04:40 1.540 @@ -1,7 +1,7 @@ -# $Id: Makefile,v 1.515 2017/07/20 11:41:54 schwarze Exp $ +# $Id: Makefile,v 1.540 2021/09/21 11:04:40 schwarze Exp $ # +# Copyright (c) 2011, 2013-2021 Ingo Schwarze # Copyright (c) 2010, 2011, 2012 Kristaps Dzonsons -# Copyright (c) 2011, 2013-2017 Ingo Schwarze # # Permission to use, copy, modify, and distribute this software for any # purpose with or without fee is hereby granted, provided that the above @@ -15,11 +15,12 @@ # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -VERSION = 1.14.2 +VERSION = 1.14.6 # === LIST OF FILES ==================================================== -TESTSRCS = test-be32toh.c \ +TESTSRCS = test-attribute.c \ + test-be32toh.c \ test-cmsg.c \ test-dirent-namlen.c \ test-EFTYPE.c \ @@ -29,16 +30,18 @@ TESTSRCS = test-be32toh.c \ test-getsubopt.c \ test-isblank.c \ test-mkdtemp.c \ + test-mkstemps.c \ test-nanosleep.c \ + test-noop.c \ test-ntohl.c \ test-O_DIRECTORY.c \ test-ohash.c \ test-PATH_MAX.c \ test-pledge.c \ test-progname.c \ - test-recvmsg.c \ test-reallocarray.c \ test-recallocarray.c \ + test-recvmsg.c \ test-rewb-bsd.c \ test-rewb-sysv.c \ test-sandbox_init.c \ @@ -46,13 +49,15 @@ TESTSRCS = test-be32toh.c \ test-stringlist.c \ test-strlcat.c \ test-strlcpy.c \ + test-strndup.c \ test-strptime.c \ test-strsep.c \ test-strtonum.c \ test-vasprintf.c \ test-wchar.c -SRCS = att.c \ +SRCS = arch.c \ + att.c \ catman.c \ cgi.c \ chars.c \ @@ -62,6 +67,7 @@ SRCS = att.c \ compat_getsubopt.c \ compat_isblank.c \ compat_mkdtemp.c \ + compat_mkstemps.c \ compat_ohash.c \ compat_progname.c \ compat_reallocarray.c \ @@ -70,6 +76,7 @@ SRCS = att.c \ compat_stringlist.c \ compat_strlcat.c \ compat_strlcpy.c \ + compat_strndup.c \ compat_strsep.c \ compat_strtonum.c \ compat_vasprintf.c \ @@ -93,6 +100,7 @@ SRCS = att.c \ man_validate.c \ mandoc.c \ mandoc_aux.c \ + mandoc_msg.c \ mandoc_ohash.c \ mandoc_xr.c \ mandocd.c \ @@ -129,6 +137,7 @@ SRCS = att.c \ term_ascii.c \ term_ps.c \ term_tab.c \ + term_tag.c \ tree.c DISTFILES = INSTALL \ @@ -152,13 +161,14 @@ DISTFILES = INSTALL \ dbm_map.h \ demandoc.1 \ eqn.7 \ + eqn.h \ + eqn_parse.h \ gmdiff \ html.h \ lib.in \ libman.h \ libmandoc.h \ libmdoc.h \ - libroff.h \ main.h \ makewhatis.8 \ man.1 \ @@ -181,6 +191,7 @@ DISTFILES = INSTALL \ mandoc_html.3 \ mandoc_malloc.3 \ mandoc_ohash.h \ + mandoc_parse.h \ mandoc_xr.h \ mandocd.8 \ mansearch.3 \ @@ -195,11 +206,14 @@ DISTFILES = INSTALL \ roff.h \ roff_int.h \ soelim.1 \ - st.in \ tag.h \ tbl.3 \ tbl.7 \ + tbl.h \ + tbl_int.h \ + tbl_parse.h \ term.h \ + term_tag.h \ $(SRCS) \ $(TESTSRCS) @@ -227,28 +241,34 @@ LIBROFF_OBJS = eqn.o \ LIBMANDOC_OBJS = $(LIBMAN_OBJS) \ $(LIBMDOC_OBJS) \ $(LIBROFF_OBJS) \ + arch.o \ chars.o \ mandoc.o \ mandoc_aux.o \ + mandoc_msg.o \ mandoc_ohash.o \ mandoc_xr.o \ msec.o \ preconv.o \ - read.o + read.o \ + tag.o -COMPAT_OBJS = compat_err.o \ +ALL_COBJS = compat_err.o \ compat_fts.o \ compat_getline.o \ compat_getsubopt.o \ compat_isblank.o \ compat_mkdtemp.o \ + compat_mkstemps.o \ compat_ohash.o \ compat_progname.o \ compat_reallocarray.o \ compat_recallocarray.o \ compat_strcasestr.o \ + compat_stringlist.o \ compat_strlcat.o \ compat_strlcpy.o \ + compat_strndup.o \ compat_strsep.o \ compat_strtonum.o \ compat_vasprintf.o @@ -268,6 +288,7 @@ MANDOC_TERM_OBJS = eqn_term.o \ term_ascii.o \ term_ps.o \ term_tab.o \ + term_tag.o \ tbl_term.o DBM_OBJS = dbm.o \ @@ -290,7 +311,6 @@ MAIN_OBJS = $(MANDOC_HTML_OBJS) \ mdoc_man.o \ mdoc_markdown.o \ out.o \ - tag.o \ tree.o CGI_OBJS = $(MANDOC_HTML_OBJS) \ @@ -301,21 +321,14 @@ CGI_OBJS = $(MANDOC_HTML_OBJS) \ MANDOCD_OBJS = $(MANDOC_HTML_OBJS) \ $(MANDOC_TERM_OBJS) \ mandocd.o \ - out.o \ - tag.o + out.o DEMANDOC_OBJS = demandoc.o -SOELIM_OBJS = soelim.o \ - compat_err.o \ - compat_getline.o \ - compat_progname.o \ - compat_reallocarray.o \ - compat_stringlist.o - WWW_MANS = apropos.1.html \ demandoc.1.html \ man.1.html \ + man.options.1.html \ mandoc.1.html \ soelim.1.html \ man.cgi.3.html \ @@ -332,20 +345,27 @@ WWW_MANS = apropos.1.html \ eqn.7.html \ man.7.html \ mandoc_char.7.html \ - mandocd.8.html \ mdoc.7.html \ roff.7.html \ tbl.7.html \ catman.8.html \ makewhatis.8.html \ man.cgi.8.html \ + mandocd.8.html + +WWW_INCS = eqn.h.html \ + html.h.html \ man.h.html \ manconf.h.html \ mandoc.h.html \ mandoc_aux.h.html \ + mandoc_parse.h.html \ mansearch.h.html \ mdoc.h.html \ - roff.h.html + roff.h.html \ + tbl.h.html \ + tbl_int.h.html \ + tbl_parse.h.html # === USER CONFIGURATION =============================================== @@ -353,13 +373,13 @@ include Makefile.local # === DEPENDENCY HANDLING ============================================== -all: mandoc demandoc soelim $(BUILD_TARGETS) Makefile.local +all: mandoc man demandoc soelim $(BUILD_TARGETS) Makefile.local install: base-install $(INSTALL_TARGETS) -www: $(WWW_MANS) +www: $(WWW_MANS) $(WWW_INCS) -$(WWW_MANS): mandoc +$(WWW_MANS) $(WWW_INCS): mandoc .PHONY: base-install cgi-install install www-install .PHONY: clean distclean depend @@ -372,13 +392,14 @@ distclean: clean rm -f Makefile.local config.h config.h.old config.log config.log.old clean: - rm -f libmandoc.a $(LIBMANDOC_OBJS) $(COMPAT_OBJS) - rm -f mandoc $(MAIN_OBJS) + rm -f libmandoc.a $(LIBMANDOC_OBJS) $(ALL_COBJS) + rm -f mandoc man $(MAIN_OBJS) rm -f man.cgi $(CGI_OBJS) rm -f mandocd catman catman.o $(MANDOCD_OBJS) rm -f demandoc $(DEMANDOC_OBJS) - rm -f soelim $(SOELIM_OBJS) - rm -f $(WWW_MANS) mdocml.tar.gz mdocml.sha256 + rm -f soelim soelim.o + rm -f $(WWW_MANS) $(WWW_INCS) mandoc*.tar.gz mandoc*.sha256 + rm -f Makefile.tmp1 Makefile.tmp2 rm -rf *.dSYM base-install: mandoc demandoc soelim @@ -416,8 +437,8 @@ lib-install: libmandoc.a mkdir -p $(DESTDIR)$(INCLUDEDIR) mkdir -p $(DESTDIR)$(MANDIR)/man3 $(INSTALL_LIB) libmandoc.a $(DESTDIR)$(LIBDIR) - $(INSTALL_LIB) man.h mandoc.h mandoc_aux.h mdoc.h roff.h \ - $(DESTDIR)$(INCLUDEDIR) + $(INSTALL_LIB) eqn.h man.h mandoc.h mandoc_aux.h mandoc_parse.h \ + mdoc.h roff.h tbl.h $(DESTDIR)$(INCLUDEDIR) $(INSTALL_MAN) mandoc.3 mandoc_escape.3 mandoc_malloc.3 \ mansearch.3 mchars_alloc.3 tbl.3 $(DESTDIR)$(MANDIR)/man3 @@ -471,11 +492,14 @@ uninstall: rm -f $(DESTDIR)$(MANDIR)/man3/mansearch.3 rm -f $(DESTDIR)$(MANDIR)/man3/mchars_alloc.3 rm -f $(DESTDIR)$(MANDIR)/man3/tbl.3 + rm -f $(DESTDIR)$(INCLUDEDIR)/eqn.h rm -f $(DESTDIR)$(INCLUDEDIR)/man.h rm -f $(DESTDIR)$(INCLUDEDIR)/mandoc.h rm -f $(DESTDIR)$(INCLUDEDIR)/mandoc_aux.h + rm -f $(DESTDIR)$(INCLUDEDIR)/mandoc_parse.h rm -f $(DESTDIR)$(INCLUDEDIR)/mdoc.h rm -f $(DESTDIR)$(INCLUDEDIR)/roff.h + rm -f $(DESTDIR)$(INCLUDEDIR)/tbl.h [ ! -e $(DESTDIR)$(INCLUDEDIR) ] || rmdir $(DESTDIR)$(INCLUDEDIR) regress: all @@ -488,12 +512,15 @@ Makefile.local config.h: configure $(TESTSRCS) @echo "$@ is out of date; please run ./configure" @exit 1 -libmandoc.a: $(COMPAT_OBJS) $(LIBMANDOC_OBJS) - ar rs $@ $(COMPAT_OBJS) $(LIBMANDOC_OBJS) +libmandoc.a: $(MANDOC_COBJS) $(LIBMANDOC_OBJS) + $(AR) rs $@ $(MANDOC_COBJS) $(LIBMANDOC_OBJS) mandoc: $(MAIN_OBJS) libmandoc.a $(CC) -o $@ $(LDFLAGS) $(MAIN_OBJS) libmandoc.a $(LDADD) +man: mandoc + $(LN) mandoc man + man.cgi: $(CGI_OBJS) libmandoc.a $(CC) $(STATIC) -o $@ $(LDFLAGS) $(CGI_OBJS) libmandoc.a $(LDADD) @@ -506,20 +533,24 @@ catman: catman.o libmandoc.a demandoc: $(DEMANDOC_OBJS) libmandoc.a $(CC) -o $@ $(LDFLAGS) $(DEMANDOC_OBJS) libmandoc.a $(LDADD) -soelim: $(SOELIM_OBJS) - $(CC) -o $@ $(LDFLAGS) $(SOELIM_OBJS) +soelim: $(SOELIM_COBJS) soelim.o + $(CC) -o $@ $(LDFLAGS) $(SOELIM_COBJS) soelim.o # --- maintainer targets --- www-install: www - $(INSTALL_DATA) $(WWW_MANS) mandoc.css $(HTDOCDIR) + $(INSTALL_DATA) mandoc.css $(HTDOCDIR) + $(INSTALL_DATA) $(WWW_MANS) $(HTDOCDIR)/man + $(INSTALL_DATA) $(WWW_INCS) $(HTDOCDIR)/includes depend: config.h - mkdep -f Makefile.depend $(CFLAGS) $(SRCS) + ./configure -depend + mkdep -f Makefile.tmp1 $(CFLAGS) $(SRCS) perl -e 'undef $$/; $$_ = <>; s|/usr/include/\S+||g; \ s|\\\n||g; s| +| |g; s| $$||mg; print;' \ - Makefile.depend > Makefile.tmp - mv Makefile.tmp Makefile.depend + Makefile.tmp1 > Makefile.tmp2 + rm Makefile.tmp1 + mv Makefile.tmp2 Makefile.depend regress-distclean: @find regress \ @@ -544,22 +575,26 @@ regress-distcheck: ! -path regress/regress.pl \ ! -path regress/regress.pl.1 -dist: mdocml.sha256 +dist: mandoc-$(VERSION).sha256 -mdocml.sha256: mdocml.tar.gz - sha256 mdocml.tar.gz > $@ +mandoc-$(VERSION).sha256: mandoc-$(VERSION).tar.gz + sha256 mandoc-$(VERSION).tar.gz > $@ -mdocml.tar.gz: $(DISTFILES) +mandoc-$(VERSION).tar.gz: $(DISTFILES) ls regress/*/*/*.mandoc_* && exit 1 || true - mkdir -p .dist/mdocml-$(VERSION)/ - $(INSTALL) -m 0644 $(DISTFILES) .dist/mdocml-$(VERSION) - cp -pR regress .dist/mdocml-$(VERSION) - find .dist/mdocml-$(VERSION)/regress \ + mkdir -p .dist/mandoc-$(VERSION)/ + $(INSTALL) -m 0644 $(DISTFILES) .dist/mandoc-$(VERSION) + cp -pR regress .dist/mandoc-$(VERSION) + find .dist/mandoc-$(VERSION)/regress \ -type d -name CVS -print0 | xargs -0 rm -rf - chmod 755 .dist/mdocml-$(VERSION)/configure - ( cd .dist/ && tar zcf ../$@ mdocml-$(VERSION) ) + chmod 755 .dist/mandoc-$(VERSION)/configure + ( cd .dist/ && tar zcf ../$@ mandoc-$(VERSION) ) rm -rf .dist/ +dist-install: dist + $(INSTALL_DATA) mandoc-$(VERSION).tar.gz mandoc-$(VERSION).sha256 \ + $(HTDOCDIR)/snapshots + # === SUFFIX RULES ===================================================== .SUFFIXES: .1 .3 .5 .7 .8 .h @@ -568,6 +603,7 @@ mdocml.tar.gz: $(DISTFILES) .h.h.html: highlight -I $< > $@ -.1.1.html .3.3.html .5.5.html .7.7.html .8.8.html: mandoc - ./mandoc -Thtml -Wall,stop \ - -Ostyle=mandoc.css,man=%N.%S.html,includes=%I.html $< > $@ +.1.1.html .3.3.html .5.5.html .7.7.html .8.8.html: + ./mandoc -Thtml -Wwarning,stop \ + -O 'style=/mandoc.css,man=/man/%N.%S.html;https://man.openbsd.org/%N.%S,includes=/includes/%I.html' \ + $< > $@