1afb6de11e
is "-Wl,--whole-archive -lgcc -Wl,--no-whole-archive" on NetBSD-1.5* and empty otherwise. This is needed on build of programs which dlopen() extension libraries. (Some pkgs do the libgcc linking already, but independantly of the OS version.)
182 lines
5.1 KiB
Makefile
182 lines
5.1 KiB
Makefile
# $NetBSD: defs.NetBSD.mk,v 1.49 2003/06/06 17:13:31 drochner Exp $
|
|
#
|
|
# Variable definitions for the NetBSD operating system.
|
|
|
|
AWK?= /usr/bin/awk
|
|
BASENAME?= /usr/bin/basename
|
|
CAT?= /bin/cat
|
|
CHMOD?= /bin/chmod
|
|
CHOWN?= /usr/sbin/chown
|
|
CHGRP?= /usr/bin/chgrp
|
|
CMP?= /usr/bin/cmp
|
|
CP?= /bin/cp
|
|
CUT?= /usr/bin/cut
|
|
DATE?= /bin/date
|
|
DC?= /usr/bin/dc
|
|
DIRNAME?= /usr/bin/dirname
|
|
ECHO?= echo # Shell builtin
|
|
EGREP?= /usr/bin/egrep
|
|
EXPR?= /bin/expr
|
|
FALSE?= false # Shell builtin
|
|
FGREP?= /usr/bin/fgrep
|
|
FILE_CMD?= /usr/bin/file
|
|
FIND?= /usr/bin/find
|
|
GMAKE?= ${LOCALBASE}/bin/gmake
|
|
GREP?= /usr/bin/grep
|
|
.if exists(/bin/tar)
|
|
GTAR?= /bin/tar
|
|
.else
|
|
GTAR?= /usr/bin/tar
|
|
.endif
|
|
GUNZIP_CMD?= /usr/bin/gunzip -f
|
|
GZCAT?= /usr/bin/gzcat
|
|
GZIP?= -9
|
|
GZIP_CMD?= /usr/bin/gzip -nf ${GZIP}
|
|
HEAD?= /usr/bin/head
|
|
HOSTNAME_CMD?= /bin/hostname
|
|
ID?= /usr/bin/id
|
|
LDCONFIG?= /sbin/ldconfig
|
|
LN?= /bin/ln
|
|
LS?= /bin/ls
|
|
M4?= /usr/bin/m4
|
|
MKDIR?= /bin/mkdir -p
|
|
MTREE?= /usr/sbin/mtree
|
|
MV?= /bin/mv
|
|
NICE?= /usr/bin/nice
|
|
PATCH?= /usr/bin/patch
|
|
PAX?= /bin/pax
|
|
PERL5?= ${LOCALBASE}/bin/perl
|
|
PKGLOCALEDIR?= share
|
|
PS?= /bin/ps
|
|
PWD_CMD?= /bin/pwd # needs to print physical path
|
|
RM?= /bin/rm
|
|
RMDIR?= /bin/rmdir
|
|
SED?= /usr/bin/sed
|
|
SETENV?= /usr/bin/env
|
|
SH?= /bin/sh
|
|
SHLOCK= /usr/bin/shlock
|
|
SORT?= /usr/bin/sort
|
|
SU?= /usr/bin/su
|
|
TAIL?= /usr/bin/tail
|
|
TEE?= /usr/bin/tee
|
|
TEST?= test # Shell builtin
|
|
TOUCH?= /usr/bin/touch
|
|
TR?= /usr/bin/tr
|
|
TRUE?= true # Shell builtin
|
|
TSORT?= /usr/bin/tsort
|
|
TYPE?= type # Shell builtin
|
|
WC?= /usr/bin/wc
|
|
XARGS?= /usr/bin/xargs
|
|
|
|
.if exists(/usr/sbin/user)
|
|
USERADD?= /usr/sbin/useradd
|
|
GROUPADD?= /usr/sbin/groupadd
|
|
.else
|
|
USERADD?= ${LOCALBASE}/sbin/useradd
|
|
GROUPADD?= ${LOCALBASE}/sbin/groupadd
|
|
.if defined(USE_USERADD) || defined(USE_GROUPADD)
|
|
DEPENDS+= user>=20000313:../../sysutils/user
|
|
.endif
|
|
.endif
|
|
|
|
CPP_PRECOMP_FLAGS?= # unset
|
|
DEF_UMASK?= 0022
|
|
.if ${OBJECT_FMT} == "ELF"
|
|
EXPORT_SYMBOLS_LDFLAGS?=-Wl,-E # add symbols to the dynamic symbol table
|
|
.else
|
|
EXPORT_SYMBOLS_LDFLAGS?=-Wl,--export-dynamic
|
|
.endif
|
|
MOTIF_TYPE_DEFAULT?= openmotif # default 2.0 compatible libs type
|
|
MOTIF12_TYPE_DEFAULT?= lesstif12 # default 1.2 compatible libs type
|
|
NOLOGIN?= /sbin/nologin
|
|
PKG_TOOLS_BIN?= /usr/sbin
|
|
ROOT_CMD?= ${SU} - root -c
|
|
ROOT_USER?= root
|
|
ROOT_GROUP?= wheel
|
|
ULIMIT_CMD_datasize?= ulimit -d `ulimit -H -d`
|
|
ULIMIT_CMD_stacksize?= ulimit -s `ulimit -H -s`
|
|
ULIMIT_CMD_memorysize?= ulimit -m `ulimit -H -m`
|
|
|
|
# imake installs manpages in weird places
|
|
# these values from /usr/X11R6/lib/X11/config/NetBSD.cf
|
|
IMAKE_MAN_SOURCE_PATH= man/cat
|
|
IMAKE_MAN_SUFFIX= 1
|
|
IMAKE_LIBMAN_SUFFIX= 3
|
|
IMAKE_FILEMAN_SUFFIX= 5
|
|
IMAKE_MAN_DIR= ${IMAKE_MAN_SOURCE_PATH}1
|
|
IMAKE_LIBMAN_DIR= ${IMAKE_MAN_SOURCE_PATH}3
|
|
IMAKE_FILEMAN_DIR= ${IMAKE_MAN_SOURCE_PATH}5
|
|
IMAKE_MANNEWSUFFIX= 0
|
|
|
|
_DO_SHLIB_CHECKS= yes # fixup PLIST for shared libs/run ldconfig
|
|
_IMAKE_MAKE= ${MAKE} # program which gets invoked by imake
|
|
_OPSYS_HAS_GMAKE= no # GNU make is not standard
|
|
.if exists(/usr/include/netinet6)
|
|
_OPSYS_HAS_INET6= yes # IPv6 is standard
|
|
.else
|
|
_OPSYS_HAS_INET6= no # IPv6 is not standard
|
|
.endif
|
|
_OPSYS_HAS_JAVA= no # Java is not standard
|
|
_OPSYS_HAS_MANZ= yes # MANZ controls gzipping of man pages
|
|
_OPSYS_HAS_OSSAUDIO= yes # libossaudio is available
|
|
_OPSYS_PERL_REQD= # no base version of perl required
|
|
_OPSYS_RPATH_NAME= -R # name of symbol in rpath directive to linker
|
|
_PATCH_CAN_BACKUP= yes # native patch(1) can make backups
|
|
_PATCH_BACKUP_ARG= -V simple -b # switch to patch(1) for backup suffix
|
|
_PREFORMATTED_MAN_DIR= cat # directory where catman pages are
|
|
_USE_GNU_GETTEXT= no # Don't use GNU gettext
|
|
_USE_RPATH= yes # add rpath to LDFLAGS
|
|
|
|
# flags passed to the linker to extract all symbols from static archives.
|
|
# this is GNU ld.
|
|
_OPSYS_WHOLE_ARCHIVE_FLAG= -Wl,--whole-archive
|
|
_OPSYS_NO_WHOLE_ARCHIVE_FLAG= -Wl,--no-whole-archive
|
|
|
|
# for programs which use dlopen()
|
|
# not necessary since 1.6 (shared libs are linked against libgcc_pic)
|
|
.if !empty(OS_VERSION:M1.5*)
|
|
LINK_ALL_LIBGCC_HACK= -Wl,--whole-archive -lgcc -Wl,--no-whole-archive
|
|
.endif
|
|
|
|
.if !defined(DEBUG_FLAGS)
|
|
_STRIPFLAG_CC?= -s # cc(1) option to strip
|
|
_STRIPFLAG_INSTALL?= -s # install(1) option to strip
|
|
.endif
|
|
|
|
.if (${MACHINE_ARCH} == alpha)
|
|
DEFAULT_SERIAL_DEVICE?= /dev/ttyC0
|
|
SERIAL_DEVICES?= /dev/ttyC0 \
|
|
/dev/ttyC1
|
|
.elif (${MACHINE_ARCH} == "i386")
|
|
DEFAULT_SERIAL_DEVICE?= /dev/tty00
|
|
SERIAL_DEVICES?= /dev/tty00 \
|
|
/dev/tty01
|
|
.elif (${MACHINE_ARCH} == m68k)
|
|
DEFAULT_SERIAL_DEVICE?= /dev/tty00
|
|
SERIAL_DEVICES?= /dev/tty00 \
|
|
/dev/tty01
|
|
.elif (${MACHINE_ARCH} == mipsel)
|
|
DEFAULT_SERIAL_DEVICE?= /dev/ttyC0
|
|
SERIAL_DEVICES?= /dev/ttyC0 \
|
|
/dev/ttyC1
|
|
.elif (${MACHINE_ARCH} == "sparc")
|
|
DEFAULT_SERIAL_DEVICE?= /dev/ttya
|
|
SERIAL_DEVICES?= /dev/ttya \
|
|
/dev/ttyb
|
|
.else
|
|
DEFAULT_SERIAL_DEVICE?= /dev/null
|
|
SERIAL_DEVICES?= /dev/null
|
|
.endif
|
|
|
|
# Add -mieee to CFLAGS and FFLAGS for NetBSD->=1.5V-alpha
|
|
.for __tmp__ in 1.5[V-Z] 1.5[A-Z][A-Z]* 1.[6-9]* [2-9].*
|
|
. if ${MACHINE_PLATFORM:MNetBSD-${__tmp__}-alpha} != ""
|
|
CFLAGS+= -mieee
|
|
FFLAGS+= -mieee
|
|
. endif # MACHINE_PLATFORM
|
|
.endfor # __tmp__
|
|
|
|
# check for kqueue(2) support, added in NetBSD-1.6J
|
|
.if exists(/usr/include/sys/event.h)
|
|
PKG_HAVE_KQUEUE= # defined
|
|
.endif
|