# $NetBSD: NetBSD.mk,v 1.12 2005/05/03 18:30:12 jlam Exp $ # # Variable definitions for the NetBSD operating system. # Needed for 1.6.1 and earlier due to rpcgen bugs and paths .if defined(CPP) && ${CPP} == "cpp" CPP= /usr/bin/cpp .endif ECHO_N?= ${ECHO} -n PKGLOCALEDIR?= share PS?= /bin/ps RSH?= /usr/bin/rsh SU?= /usr/bin/su TYPE?= type # Shell builtin .if empty(_USE_NEW_TOOLS:M[yY][eE][sS]) 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 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_CMD?= /usr/bin/gzip -nf ${GZIP} HEAD?= /usr/bin/head HOSTNAME_CMD?= /bin/hostname ID?= /usr/bin/id .if exists(/sbin/ldconfig) LDCONFIG?= /sbin/ldconfig .else LDCONFIG?= true .endif LN?= /bin/ln LS?= /bin/ls M4?= /usr/bin/m4 MAIL_CMD?= /usr/bin/mail 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 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 TAIL?= /usr/bin/tail .if exists(/bin/tar) TAR?= /bin/tar .else TAR?= /usr/bin/tar .endif TEE?= /usr/bin/tee TEST?= test # Shell builtin TOUCH?= /usr/bin/touch TR?= /usr/bin/tr TRUE?= true # Shell builtin TSORT?= /usr/bin/tsort WC?= /usr/bin/wc XARGS?= /usr/bin/xargs .endif .if exists(/usr/sbin/user) USERADD?= /usr/sbin/useradd GROUPADD?= /usr/sbin/groupadd .else USERADD?= ${LOCALBASE}/sbin/useradd GROUPADD?= ${LOCALBASE}/sbin/groupadd _USER_DEPENDS= user>=20000313:../../sysutils/user .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 NOLOGIN?= /sbin/nologin .if exists(${LOCALBASE}/sbin/pkg_info) PKG_TOOLS_BIN?= ${LOCALBASE}/sbin .else PKG_TOOLS_BIN?= /usr/sbin .endif 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_MANNEWSUFFIX= 0 IMAKE_MAN_SUFFIX= 1 IMAKE_LIBMAN_SUFFIX= 3 IMAKE_KERNMAN_SUFFIX= ${IMAKE_MANNEWSUFFIX} IMAKE_FILEMAN_SUFFIX= 5 IMAKE_MISCMAN_SUFFIX= ${IMAKE_MANNEWSUFFIX} IMAKE_MAN_DIR= ${IMAKE_MAN_SOURCE_PATH}1 IMAKE_LIBMAN_DIR= ${IMAKE_MAN_SOURCE_PATH}3 IMAKE_KERNMAN_DIR= ${IMAKE_MAN_SOURCE_PATH}4 IMAKE_FILEMAN_DIR= ${IMAKE_MAN_SOURCE_PATH}5 IMAKE_MISCMAN_DIR= ${IMAKE_MAN_SOURCE_PATH}7 _DO_SHLIB_CHECKS= yes # fixup PLIST for shared libs/run ldconfig _IMAKE_MAKE= ${MAKE} # program which gets invoked by imake .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_PTHREAD_AUTO= no # -lpthread needed for pthreads _OPSYS_SHLIB_TYPE= ELF/a.out # shared lib type _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 _STRIPFLAG_CC?= ${_INSTALL_UNSTRIPPED:D:U-s} # cc(1) option to strip _STRIPFLAG_INSTALL?= ${_INSTALL_UNSTRIPPED:D:U-s} # install(1) option to strip .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 # check for maximum command line length and set it in configure's environment, # to avoid a test required by the libtool script that takes forever. _OPSYS_MAX_CMDLEN_CMD= /sbin/sysctl -n kern.argmax # If games are to be installed setgid, then SETGIDGAME is set to 'yes' # (it defaults to 'no' as per bsd.pkg.defaults.mk). # Set the group and mode to meaningful values in that case (defaults to # BINOWN, BINGRP and BINMODE as per bsd.pkg.defaults.mk). .if !(empty(SETGIDGAME:M[yY][eE][sS])) GAMEOWN= games GAMEGRP= games GAMEMODE= 2555 .endif