2001-08-26 10:00:30 +04:00
|
|
|
# $NetBSD: bsd.own.mk,v 1.177 2001/08/26 06:00:30 eeh Exp $
|
1998-04-13 16:03:07 +04:00
|
|
|
|
|
|
|
.if !defined(_BSD_OWN_MK_)
|
|
|
|
_BSD_OWN_MK_=1
|
1996-04-13 06:08:08 +04:00
|
|
|
|
2001-08-14 09:55:27 +04:00
|
|
|
MAKECONF?= /etc/mk.conf
|
|
|
|
|
|
|
|
.if exists(${MAKECONF})
|
1996-04-13 06:08:08 +04:00
|
|
|
.include "${MAKECONF}"
|
|
|
|
.endif
|
1994-09-28 18:59:28 +03:00
|
|
|
|
|
|
|
# Defining `SKEY' causes support for S/key authentication to be compiled in.
|
|
|
|
SKEY= yes
|
1993-11-07 12:45:04 +03:00
|
|
|
|
|
|
|
# where the system object and source trees are kept; can be configurable
|
|
|
|
# by the user in case they want them in ~/foosrc and ~/fooobj, for example
|
|
|
|
BSDSRCDIR?= /usr/src
|
|
|
|
BSDOBJDIR?= /usr/obj
|
1993-04-10 00:05:56 +04:00
|
|
|
|
1998-02-26 11:46:09 +03:00
|
|
|
BINGRP?= wheel
|
|
|
|
BINOWN?= root
|
1993-04-10 00:05:56 +04:00
|
|
|
BINMODE?= 555
|
1993-08-16 00:42:39 +04:00
|
|
|
NONBINMODE?= 444
|
1993-04-10 00:05:56 +04:00
|
|
|
|
1995-06-02 06:52:04 +04:00
|
|
|
# Define MANZ to have the man pages compressed (gzip)
|
|
|
|
#MANZ= 1
|
|
|
|
|
1997-03-25 00:54:12 +03:00
|
|
|
MANDIR?= /usr/share/man
|
1998-02-26 11:46:09 +03:00
|
|
|
MANGRP?= wheel
|
|
|
|
MANOWN?= root
|
1993-08-16 00:42:39 +04:00
|
|
|
MANMODE?= ${NONBINMODE}
|
1997-10-03 23:20:56 +04:00
|
|
|
MANINSTALL?= maninstall catinstall
|
1993-04-10 00:05:56 +04:00
|
|
|
|
1999-02-11 16:25:42 +03:00
|
|
|
INFODIR?= /usr/share/info
|
|
|
|
INFOGRP?= wheel
|
|
|
|
INFOOWN?= root
|
|
|
|
INFOMODE?= ${NONBINMODE}
|
|
|
|
|
1993-08-16 00:42:39 +04:00
|
|
|
LIBDIR?= /usr/lib
|
|
|
|
LINTLIBDIR?= /usr/libdata/lint
|
|
|
|
LIBGRP?= ${BINGRP}
|
|
|
|
LIBOWN?= ${BINOWN}
|
|
|
|
LIBMODE?= ${NONBINMODE}
|
1993-04-10 00:05:56 +04:00
|
|
|
|
2000-04-24 18:22:05 +04:00
|
|
|
DOCDIR?= /usr/share/doc
|
2000-05-02 15:44:20 +04:00
|
|
|
HTMLDOCDIR?= /usr/share/doc/html
|
1998-02-26 11:46:09 +03:00
|
|
|
DOCGRP?= wheel
|
|
|
|
DOCOWN?= root
|
2000-04-24 18:22:05 +04:00
|
|
|
DOCMODE?= ${NONBINMODE}
|
1993-08-16 00:42:39 +04:00
|
|
|
|
1995-02-21 00:26:33 +03:00
|
|
|
NLSDIR?= /usr/share/nls
|
1998-02-26 11:46:09 +03:00
|
|
|
NLSGRP?= wheel
|
|
|
|
NLSOWN?= root
|
1995-02-21 00:26:33 +03:00
|
|
|
NLSMODE?= ${NONBINMODE}
|
|
|
|
|
1996-08-28 02:15:52 +04:00
|
|
|
KMODDIR?= /usr/lkm
|
1998-02-26 11:46:09 +03:00
|
|
|
KMODGRP?= wheel
|
|
|
|
KMODOWN?= root
|
1996-08-28 02:15:52 +04:00
|
|
|
KMODMODE?= ${NONBINMODE}
|
|
|
|
|
2001-02-01 22:29:59 +03:00
|
|
|
LOCALEDIR?= /usr/share/locale
|
|
|
|
LOCALEGRP?= wheel
|
|
|
|
LOCALEOWN?= root
|
|
|
|
LOCALEMODE?= ${NONBINMODE}
|
|
|
|
|
1993-08-16 00:42:39 +04:00
|
|
|
COPY?= -c
|
2001-08-14 10:47:24 +04:00
|
|
|
PRESERVE?= ${UPDATE:D-p}
|
1999-08-16 17:57:03 +04:00
|
|
|
RENAME?= -r
|
2001-08-14 10:47:24 +04:00
|
|
|
INSTPRIV?= ${UNPRIVILEGED:D-U}
|
1997-04-17 10:34:15 +04:00
|
|
|
STRIPFLAG?= -s
|
1993-07-10 07:56:10 +04:00
|
|
|
|
|
|
|
# Define SYS_INCLUDE to indicate whether you want symbolic links to the system
|
|
|
|
# source (``symlinks''), or a separate copy (``copies''); (latter useful
|
|
|
|
# in environments where it's not possible to keep /sys publicly readable)
|
1998-08-08 00:31:56 +04:00
|
|
|
#SYS_INCLUDE= symlinks
|
1993-10-04 22:52:53 +03:00
|
|
|
|
2000-08-03 00:04:45 +04:00
|
|
|
# The sh3 port is incomplete.
|
2001-01-04 11:32:02 +03:00
|
|
|
.if ${MACHINE_ARCH} == "sh3eb" || ${MACHINE_ARCH} == "sh3el"
|
2000-08-03 00:04:45 +04:00
|
|
|
NOLINT=1
|
|
|
|
NOPROFILE=1
|
|
|
|
OBJECT_FMT?=COFF
|
|
|
|
NOPIC?=1
|
|
|
|
.endif
|
|
|
|
|
2001-08-26 10:00:30 +04:00
|
|
|
# Profiling and linting is also off on the x86_64 port at the moment.
|
2001-08-19 18:24:44 +04:00
|
|
|
# The x86_64 port is incomplete.
|
|
|
|
.if ${MACHINE_ARCH} == "x86_64"
|
1998-11-29 01:46:16 +03:00
|
|
|
NOPROFILE=1
|
|
|
|
NOLINT=1
|
1998-11-25 07:04:13 +03:00
|
|
|
.endif
|
|
|
|
|
2001-07-13 16:44:22 +04:00
|
|
|
# The m68000 port is incomplete.
|
|
|
|
.if ${MACHINE_ARCH} == "m68000"
|
|
|
|
NOLINT=1
|
|
|
|
NOPROFILE=1
|
|
|
|
NOPIC?=1
|
|
|
|
.endif
|
|
|
|
|
1998-02-23 13:09:31 +03:00
|
|
|
# Data-driven table using make variables to control how
|
|
|
|
# toolchain-dependent targets and shared libraries are built
|
|
|
|
# for different platforms and object formats.
|
|
|
|
# OBJECT_FMT: currently either "ELF" or "a.out".
|
|
|
|
# SHLIB_TYPE: "ELF" or "a.out" or "" to force static libraries.
|
|
|
|
#
|
1999-02-12 04:10:06 +03:00
|
|
|
.if ${MACHINE_ARCH} == "alpha" || \
|
1999-02-24 17:42:36 +03:00
|
|
|
${MACHINE_ARCH} == "mipsel" || ${MACHINE_ARCH} == "mipseb" || \
|
1999-02-12 04:10:06 +03:00
|
|
|
${MACHINE_ARCH} == "powerpc" || \
|
1999-06-06 13:25:38 +04:00
|
|
|
${MACHINE_ARCH} == "sparc" || \
|
1999-07-05 13:13:04 +04:00
|
|
|
${MACHINE_ARCH} == "sparc64" || \
|
2001-06-19 05:37:44 +04:00
|
|
|
${MACHINE_ARCH} == "x86_64" || \
|
2000-12-07 11:35:15 +03:00
|
|
|
${MACHINE_ARCH} == "i386" || \
|
2001-07-13 16:44:22 +04:00
|
|
|
${MACHINE_ARCH} == "m68000" || \
|
2001-07-23 21:13:44 +04:00
|
|
|
${MACHINE_ARCH} == "arm" || \
|
2001-05-13 02:38:04 +04:00
|
|
|
${MACHINE} == "next68k" || \
|
2001-02-22 10:12:55 +03:00
|
|
|
${MACHINE} == "sun3" || \
|
2001-01-02 07:34:37 +03:00
|
|
|
${MACHINE} == "mvme68k" || \
|
2001-03-19 20:01:12 +03:00
|
|
|
${MACHINE} == "hp300" || \
|
2001-07-21 20:48:49 +04:00
|
|
|
${MACHINE} == "news68k" || \
|
2001-08-25 22:39:24 +04:00
|
|
|
${MACHINE} == "cesfic" || \
|
2001-07-21 20:48:49 +04:00
|
|
|
${MACHINE} == "arm26"
|
1998-02-23 13:09:31 +03:00
|
|
|
OBJECT_FMT?=ELF
|
|
|
|
.else
|
|
|
|
OBJECT_FMT?=a.out
|
|
|
|
.endif
|
|
|
|
|
2001-06-19 05:37:44 +04:00
|
|
|
.if ${MACHINE_ARCH} == "x86_64"
|
|
|
|
CFLAGS+=-Wno-format -fno-builtin
|
|
|
|
.endif
|
|
|
|
|
1999-06-10 04:38:49 +04:00
|
|
|
# Location of the file that contains the major and minor numbers of the
|
|
|
|
# version of a shared library. If this file exists a shared library
|
|
|
|
# will be built by <bsd.lib.mk>.
|
|
|
|
SHLIB_VERSION_FILE?= ${.CURDIR}/shlib_version
|
|
|
|
|
1998-05-22 20:43:42 +04:00
|
|
|
# GNU sources and packages sometimes see architecture names differently.
|
2001-07-21 20:56:07 +04:00
|
|
|
GNU_ARCH.arm26=arm
|
1998-05-22 20:43:42 +04:00
|
|
|
GNU_ARCH.arm32=arm
|
2001-01-04 13:29:11 +03:00
|
|
|
GNU_ARCH.sh3eb=sh
|
|
|
|
GNU_ARCH.sh3el=sh
|
2001-08-14 13:31:42 +04:00
|
|
|
MACHINE_GNU_ARCH=${GNU_ARCH.${MACHINE_ARCH}:U${MACHINE_ARCH}}
|
2001-06-02 05:53:29 +04:00
|
|
|
|
|
|
|
# In order to identify NetBSD to GNU packages, we sometimes need
|
|
|
|
# an "elf" tag for historically a.out platforms.
|
2001-06-02 06:22:35 +04:00
|
|
|
.if ${OBJECT_FMT} == "ELF" && \
|
2001-07-23 21:13:44 +04:00
|
|
|
(${MACHINE_ARCH} == "arm" || \
|
|
|
|
${MACHINE_ARCH} == "i386" || \
|
2001-06-02 05:53:29 +04:00
|
|
|
${MACHINE_ARCH} == "m68k" || \
|
2001-07-23 21:13:44 +04:00
|
|
|
${MACHINE_ARCH} == "sparc" || \
|
|
|
|
${MACHINE_ARCH} == "vax")
|
2001-08-14 13:31:42 +04:00
|
|
|
MACHINE_GNU_PLATFORM=${MACHINE_GNU_ARCH}--netbsdelf
|
2001-06-02 05:53:29 +04:00
|
|
|
.else
|
2001-08-14 13:31:42 +04:00
|
|
|
MACHINE_GNU_PLATFORM=${MACHINE_GNU_ARCH}--netbsd
|
2001-06-02 05:53:29 +04:00
|
|
|
.endif
|
2001-01-08 10:28:07 +03:00
|
|
|
|
|
|
|
# CPU model, derived from MACHINE_ARCH
|
2001-07-13 16:44:22 +04:00
|
|
|
MACHINE_CPU= ${MACHINE_ARCH:C/mipse[bl]/mips/:S/arm26/arm/:S/arm32/arm/:C/sh3e[bl]/sh3/:S/m68000/m68k/}
|
2001-01-08 10:28:07 +03:00
|
|
|
|
2001-08-14 13:31:42 +04:00
|
|
|
.if ${MACHINE_ARCH} == "mips" || ${MACHINE_ARCH} == "sh3"
|
2001-01-05 03:25:59 +03:00
|
|
|
.BEGIN:
|
2001-08-14 13:31:42 +04:00
|
|
|
@echo Must set MACHINE_ARCH to one of ${MACHINE_ARCH}eb or ${MACHINE_ARCH}el
|
2001-01-04 18:17:41 +03:00
|
|
|
@false
|
|
|
|
.endif
|
1998-11-29 01:46:16 +03:00
|
|
|
|
2001-06-01 21:49:32 +04:00
|
|
|
TARGETS+= all clean cleandir depend dependall includes \
|
2000-09-22 09:37:57 +04:00
|
|
|
install lint obj regress tags html installhtml cleanhtml
|
1999-09-14 05:31:11 +04:00
|
|
|
.PHONY: all clean cleandir depend dependall distclean includes \
|
|
|
|
install lint obj regress tags beforedepend afterdepend \
|
2000-09-22 09:37:57 +04:00
|
|
|
beforeinstall afterinstall realinstall realdepend realall \
|
|
|
|
html installhtml cheanhtml
|
1997-05-07 19:53:28 +04:00
|
|
|
|
1998-04-03 13:56:00 +04:00
|
|
|
# set NEED_OWN_INSTALL_TARGET, if it's not already set, to yes
|
1999-02-07 20:21:09 +03:00
|
|
|
# this is used by bsd.pkg.mk to stop "install" being defined
|
1998-01-15 12:37:25 +03:00
|
|
|
NEED_OWN_INSTALL_TARGET?= yes
|
|
|
|
|
1999-02-12 04:10:06 +03:00
|
|
|
.if ${NEED_OWN_INSTALL_TARGET} == "yes"
|
1997-10-23 16:44:28 +04:00
|
|
|
.if !target(install)
|
1997-10-27 22:41:05 +03:00
|
|
|
install: .NOTMAIN beforeinstall subdir-install realinstall afterinstall
|
|
|
|
beforeinstall: .NOTMAIN
|
|
|
|
subdir-install: .NOTMAIN beforeinstall
|
|
|
|
realinstall: .NOTMAIN beforeinstall
|
|
|
|
afterinstall: .NOTMAIN subdir-install realinstall
|
1997-05-07 19:53:28 +04:00
|
|
|
.endif
|
2000-01-22 22:31:00 +03:00
|
|
|
all: .NOTMAIN realall subdir-all
|
|
|
|
subdir-all: .NOTMAIN
|
|
|
|
realall: .NOTMAIN
|
|
|
|
depend: .NOTMAIN realdepend subdir-depend
|
|
|
|
subdir-depend: .NOTMAIN
|
|
|
|
realdepend: .NOTMAIN
|
2001-06-01 21:49:32 +04:00
|
|
|
distclean: .NOTMAIN cleandir
|
2001-08-14 11:02:13 +04:00
|
|
|
cleandir: .NOTMAIN clean
|
2000-01-22 22:53:53 +03:00
|
|
|
.endif
|
1998-04-13 16:03:07 +04:00
|
|
|
|
2001-08-15 21:50:15 +04:00
|
|
|
PRINTOBJDIR= printf "xxx: .MAKE\n\t@echo \$${.OBJDIR}\n" | ${MAKE} -B -s -f-
|
2000-12-06 06:21:33 +03:00
|
|
|
|
1999-02-12 04:10:06 +03:00
|
|
|
# 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
|
|
|
|
|
1999-02-12 18:01:08 +03:00
|
|
|
MKINFO?=yes
|
|
|
|
|
1999-02-12 04:10:06 +03:00
|
|
|
.if defined(NOLINKLIB)
|
|
|
|
MKLINKLIB=no
|
|
|
|
.else
|
|
|
|
MKLINKLIB?=yes
|
|
|
|
.endif
|
1999-02-12 15:38:44 +03:00
|
|
|
.if ${MKLINKLIB} == "no"
|
|
|
|
MKPICINSTALL=no
|
|
|
|
MKPROFILE=no
|
|
|
|
.endif
|
1999-02-12 04:10:06 +03:00
|
|
|
|
|
|
|
.if defined(NOLINT)
|
|
|
|
MKLINT=no
|
|
|
|
.else
|
|
|
|
MKLINT?=yes
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.if defined(NOMAN)
|
|
|
|
MKMAN=no
|
|
|
|
.else
|
|
|
|
MKMAN?=yes
|
|
|
|
.endif
|
1999-02-12 15:38:44 +03:00
|
|
|
.if ${MKMAN} == "no"
|
|
|
|
MKCATPAGES=no
|
|
|
|
.endif
|
1999-02-12 04:10:06 +03:00
|
|
|
|
|
|
|
.if defined(NONLS)
|
|
|
|
MKNLS=no
|
|
|
|
.else
|
|
|
|
MKNLS?=yes
|
|
|
|
.endif
|
|
|
|
|
1999-11-30 19:16:41 +03:00
|
|
|
#
|
|
|
|
# MKOBJDIRS controls whether object dirs are created during "make build".
|
|
|
|
# MKOBJ controls whether the "make obj" rule does anything.
|
|
|
|
#
|
1999-02-12 04:10:06 +03:00
|
|
|
.if defined(NOOBJ)
|
|
|
|
MKOBJ=no
|
1999-11-30 19:16:41 +03:00
|
|
|
MKOBJDIRS=no
|
1999-02-12 04:10:06 +03:00
|
|
|
.else
|
|
|
|
MKOBJ?=yes
|
1999-11-30 19:16:41 +03:00
|
|
|
MKOBJDIRS?=no
|
1999-02-12 04:10:06 +03:00
|
|
|
.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
|
1999-02-12 15:38:44 +03:00
|
|
|
.if ${MKSHARE} == "no"
|
|
|
|
MKCATPAGES=no
|
|
|
|
MKDOC=no
|
1999-02-12 18:01:08 +03:00
|
|
|
MKINFO=no
|
1999-02-12 15:38:44 +03:00
|
|
|
MKMAN=no
|
|
|
|
MKNLS=no
|
|
|
|
.endif
|
1999-02-12 04:10:06 +03:00
|
|
|
|
2000-06-23 10:01:10 +04:00
|
|
|
.if defined(NOCRYPTO)
|
|
|
|
MKCRYPTO=no
|
|
|
|
.else
|
|
|
|
MKCRYPTO?=yes
|
|
|
|
.endif
|
|
|
|
|
2000-09-30 04:23:28 +04:00
|
|
|
MKCRYPTO_IDEA?=no
|
2000-06-23 10:01:10 +04:00
|
|
|
|
2000-09-30 04:23:28 +04:00
|
|
|
MKCRYPTO_RC5?=no
|
2000-06-23 10:01:10 +04:00
|
|
|
|
|
|
|
.if defined(NOKERBEROS) || (${MKCRYPTO} == "no")
|
|
|
|
MKKERBEROS=no
|
|
|
|
.else
|
|
|
|
MKKERBEROS?=yes
|
|
|
|
.endif
|
1999-02-12 04:10:06 +03:00
|
|
|
|
2001-06-18 21:04:44 +04:00
|
|
|
MKSOFTFLOAT?=no
|
|
|
|
|
1998-04-13 16:03:07 +04:00
|
|
|
.endif # _BSD_OWN_MK_
|