c3ab26950f
Update the <bsd.doc.mk> infrastructure, and update the docs to match the new infrastructure. - Build and install text, ps, pdf, and/or html, not roff sources. - Don't wire the chapter numbers into the build system, or use them in the installed pathnames. This didn't matter much when the docs were a museum, but now that we're theoretically going to start maintaining them again, we're going to add and remove documents periodically and having the chapter numbers baked in creates a lot of thrashing for no purpose. - Specify the document name explicitly, rather than implicitly in a path. Use this name (instead of other random strings) as the name of the installed files. - Specify the document section, which is the subdirectory of /usr/share/doc to install into. - Allow multiple subdocuments. (That is, multiple documents in one output directory.) - Enumerate the .png files groff emits along with html so they can be installed. - Remove assorted hand-rolled rules for running roff and roff widgetry and add enough variable settings to make these unnecessary. This includes support for - explicit use of soelim - refer - tbl - pic - eqn - Forcibly apply at least minimal amounts of sanity to certain autogenerated roff files. - Don't exclude USD.doc, SMM.doc, and PSD.doc directories from the build, as they now actually do stuff. Note: currently we can't generate pdf. This turns out to be a nontrivial problem with no immediate solution forthcoming. So for now, as a workaround, install compressed .ps as the printable form.
53 lines
1.5 KiB
Makefile
53 lines
1.5 KiB
Makefile
# $NetBSD: Makefile,v 1.57 2014/07/05 19:22:05 dholland Exp $
|
|
# @(#)Makefile 5.2 (Berkeley) 12/28/90
|
|
|
|
PROG= make
|
|
SRCS= arch.c buf.c compat.c cond.c dir.c for.c hash.c job.c main.c \
|
|
make.c parse.c str.c suff.c targ.c trace.c var.c util.c
|
|
SRCS+= strlist.c
|
|
SRCS+= make_malloc.c
|
|
SRCS+= lstAppend.c lstAtEnd.c lstAtFront.c lstClose.c lstConcat.c \
|
|
lstDatum.c lstDeQueue.c lstDestroy.c lstDupl.c lstEnQueue.c \
|
|
lstFind.c lstFindFrom.c lstFirst.c lstForEach.c lstForEachFrom.c \
|
|
lstInit.c lstInsert.c lstIsAtEnd.c lstIsEmpty.c lstLast.c \
|
|
lstMember.c lstNext.c lstOpen.c lstRemove.c lstReplace.c lstSucc.c
|
|
SRCS += lstPrev.c
|
|
|
|
# let people experiment for a bit
|
|
USE_META ?= no
|
|
.if ${USE_META:tl} != "no"
|
|
SRCS+= meta.c
|
|
CPPFLAGS+= -DUSE_META
|
|
FILEMON_H ?= ${.CURDIR:H:H}/sys/dev/filemon/filemon.h
|
|
.if exists(${FILEMON_H}) && ${FILEMON_H:T} == "filemon.h"
|
|
COPTS.meta.c += -DHAVE_FILEMON_H -I${FILEMON_H:H}
|
|
.endif
|
|
.endif
|
|
|
|
.PATH: ${.CURDIR}/lst.lib
|
|
SUBDIR= PSD.doc
|
|
.if make(obj) || make(clean)
|
|
SUBDIR+= unit-tests
|
|
.endif
|
|
|
|
.include <bsd.prog.mk>
|
|
.include <bsd.subdir.mk>
|
|
|
|
CPPFLAGS+= -DMAKE_NATIVE
|
|
COPTS.var.c += -Wno-cast-qual
|
|
COPTS.job.c += -Wno-format-nonliteral
|
|
COPTS.parse.c += -Wno-format-nonliteral
|
|
COPTS.var.c += -Wno-format-nonliteral
|
|
|
|
.ifdef TOOLDIR
|
|
# this is a native netbsd build,
|
|
# use libutil rather than the local emalloc etc.
|
|
CPPFLAGS+= -DUSE_EMALLOC
|
|
LDADD+=-lutil
|
|
DPADD+=${LIBUTIL}
|
|
.endif
|
|
|
|
# A simple unit-test driver to help catch regressions
|
|
accept test:
|
|
cd ${.CURDIR}/unit-tests && MAKEFLAGS= ${.MAKE} -r -m / TEST_MAKE=${TEST_MAKE:U${.OBJDIR}/${PROG:T}} ${.TARGET}
|