* Add support for MKDOC MKLINKLIB MKLINT MKMAN MKNLS MKOBJ MKPIC MKPICINSTALL

MKPROFILE MKSHARE, which default to `yes' unless an equivalent NOxxx
  variable is defined.
* Add MKCATPAGES, which if "no" prevents catpages from being built or installed

Users should use "MKxxx=no" instead of "NOxxx=" in /etc/mk.conf, because
this allows easy override on the make(1) command line (e.g 'make MKSHARE=yes'
to override MKSHARE=no in /etc/mk.conf).
This commit is contained in:
lukem 1999-02-12 01:10:06 +00:00
parent 1ab6db8e5f
commit 497d11782a
10 changed files with 175 additions and 68 deletions

View File

@ -1,4 +1,4 @@
# $NetBSD: bsd.README,v 1.44 1998/11/07 09:40:35 erh Exp $
# $NetBSD: bsd.README,v 1.45 1999/02/12 01:10:06 lukem Exp $
# @(#)bsd.README 8.2 (Berkeley) 4/2/94
This is the README file for the new make "include" files for the BSD
@ -58,17 +58,49 @@ The profiled libraries are no longer built in a different directory than
the regular libraries. A new suffix, ".po", is used to denote a profiled
object, and ".so" denotes a shared (position-independent) object.
There are two variables that control how things are made/installed that
are not set by default:
The following variables that control how things are made/installed that
are not set by default. These should not be set by Makefiles; they're
for the user to define in /etc/mk.conf or on the make(1) command line:
BUILD If set 'make install' checks that the targets in the source
directories are up-to-date and remakes them if they
BUILD If defined, 'make install' checks that the targets in the
source directories are up-to-date and remakes them if they
are out of date, instead of blindly trying to install
out of date or non-existant targets.
UPDATE 'make install' only installs targets that are more recently
modified in the source directories that their installed
counterparts.
UPDATE If defined, 'make install' only installs targets that are
more recently modified in the source directories that their
installed counterparts.
MKCATPAGES If "no", don't build or install the catman pages.
MKDOC If "no", don't build or install the documentation.
MKLINKLIB If "no", act as "MKPICINSTALL=no MKPROFILE=no".
Also:
- don't install the .a libraries
- don't install _pic.a libraries on PIC systems
- don't build .a libraries on PIC systems
- don't install the .so symlink on ELF systems
I.e, only install the shared library (and the .so.major
symlink on ELF).
MKLINT If "no", don't build or install the lint libraries.
MKMAN If "no", don't build or install the man or catman pages.
MKNLS If "no", don't build or install the NLS files.
MKOBJ If "no", don't create objdirs.
MKPIC If "no", don't build or install shared libraries.
MKPICINSTALL If "no", don't install the *_pic.a libraries.
MKPROFILE If "no", don't build or install the profiling libraries.
MKSHARE If "no", act as "MKDOC=no MKMAN=no MKNLS=no".
I.e, don't build documentation, info pages, man pages,
NLS files, etc.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
@ -215,7 +247,7 @@ NOPROFILE Do not build profiled versions of system libraries
NOPIC Do not build PIC versions of system libraries, and
do not build shared libraries. [set if ${MACHINE_ARCH}
is "vax" "powerpc", unset otherwise.]
is "sparc64", unset otherwise.]
NOLINT Do not build lint libraries.

View File

@ -1,4 +1,4 @@
# $NetBSD: bsd.doc.mk,v 1.40 1999/02/04 11:58:30 christos Exp $
# $NetBSD: bsd.doc.mk,v 1.41 1999/02/12 01:10:06 lukem Exp $
# @(#)bsd.doc.mk 8.1 (Berkeley) 8/14/93
.if !target(__initialized__)
@ -11,7 +11,7 @@ __initialized__:
.endif
.PHONY: cleandoc docinstall print spell
.if !defined(NOSHARE)
.if ${MKSHARE} != "no"
realinstall: docinstall
.endif
clean cleandir distclean: cleandoc
@ -28,7 +28,7 @@ SOELIM?= soelim
TBL?= tbl
.if !target(all)
.if !defined(NOSHARE)
.if ${MKSHARE} != "no"
all: paper.ps
.else
all:
@ -48,7 +48,7 @@ print: paper.ps
cleandoc:
rm -f paper.* [eE]rrs mklog ${CLEANFILES}
.if !defined(NODOC)
.if ${MKDOC} != "no"
FILES?= ${SRCS}
.for F in ${FILES} ${EXTRA} Makefile
docinstall:: ${DESTDIR}${DOCDIR}/${DIR}/${F}

View File

@ -1,4 +1,4 @@
# $NetBSD: bsd.info.mk,v 1.5 1999/02/11 16:50:46 tv Exp $
# $NetBSD: bsd.info.mk,v 1.6 1999/02/12 01:10:06 lukem Exp $
.if !target(__initialized__)
__initialized__:
@ -19,7 +19,7 @@ INSTALL_INFO?= install-info
.txi.info .texi.info .texinfo.info:
@${MAKEINFO} ${INFOFLAGS} --no-split -o $@ $<
.if defined(TEXINFO) && !empty(TEXINFO) && !defined(NOSHARE)
.if defined(TEXINFO) && !empty(TEXINFO) && ${MKSHARE} != "no"
INFOFILES= ${TEXINFO:C/\.te?xi(nfo)?$/.info/}
FILES+= ${INFOFILES}
@ -37,7 +37,7 @@ FILESMODE_${F}= ${INFOMODE}
FILESNAME_${F}= ${F:T}
.endfor
.if !defined(NOSHARE)
.if ${MKSHARE} != "no"
all: ${INFOFILES}
.else
all:

View File

@ -1,4 +1,4 @@
# $NetBSD: bsd.lib.mk,v 1.147 1999/02/04 11:58:30 christos Exp $
# $NetBSD: bsd.lib.mk,v 1.148 1999/02/12 01:10:07 lukem Exp $
# @(#)bsd.lib.mk 8.3 (Berkeley) 4/22/94
.if !target(__initialized__)
@ -58,13 +58,13 @@ checkver:
# (usually just ${CPPPICFLAGS} ${CPICFLAGS})
# APICFLAGS: flags for ${AS} to assemble .[sS] to .so objects.
.if (${MACHINE_ARCH} == "alpha")
.if ${MACHINE_ARCH} == "alpha"
# Alpha-specific shared library flags
CPICFLAGS ?= -fpic -DPIC
CPPPICFLAGS?= -DPIC
CAPICFLAGS?= ${CPPPICFLAGS} ${CPICFLAGS}
APICFLAGS ?=
.elif (${MACHINE_ARCH} == "mips")
.elif ${MACHINE_ARCH} == "mips"
# mips-specific shared library flags
# On mips, all libs need to be compiled with ABIcalls, not just sharedlibs.
@ -94,7 +94,7 @@ APICFLAGS?= -k
.endif
# Platform-independent linker flags for ELF shared libraries
.if (${OBJECT_FMT} == "ELF")
.if ${OBJECT_FMT} == "ELF"
SHLIB_SOVERSION=${SHLIB_MAJOR}
SHLIB_SHFLAGS=-soname lib${LIB}.so.${SHLIB_SOVERSION}
SHLIB_LDSTARTFILE= ${DESTDIR}/usr/lib/crtbeginS.o
@ -178,25 +178,25 @@ CFLAGS+= ${COPTS}
@${LD} -x -r ${.TARGET}.o -o ${.TARGET}
@rm -f ${.TARGET}.o
.if defined(NOPIC) || (defined(LDSTATIC) && ${LDSTATIC} != "") \
|| !defined(NOLINKLIB)
.if ${MKPIC} == "no" || (defined(LDSTATIC) && ${LDSTATIC} != "") \
|| ${MKLINKLIB} != "no"
_LIBS=lib${LIB}.a
.else
_LIBS=
.endif
.if !defined(NOPROFILE) && !defined(NOLINKLIB)
.if ${MKPROFILE} != "no" && ${MKLINKLIB} != "no"
_LIBS+=lib${LIB}_p.a
.endif
.if !defined(NOPIC)
.if ${MKPIC} != "no"
_LIBS+=lib${LIB}_pic.a
.if defined(SHLIB_MAJOR) && defined(SHLIB_MINOR)
_LIBS+=lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}
.endif
.endif
.if !defined(NOLINT) && !defined(NOLINKLIB)
.if ${MKLINT} != "no" && ${MKLINKLIB} != "no"
_LIBS+=llib-l${LIB}.ln
.endif
@ -239,7 +239,7 @@ lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}: lib${LIB}_pic.a ${DPADD} \
${SHLIB_LDSTARTFILE} \
--whole-archive lib${LIB}_pic.a --no-whole-archive ${LDADD} \
${SHLIB_LDENDFILE}
.if (${OBJECT_FMT} == "ELF")
.if ${OBJECT_FMT} == "ELF"
rm -f lib${LIB}.so.${SHLIB_MAJOR}
ln -s lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
lib${LIB}.so.${SHLIB_MAJOR}
@ -271,10 +271,10 @@ afterdepend: .depend
.endif
.if !target(libinstall)
# Make sure it gets defined, in case NOPIC && NOLINKLIB are defined
# Make sure it gets defined, in case MKPIC==no && MKLINKLIB==no
libinstall::
.if !defined(NOLINKLIB)
.if ${MKLINKLIB} != "no"
libinstall:: ${DESTDIR}${LIBDIR}/lib${LIB}.a
.if !defined(UPDATE)
.PHONY: ${DESTDIR}${LIBDIR}/lib${LIB}.a
@ -287,7 +287,7 @@ ${DESTDIR}${LIBDIR}/lib${LIB}.a: .MADE
${DESTDIR}${LIBDIR}/lib${LIB}.a: lib${LIB}.a __archiveinstall
.endif
.if !defined(NOPROFILE) && !defined(NOLINKLIB)
.if ${MKPROFILE} != "no" && ${MKLINKLIB} != "no"
libinstall:: ${DESTDIR}${LIBDIR}/lib${LIB}_p.a
.if !defined(UPDATE)
.PHONY: ${DESTDIR}${LIBDIR}/lib${LIB}_p.a
@ -300,7 +300,7 @@ ${DESTDIR}${LIBDIR}/lib${LIB}_p.a: .MADE
${DESTDIR}${LIBDIR}/lib${LIB}_p.a: lib${LIB}_p.a __archiveinstall
.endif
.if !defined(NOPIC) && !defined(NOPICINSTALL) && !defined(NOLINKLIB)
.if ${MKPIC} != "no" && ${MKPICINSTALL} != "no" && ${MKLINKLIB} != "no"
libinstall:: ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a
.if !defined(UPDATE)
.PHONY: ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a
@ -313,7 +313,7 @@ ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a: .MADE
${DESTDIR}${LIBDIR}/lib${LIB}_pic.a: lib${LIB}_pic.a __archiveinstall
.endif
.if !defined(NOPIC) && defined(SHLIB_MAJOR) && defined(SHLIB_MINOR)
.if ${MKPIC} != "no" && defined(SHLIB_MAJOR) && defined(SHLIB_MINOR)
libinstall:: ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}
.if !defined(UPDATE)
.PHONY: ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}
@ -326,22 +326,22 @@ ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}: .MADE
${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}: lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}
${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o ${LIBOWN} -g ${LIBGRP} \
-m ${LIBMODE} ${.ALLSRC} ${.TARGET}
.if (${OBJECT_FMT} == "a.out" && !defined(DESTDIR))
.if ${OBJECT_FMT} == "a.out" && !defined(DESTDIR)
/sbin/ldconfig -m ${LIBDIR}
.endif
.if (${OBJECT_FMT} == "ELF")
.if ${OBJECT_FMT} == "ELF"
rm -f ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}
ln -s lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}
rm -f ${DESTDIR}${LIBDIR}/lib${LIB}.so
.if !defined(NOLINKLIB)
.if ${MKLINKLIB} != "no"
ln -s lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
${DESTDIR}${LIBDIR}/lib${LIB}.so
.endif
.endif
.endif
.if !defined(NOLINT) && !defined(NOLINKLIB)
.if ${MKLINT} != "no" && ${MKLINKLIB} != "no"
libinstall:: ${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln
.if !defined(UPDATE)
.PHONY: ${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln

View File

@ -1,4 +1,4 @@
# $NetBSD: bsd.man.mk,v 1.42 1999/02/04 11:58:31 christos Exp $
# $NetBSD: bsd.man.mk,v 1.43 1999/02/12 01:10:07 lukem Exp $
# @(#)bsd.man.mk 8.1 (Berkeley) 6/8/93
.if !target(__initialized__)
@ -12,7 +12,7 @@ __initialized__:
.endif
.PHONY: catinstall maninstall catpages manpages catlinks manlinks cleanman
.if !defined(NOMAN) && !defined(NOSHARE)
.if ${MKMAN} != "no" && ${MKSHARE} != "no"
realinstall: ${MANINSTALL}
.endif
cleandir distclean: cleanman
@ -72,7 +72,7 @@ __installpage: .USE
# Rules for cat'ed man page installation
.if defined(CATPAGES) && !empty(CATPAGES)
.if defined(CATPAGES) && !empty(CATPAGES) && ${MKCATPAGES} != "no"
. for P in ${CATPAGES}
catpages:: ${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P:T:R}.0${MCOMPRESSSUFFIX}
@ -105,6 +105,7 @@ ${DESTDIR}${MANDIR}/man${P:T:E}${MANSUBDIR}/${P}${MCOMPRESSSUFFIX}: ${P} __insta
manpages::
.endif
.if ${MKCATPAGES} != "no"
catlinks: catpages
.if defined(MLINKS) && !empty(MLINKS)
@set ${MLINKS}; \
@ -123,6 +124,9 @@ catlinks: catpages
fi; \
done
.endif
.else
catlinks:
.endif
manlinks: manpages
.if defined(MLINKS) && !empty(MLINKS)
@ -144,7 +148,7 @@ manlinks: manpages
.endif
.if defined(CATPAGES)
.if !defined(NOMAN) && !defined(NOSHARE)
.if ${MKMAN} != "no" && ${MKSHARE} != "no" && ${MKCATPAGES} != "no"
all: ${CATPAGES}
.else
all:

View File

@ -1,4 +1,4 @@
# $NetBSD: bsd.nls.mk,v 1.15 1999/02/04 11:58:31 christos Exp $
# $NetBSD: bsd.nls.mk,v 1.16 1999/02/12 01:10:07 lukem Exp $
.if !target(__initialized__)
__initialized__:
@ -9,7 +9,7 @@ __initialized__:
.MAIN: all
.endif
.PHONY: cleannls nlsinstall
.if !defined(NONLS) && !defined(NOSHARE)
.if ${MKNLS} != "no" && ${MKSHARE} != "no"
realinstall: nlsinstall
.endif
cleandir distclean: cleannls
@ -33,7 +33,7 @@ NLSNAME=lib${LIB}
.endif
.if defined(NLSALL)
.if !defined(NONLS) && !defined(NOSHARE)
.if ${MKNLS} != "no" && ${MKSHARE} != "no"
all: ${NLSALL}
.endif

View File

@ -1,6 +1,6 @@
# $NetBSD: bsd.obj.mk,v 1.15 1998/08/27 20:33:45 tv Exp $
# $NetBSD: bsd.obj.mk,v 1.16 1999/02/12 01:10:07 lukem Exp $
.if defined(NOOBJ)
.if ${MKOBJ} == "no"
obj:
.else

View File

@ -1,4 +1,4 @@
# $NetBSD: bsd.own.mk,v 1.115 1999/02/11 13:25:42 tv Exp $
# $NetBSD: bsd.own.mk,v 1.116 1999/02/12 01:10:07 lukem Exp $
.if !defined(_BSD_OWN_MK_)
_BSD_OWN_MK_=1
@ -80,27 +80,27 @@ STRIPFLAG?= -s
# XXX The next two are temporary until the transition to UVM is complete.
# Systems on which UVM is the standard VM system.
.if (${MACHINE} != "pica")
.if ${MACHINE} != "pica"
UVM?= yes
.endif
# Systems that use UVM's new pmap interface.
.if (${MACHINE} == "alpha") || \
(${MACHINE} == "i386") || \
(${MACHINE} == "pc532") || \
(${MACHINE} == "vax")
.if ${MACHINE} == "alpha" || \
${MACHINE} == "i386" || \
${MACHINE} == "pc532" || \
${MACHINE} == "vax"
PMAP_NEW?= yes
.endif
# The sparc64 port is incomplete.
.if (${MACHINE_ARCH} == "sparc64")
.if ${MACHINE_ARCH} == "sparc64"
NOPROFILE=1
NOPIC=1
NOLINT=1
.endif
# The PowerPC port is incomplete.
.if (${MACHINE_ARCH} == "powerpc")
.if ${MACHINE_ARCH} == "powerpc"
NOPROFILE=
.endif
@ -110,10 +110,10 @@ NOPROFILE=
# OBJECT_FMT: currently either "ELF" or "a.out".
# SHLIB_TYPE: "ELF" or "a.out" or "" to force static libraries.
#
.if (${MACHINE_ARCH} == "alpha") || \
(${MACHINE_ARCH} == "mips") || \
(${MACHINE_ARCH} == "powerpc") || \
(${MACHINE_ARCH} == "sparc64")
.if ${MACHINE_ARCH} == "alpha" || \
${MACHINE_ARCH} == "mips" || \
${MACHINE_ARCH} == "powerpc" || \
${MACHINE_ARCH} == "sparc64"
OBJECT_FMT?=ELF
.else
OBJECT_FMT?=a.out
@ -133,13 +133,13 @@ GNU_ARCH.powerpc=powerpc
GNU_ARCH.sparc=sparc
GNU_ARCH.sparc64=sparc
GNU_ARCH.vax=vax
.if (${MACHINE_ARCH} == "mips")
.if ${MACHINE_ARCH} == "mips"
.INIT:
@echo Must set MACHINE_ARCH to one of mipseb or mipsel
@false
.endif
.if (${MACHINE_ARCH} == "sparc64")
.if ${MACHINE_ARCH} == "sparc64"
MACHINE_GNU_ARCH=${MACHINE_ARCH}
.else
MACHINE_GNU_ARCH=${GNU_ARCH.${MACHINE_ARCH}}
@ -155,7 +155,7 @@ TARGETS+= all clean cleandir depend distclean includes install lint obj \
# this is used by bsd.pkg.mk to stop "install" being defined
NEED_OWN_INSTALL_TARGET?= yes
.if (${NEED_OWN_INSTALL_TARGET} == "yes")
.if ${NEED_OWN_INSTALL_TARGET} == "yes"
.if !target(install)
install: .NOTMAIN beforeinstall subdir-install realinstall afterinstall
beforeinstall: .NOTMAIN
@ -165,4 +165,75 @@ afterinstall: .NOTMAIN subdir-install realinstall
.endif
.endif
# Define MKxxx variables (which are either yes or no) for users
# to set in /etc/mk.conf and override on the make commandline.
# These should be tested with `== "no"' or `!= "no"'.
# The NOxxx variables should only be used by Makefiles.
#
MKCATPAGES?=yes
.if defined(NODOC)
MKDOC=no
#.elif !defined(MKDOC)
#MKDOC=yes
.else
MKDOC?=yes
.endif
.if defined(NOLINKLIB)
MKLINKLIB=no
.else
MKLINKLIB?=yes
.endif
.if defined(NOLINT)
MKLINT=no
.else
MKLINT?=yes
.endif
.if defined(NOMAN)
MKMAN=no
.else
MKMAN?=yes
.endif
.if defined(NONLS)
MKNLS=no
.else
MKNLS?=yes
.endif
.if defined(NOOBJ)
MKOBJ=no
.else
MKOBJ?=yes
.endif
.if defined(NOPIC)
MKPIC=no
.else
MKPIC?=yes
.endif
.if defined(NOPICINSTALL)
MKPICINSTALL=no
.else
MKPICINSTALL?=yes
.endif
.if defined(NOPROFILE)
MKPROFILE=no
.else
MKPROFILE?=yes
.endif
.if defined(NOSHARE)
MKSHARE=no
.else
MKSHARE?=yes
.endif
.endif # _BSD_OWN_MK_

View File

@ -1,4 +1,4 @@
# $NetBSD: bsd.prog.mk,v 1.99 1999/02/10 20:55:56 tv Exp $
# $NetBSD: bsd.prog.mk,v 1.100 1999/02/12 01:10:08 lukem Exp $
# @(#)bsd.prog.mk 8.2 (Berkeley) 4/2/94
.if !target(__initialized__)
@ -18,7 +18,7 @@ clean cleandir distclean: cleanprog
CFLAGS+= ${COPTS}
# ELF platforms depend on crtbegin.o and crtend.o
.if (${OBJECT_FMT} == "ELF")
.if ${OBJECT_FMT} == "ELF"
LIBCRTBEGIN?= ${DESTDIR}/usr/lib/crtbegin.o
LIBCRTEND?= ${DESTDIR}/usr/lib/crtend.o
.else
@ -111,7 +111,7 @@ ${PROG}: ${LIBCRT0} ${DPSRCS} ${OBJS} ${LIBC} ${LIBCRTBEGIN} ${LIBCRTEND} ${DPAD
.endif # defined(DESTDIR)
.endif # defined(OBJS) && !empty(OBJS)
.if !defined(MAN)
.if !defined(MAN)
MAN= ${PROG}.1
.endif # !defined(MAN)
.endif # defined(PROG)

View File

@ -1,4 +1,4 @@
# $NetBSD: sys.mk,v 1.51 1999/02/06 02:07:55 simonb Exp $
# $NetBSD: sys.mk,v 1.52 1999/02/12 01:10:08 lukem Exp $
# @(#)sys.mk 8.2 (Berkeley) 3/21/94
unix?= We run NetBSD.
@ -19,11 +19,11 @@ COMPILE.S?= ${CC} ${AFLAGS} ${CPPFLAGS} -c -traditional-cpp
LINK.S?= ${CC} ${AFLAGS} ${CPPFLAGS} ${LDFLAGS}
CC?= cc
.if (${MACHINE_ARCH} == "arm32") || \
(${MACHINE_ARCH} == "i386") || \
(${MACHINE_ARCH} == "m68k") || \
(${MACHINE_ARCH} == "mips") || \
(${MACHINE_ARCH} == "sparc")
.if ${MACHINE_ARCH} == "arm32" || \
${MACHINE_ARCH} == "i386" || \
${MACHINE_ARCH} == "m68k" || \
${MACHINE_ARCH} == "mips" || \
${MACHINE_ARCH} == "sparc"
CFLAGS?= -O2
.else
CFLAGS?= -O