-# $Id: Makefile,v 1.424 2014/07/13 09:39:32 schwarze Exp $
+# $Id: Makefile,v 1.482 2016/05/18 21:37:04 schwarze Exp $
#
# Copyright (c) 2010, 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv>
-# Copyright (c) 2011, 2013, 2014 Ingo Schwarze <schwarze@openbsd.org>
+# Copyright (c) 2011, 2013-2016 Ingo Schwarze <schwarze@openbsd.org>
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-VERSION = 1.13.0
+VERSION = 1.13.3
-# === USER SETTINGS ====================================================
+# === LIST OF FILES ====================================================
-# 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 5.5\""
-
-# 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
-
-# If your system has manpath(1), uncomment this. This is most any
-# system that's not OpenBSD or NetBSD. If uncommented, manpage(1) and
-# makewhatis(8) will use manpath(1) to get the MANPATH variable.
-#CFLAGS += -DUSE_MANPATH
-
-# If your system does not support static binaries, comment this,
-# for example on Mac OS X.
-STATIC = -static
-# Linux requires -pthread to statically link with libdb.
-#STATIC += -pthread
-
-CFLAGS += -I/usr/local/include -g -DHAVE_CONFIG_H
-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
-MANDIR = $(PREFIX)/man
-EXAMPLEDIR = $(PREFIX)/share/examples/mandoc
-INSTALL = install
-INSTALL_PROGRAM = $(INSTALL) -m 0755
-INSTALL_DATA = $(INSTALL) -m 0444
-INSTALL_LIB = $(INSTALL) -m 0644
-INSTALL_SOURCE = $(INSTALL) -m 0644
-INSTALL_MAN = $(INSTALL_DATA)
-
-# If you want to build without database support, for example to avoid
-# the dependency on SQLite3, comment the following two lines.
-DBLIB = -L/usr/local/lib -lsqlite3
-DBBIN = makewhatis manpage apropos
-
-# To build man.cgi, copy cgi.h.example to cgi.h, edit it, and
-# either enable the following line or run "make man.cgi" by hand.
-#DBBIN += man.cgi
-
-# OpenBSD has the ohash functions in libutil.
-# Comment the following line if your system doesn't.
-DBLIB += -lutil
-
-# === END OF USER SETTINGS =============================================
-
-ALLBIN = mandoc preconv demandoc $(DBBIN)
-
-all: $(ALLBIN)
-
-TESTSRCS = test-fgetln.c \
+TESTSRCS = test-dirent-namlen.c \
+ test-err.c \
+ test-fts.c \
+ test-getline.c \
test-getsubopt.c \
+ test-isblank.c \
+ test-mkdtemp.c \
test-mmap.c \
test-ohash.c \
+ test-pledge.c \
+ test-progname.c \
test-reallocarray.c \
+ test-sqlite3.c \
+ test-sqlite3_errstr.c \
+ test-strcasestr.c \
+ test-stringlist.c \
test-strlcat.c \
test-strlcpy.c \
- test-strnlen.c \
- test-strptime.c
+ test-strptime.c \
+ test-strsep.c \
+ test-strtonum.c \
+ test-vasprintf.c \
+ test-wchar.c
-SRCS = LICENSE \
- Makefile \
- NEWS \
- TODO \
- apropos.1 \
- apropos.c \
- arch.c \
- arch.in \
- att.c \
- att.in \
+SRCS = att.c \
cgi.c \
chars.c \
- chars.in \
- compat_fgetln.c \
+ compat_err.c \
+ compat_fts.c \
+ compat_getline.c \
compat_getsubopt.c \
+ compat_isblank.c \
+ compat_mkdtemp.c \
compat_ohash.c \
- compat_ohash.h \
+ compat_progname.c \
compat_reallocarray.c \
+ compat_sqlite3_errstr.c \
compat_strcasestr.c \
+ compat_stringlist.c \
compat_strlcat.c \
compat_strlcpy.c \
- compat_strnlen.c \
compat_strsep.c \
- config.h.post \
- config.h.pre \
- configure \
- demandoc.1 \
+ compat_strtonum.c \
+ compat_vasprintf.c \
demandoc.c \
- eqn.7 \
eqn.c \
eqn_html.c \
eqn_term.c \
- example.style.css \
- gmdiff \
html.c \
- html.h \
lib.c \
- lib.in \
- libman.h \
- libmandoc.h \
- libmdoc.h \
- libroff.h \
main.c \
- main.h \
- makewhatis.8 \
- man.7 \
man.c \
- man.cgi.8 \
- man-cgi.css \
- man.h \
man_hash.c \
man_html.c \
man_macro.c \
man_term.c \
man_validate.c \
- mandoc.1 \
- mandoc.3 \
mandoc.c \
- mandoc.db.5 \
- mandoc.h \
mandoc_aux.c \
- mandoc_aux.h \
- mandoc_char.7 \
+ mandoc_ohash.c \
mandocdb.c \
manpage.c \
manpath.c \
- manpath.h \
- mansearch.3 \
mansearch.c \
- mansearch.h \
mansearch_const.c \
- mdoc.7 \
mdoc.c \
- mdoc.h \
mdoc_argv.c \
mdoc_hash.c \
mdoc_html.c \
mdoc_macro.c \
mdoc_man.c \
+ mdoc_state.c \
mdoc_term.c \
mdoc_validate.c \
msec.c \
- msec.in \
out.c \
- out.h \
- preconv.1 \
preconv.c \
- predefs.in \
read.c \
- roff.7 \
roff.c \
+ soelim.c \
st.c \
- st.in \
- style.css \
- tbl.3 \
- tbl.7 \
+ tag.c \
tbl.c \
tbl_data.c \
tbl_html.c \
tbl_opts.c \
tbl_term.c \
term.c \
- term.h \
term_ascii.c \
term_ps.c \
- tree.c \
- vol.c \
- vol.in \
+ tree.c
+
+DISTFILES = INSTALL \
+ LICENSE \
+ Makefile \
+ Makefile.depend \
+ NEWS \
+ TODO \
+ apropos.1 \
+ cgi.h.example \
+ compat_fts.h \
+ compat_ohash.h \
+ compat_stringlist.h \
+ configure \
+ configure.local.example \
+ demandoc.1 \
+ eqn.7 \
+ gmdiff \
+ html.h \
+ lib.in \
+ libman.h \
+ libmandoc.h \
+ libmdoc.h \
+ libroff.h \
+ main.h \
+ makewhatis.8 \
+ man.1 \
+ man.7 \
+ man.cgi.3 \
+ man.cgi.8 \
+ man.conf.5 \
+ man.h \
+ manconf.h \
+ mandoc.1 \
+ mandoc.3 \
+ mandoc.css \
+ mandoc.db.5 \
+ mandoc.h \
+ mandoc_aux.h \
+ mandoc_char.7 \
+ mandoc_escape.3 \
+ mandoc_headers.3 \
+ mandoc_html.3 \
+ mandoc_malloc.3 \
+ mandoc_ohash.h \
+ mansearch.3 \
+ mansearch.h \
+ mchars_alloc.3 \
+ mdoc.7 \
+ mdoc.h \
+ msec.in \
+ out.h \
+ predefs.in \
+ roff.7 \
+ roff.h \
+ soelim.1 \
+ st.in \
+ tag.h \
+ tbl.3 \
+ tbl.7 \
+ term.h \
+ $(SRCS) \
$(TESTSRCS)
LIBMAN_OBJS = man.o \
man_macro.o \
man_validate.o
-LIBMDOC_OBJS = arch.o \
- att.o \
+LIBMDOC_OBJS = att.o \
lib.o \
mdoc.o \
mdoc_argv.o \
mdoc_hash.o \
mdoc_macro.o \
+ mdoc_state.o \
mdoc_validate.o \
- st.o \
- vol.o
+ st.o
LIBROFF_OBJS = eqn.o \
roff.o \
chars.o \
mandoc.o \
mandoc_aux.o \
+ mandoc_ohash.o \
msec.o \
+ preconv.o \
read.o
-COMPAT_OBJS = compat_fgetln.o \
+COMPAT_OBJS = compat_err.o \
+ compat_fts.o \
+ compat_getline.o \
compat_getsubopt.o \
+ compat_isblank.o \
+ compat_mkdtemp.o \
compat_ohash.o \
+ compat_progname.o \
compat_reallocarray.o \
+ compat_sqlite3_errstr.o \
compat_strcasestr.o \
compat_strlcat.o \
compat_strlcpy.o \
- compat_strnlen.o \
- compat_strsep.o
-
-# === DEPENDENCY HANDLING ==============================================
-
-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
-cgi.o: cgi.h
-
-$(LIBMAN_OBJS): libman.h
-$(LIBMDOC_OBJS): libmdoc.h
-$(LIBROFF_OBJS): libroff.h
-$(LIBMANDOC_OBJS): mandoc.h mandoc_aux.h mdoc.h man.h libmandoc.h config.h
-$(COMPAT_OBJS): config.h compat_ohash.h
+ compat_strsep.o \
+ compat_strtonum.o \
+ compat_vasprintf.o
MANDOC_HTML_OBJS = eqn_html.o \
html.o \
man_html.o \
mdoc_html.o \
tbl_html.o
-$(MANDOC_HTML_OBJS): html.h
MANDOC_MAN_OBJS = mdoc_man.o
term_ascii.o \
term_ps.o \
tbl_term.o
-$(MANDOC_TERM_OBJS): term.h
-MANDOC_OBJS = $(MANDOC_HTML_OBJS) \
+BASE_OBJS = $(MANDOC_HTML_OBJS) \
$(MANDOC_MAN_OBJS) \
$(MANDOC_TERM_OBJS) \
main.o \
+ manpath.o \
out.o \
+ tag.o \
tree.o
-$(MANDOC_OBJS): main.h mandoc.h mandoc_aux.h mdoc.h man.h config.h out.h
-MAKEWHATIS_OBJS = mandocdb.o mansearch_const.o manpath.o
-$(MAKEWHATIS_OBJS): mansearch.h mandoc.h mandoc_aux.h \
- mdoc.h man.h config.h manpath.h
+MAIN_OBJS = $(BASE_OBJS)
-PRECONV_OBJS = preconv.o
-$(PRECONV_OBJS): config.h
-
-APROPOS_OBJS = apropos.o mansearch.o mansearch_const.o manpath.o
-$(APROPOS_OBJS): config.h mandoc.h mandoc_aux.h manpath.h mansearch.h
+DB_OBJS = mandocdb.o \
+ mansearch.o \
+ mansearch_const.o
CGI_OBJS = $(MANDOC_HTML_OBJS) \
cgi.o \
mansearch.o \
mansearch_const.o \
out.o
-$(CGI_OBJS): main.h out.h config.h mandoc.h mandoc_aux.h \
- manpath.h mansearch.h
MANPAGE_OBJS = manpage.o mansearch.o mansearch_const.o manpath.o
-$(MANPAGE_OBJS): config.h mandoc.h mandoc_aux.h manpath.h mansearch.h
DEMANDOC_OBJS = demandoc.o
-$(DEMANDOC_OBJS): config.h mandoc.h man.h mdoc.h
+
+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 \
mandoc.1.html \
- preconv.1.html \
+ soelim.1.html \
mandoc.3.html \
+ mandoc_escape.3.html \
+ mandoc_headers.3.html \
+ mandoc_html.3.html \
+ mandoc_malloc.3.html \
mansearch.3.html \
+ mchars_alloc.3.html \
tbl.3.html \
+ man.conf.5.html \
mandoc.db.5.html \
eqn.7.html \
man.7.html \
roff.7.html \
tbl.7.html \
makewhatis.8.html \
+ man.cgi.3.html \
man.cgi.8.html \
man.h.html \
+ manconf.h.html \
mandoc.h.html \
mandoc_aux.h.html \
- manpath.h.html \
mansearch.h.html \
- mdoc.h.html
+ mdoc.h.html \
+ roff.h.html
WWW_OBJS = mdocml.tar.gz \
mdocml.sha256
+# === USER CONFIGURATION ===============================================
+
+include Makefile.local
+
+# === DEPENDENCY HANDLING ==============================================
+
+all: base-build $(BUILD_TARGETS) Makefile.local
+
+base-build: mandoc demandoc soelim
+
+cgi-build: man.cgi
+
+install: base-install $(INSTALL_TARGETS)
+
www: $(WWW_OBJS) $(WWW_MANS)
+$(WWW_MANS): mandoc
+
+.PHONY: base-install cgi-install db-install install www-install
+.PHONY: clean distclean depend
+
+include Makefile.depend
+
# === TARGETS CONTAINING SHELL COMMANDS ================================
+distclean: clean
+ rm -f Makefile.local config.h config.h.old config.log config.log.old
+
clean:
- rm -f libmandoc.a $(LIBMANDOC_OBJS)
- rm -f apropos $(APROPOS_OBJS)
- rm -f makewhatis $(MAKEWHATIS_OBJS)
- rm -f preconv $(PRECONV_OBJS)
+ rm -f libmandoc.a $(LIBMANDOC_OBJS) $(COMPAT_OBJS)
+ rm -f mandoc $(BASE_OBJS) $(DB_OBJS)
rm -f man.cgi $(CGI_OBJS)
rm -f manpage $(MANPAGE_OBJS)
rm -f demandoc $(DEMANDOC_OBJS)
- rm -f mandoc $(MANDOC_OBJS)
- rm -f config.h config.log $(COMPAT_OBJS)
+ rm -f soelim $(SOELIM_OBJS)
rm -f $(WWW_MANS) $(WWW_OBJS)
rm -rf *.dSYM
-install: all
+base-install: base-build
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)/man5
mkdir -p $(DESTDIR)$(MANDIR)/man7
- $(INSTALL_PROGRAM) $(ALLBIN) $(DESTDIR)$(BINDIR)
+ $(INSTALL_PROGRAM) mandoc demandoc $(DESTDIR)$(BINDIR)
+ $(INSTALL_PROGRAM) soelim $(DESTDIR)$(BINDIR)/$(BINM_SOELIM)
+ ln -f $(DESTDIR)$(BINDIR)/mandoc $(DESTDIR)$(BINDIR)/$(BINM_MAN)
$(INSTALL_LIB) libmandoc.a $(DESTDIR)$(LIBDIR)
- $(INSTALL_LIB) man.h mdoc.h mandoc.h $(DESTDIR)$(INCLUDEDIR)
- $(INSTALL_MAN) mandoc.1 preconv.1 demandoc.1 $(DESTDIR)$(MANDIR)/man1
- $(INSTALL_MAN) mandoc.3 mansearch.3 tbl.3 $(DESTDIR)$(MANDIR)/man3
+ $(INSTALL_LIB) man.h mandoc.h mandoc_aux.h mdoc.h roff.h \
+ $(DESTDIR)$(INCLUDEDIR)
+ $(INSTALL_MAN) mandoc.1 demandoc.1 $(DESTDIR)$(MANDIR)/man1
+ $(INSTALL_MAN) soelim.1 $(DESTDIR)$(MANDIR)/man1/$(BINM_SOELIM).1
+ $(INSTALL_MAN) man.1 $(DESTDIR)$(MANDIR)/man1/$(BINM_MAN).1
+ $(INSTALL_MAN) mandoc.3 mandoc_escape.3 mandoc_malloc.3 \
+ mchars_alloc.3 tbl.3 $(DESTDIR)$(MANDIR)/man3
+ $(INSTALL_MAN) man.conf.5 $(DESTDIR)$(MANDIR)/man5/${MANM_MANCONF}.5
+ $(INSTALL_MAN) man.7 $(DESTDIR)$(MANDIR)/man7/${MANM_MAN}.7
+ $(INSTALL_MAN) mdoc.7 $(DESTDIR)$(MANDIR)/man7/${MANM_MDOC}.7
+ $(INSTALL_MAN) roff.7 $(DESTDIR)$(MANDIR)/man7/${MANM_ROFF}.7
+ $(INSTALL_MAN) eqn.7 $(DESTDIR)$(MANDIR)/man7/${MANM_EQN}.7
+ $(INSTALL_MAN) tbl.7 $(DESTDIR)$(MANDIR)/man7/${MANM_TBL}.7
+ $(INSTALL_MAN) mandoc_char.7 $(DESTDIR)$(MANDIR)/man7
+
+db-install: base-build
+ mkdir -p $(DESTDIR)$(BINDIR)
+ mkdir -p $(DESTDIR)$(SBINDIR)
+ mkdir -p $(DESTDIR)$(MANDIR)/man1
+ mkdir -p $(DESTDIR)$(MANDIR)/man3
+ mkdir -p $(DESTDIR)$(MANDIR)/man5
+ mkdir -p $(DESTDIR)$(MANDIR)/man8
+ ln -f $(DESTDIR)$(BINDIR)/mandoc $(DESTDIR)$(BINDIR)/$(BINM_APROPOS)
+ ln -f $(DESTDIR)$(BINDIR)/mandoc $(DESTDIR)$(BINDIR)/$(BINM_WHATIS)
+ ln -f $(DESTDIR)$(BINDIR)/mandoc \
+ $(DESTDIR)$(SBINDIR)/$(BINM_MAKEWHATIS)
+ $(INSTALL_MAN) apropos.1 $(DESTDIR)$(MANDIR)/man1/$(BINM_APROPOS).1
+ ln -f $(DESTDIR)$(MANDIR)/man1/$(BINM_APROPOS).1 \
+ $(DESTDIR)$(MANDIR)/man1/$(BINM_WHATIS).1
+ $(INSTALL_MAN) mansearch.3 $(DESTDIR)$(MANDIR)/man3
$(INSTALL_MAN) mandoc.db.5 $(DESTDIR)$(MANDIR)/man5
- $(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)
+ $(INSTALL_MAN) makewhatis.8 \
+ $(DESTDIR)$(MANDIR)/man8/$(BINM_MAKEWHATIS).8
-installcgi: all
+cgi-install: cgi-build
mkdir -p $(DESTDIR)$(CGIBINDIR)
mkdir -p $(DESTDIR)$(HTDOCDIR)
mkdir -p $(DESTDIR)$(WWWPREFIX)/man/mandoc/man1
mkdir -p $(DESTDIR)$(WWWPREFIX)/man/mandoc/man8
$(INSTALL_PROGRAM) man.cgi $(DESTDIR)$(CGIBINDIR)
- $(INSTALL_DATA) example.style.css $(DESTDIR)$(HTDOCDIR)/man.css
- $(INSTALL_DATA) man-cgi.css $(DESTDIR)$(HTDOCDIR)
+ $(INSTALL_DATA) mandoc.css $(DESTDIR)$(HTDOCDIR)
$(INSTALL_MAN) apropos.1 $(DESTDIR)$(WWWPREFIX)/man/mandoc/man1/
$(INSTALL_MAN) man.cgi.8 $(DESTDIR)$(WWWPREFIX)/man/mandoc/man8/
-installwww: www
- mkdir -p $(DESTDIR)$(HTDOCDIR)/snapshots
- $(INSTALL_DATA) $(WWW_MANS) style.css $(DESTDIR)$(HTDOCDIR)
- $(INSTALL_DATA) $(WWW_OBJS) $(DESTDIR)$(HTDOCDIR)/snapshots
- $(INSTALL_DATA) mdocml.tar.gz \
- $(DESTDIR)$(HTDOCDIR)/snapshots/mdocml-$(VERSION).tar.gz
- $(INSTALL_DATA) mdocml.sha256 \
- $(DESTDIR)$(HTDOCDIR)/snapshots/mdocml-$(VERSION).sha256
+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)
-mandoc: $(MANDOC_OBJS) libmandoc.a
- $(CC) $(LDFLAGS) -o $@ $(MANDOC_OBJS) libmandoc.a
-
-makewhatis: $(MAKEWHATIS_OBJS) libmandoc.a
- $(CC) $(LDFLAGS) -o $@ $(MAKEWHATIS_OBJS) libmandoc.a $(DBLIB)
-
-preconv: $(PRECONV_OBJS)
- $(CC) $(LDFLAGS) -o $@ $(PRECONV_OBJS)
+mandoc: $(MAIN_OBJS) libmandoc.a
+ $(CC) $(LDFLAGS) -o $@ $(MAIN_OBJS) libmandoc.a $(LDADD)
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)
+ $(CC) $(LDFLAGS) -o $@ $(MANPAGE_OBJS) libmandoc.a $(LDADD)
man.cgi: $(CGI_OBJS) libmandoc.a
- $(CC) $(LDFLAGS) $(STATIC) -o $@ $(CGI_OBJS) libmandoc.a $(DBLIB)
+ $(CC) $(LDFLAGS) $(STATIC) -o $@ $(CGI_OBJS) libmandoc.a $(LDADD)
demandoc: $(DEMANDOC_OBJS) libmandoc.a
- $(CC) $(LDFLAGS) -o $@ $(DEMANDOC_OBJS) libmandoc.a
+ $(CC) $(LDFLAGS) -o $@ $(DEMANDOC_OBJS) libmandoc.a $(LDADD)
+
+soelim: $(SOELIM_OBJS)
+ $(CC) $(LDFLAGS) -o $@ $(SOELIM_OBJS)
+
+# --- maintainer targets ---
+
+www-install: www
+ mkdir -p $(HTDOCDIR)/snapshots
+ $(INSTALL_DATA) $(WWW_MANS) mandoc.css $(HTDOCDIR)
+ $(INSTALL_DATA) $(WWW_OBJS) $(HTDOCDIR)/snapshots
+ $(INSTALL_DATA) mdocml.tar.gz \
+ $(HTDOCDIR)/snapshots/mdocml-$(VERSION).tar.gz
+ $(INSTALL_DATA) mdocml.sha256 \
+ $(HTDOCDIR)/snapshots/mdocml-$(VERSION).sha256
+
+depend: config.h
+ mkdep -f Makefile.depend $(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
mdocml.sha256: mdocml.tar.gz
sha256 mdocml.tar.gz > $@
-mdocml.tar.gz: $(SRCS)
+mdocml.tar.gz: $(DISTFILES)
mkdir -p .dist/mdocml-$(VERSION)/
- $(INSTALL_SOURCE) $(SRCS) .dist/mdocml-$(VERSION)
+ $(INSTALL) -m 0644 $(DISTFILES) .dist/mdocml-$(VERSION)
chmod 755 .dist/mdocml-$(VERSION)/configure
( cd .dist/ && tar zcf ../$@ mdocml-$(VERSION) )
rm -rf .dist/
-config.h: configure config.h.pre config.h.post $(TESTSRCS)
- rm -f config.log
- CC="$(CC)" CFLAGS="$(CFLAGS)" VERSION="$(VERSION)" ./configure
+# === SUFFIX RULES =====================================================
-.PHONY: clean install installcgi installwww
.SUFFIXES: .1 .3 .5 .7 .8 .h
.SUFFIXES: .1.html .3.html .5.html .7.html .8.html .h.html
.1.1.html .3.3.html .5.5.html .7.7.html .8.8.html: mandoc
./mandoc -Thtml -Wall,stop \
- -Ostyle=style.css,man=%N.%S.html,includes=%I.html $< > $@
+ -Ostyle=mandoc.css,man=%N.%S.html,includes=%I.html $< > $@