diff --git a/src/Makefile b/src/Makefile index 24e4fcc..a5b38c8 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,555 +1,106 @@ -# Variables: -# DESTDIR is the target directory for installation of the compiled -# software. It defaults to /. Note that programs are built against -# libraries installed in DESTDIR. -# MKMAN, if `no', will prevent building of manual pages. -# MKOBJDIRS, if not `no', will build object directories at -# an appropriate point in a build. -# MKSHARE, if `no', will prevent building and installing -# anything in /usr/share. -# MKUPDATE, if not `no', will avoid a `make cleandir' at the start of -# `make build', as well as having the effects listed in -# /usr/share/mk/ubix.README. -# NOCLEANDIR, if defined, will avoid a `make cleandir' at the start -# of the `make build'. -# NOINCLUDES will avoid the `make includes' usually done by `make build'. -# -# -# Targets: -# build: -# Builds a full release of NetBSD in DESTDIR, except for the -# /etc configuration files. -# If BUILD_DONE is set, this is an empty target. -# distribution: -# Builds a full release of NetBSD in DESTDIR, including the /etc -# configuration files. -# buildworld: -# As per `make distribution', except that it ensures that DESTDIR -# is not the root directory. -# installworld: -# Install the distribution from DESTDIR to INSTALLWORLDDIR (which -# defaults to the root directory). Ensures that INSTALLWORLDDIR -# is not the root directory if cross compiling. -# release: -# Does a `make distribution', and then tars up the DESTDIR files -# into ${RELEASEDIR}/${RELEASEMACHINEDIR}, in release(7) format. -# (See etc/Makefile for more information on this.) -# regression-tests: -# Runs the regression tests in "regress" on this host. -# sets: -# Populate ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/sets -# from ${DESTDIR} -# sourcesets: -# Populate ${RELEASEDIR}/source/sets from ${NETBSDSRCDIR} -# syspkgs: -# Populate ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/syspkgs -# from ${DESTDIR} -# iso-image: -# Create CD-ROM image in RELEASEDIR/images. -# RELEASEDIR must already have been populated by `make release' -# or equivalent. -# iso-image-source: -# Create CD-ROM image with source in RELEASEDIR/images. -# RELEASEDIR must already have been populated by -# `make release sourcesets' or equivalent. -# live-image: -# Create bootable live image for emulators or USB stick etc. -# in RELEASEDIR/liveimage. -# RELEASEDIR must already have been populated by `make release' -# or equivalent. -# install-image: -# Create bootable installation image for USB stick etc. -# in RELEASEDIR/installimage. -# RELEASEDIR must already have been populated by `make release' -# or equivalent. -# -# Targets invoked by `make build,' in order: -# cleandir: cleans the tree. -# do-top-obj: creates the top level object directory. -# do-tools-obj: creates object directories for the host toolchain. -# do-tools: builds host toolchain. -# params: record the values of variables that might affect the -# build. -# obj: creates object directories. -# do-distrib-dirs: creates the distribution directories. -# includes: installs include files. -# do-lib: builds and installs prerequisites from lib -# if ${MKCOMPAT} != "no". -# do-compat-lib: builds and installs prerequisites from compat/lib -# if ${MKCOMPAT} != "no". -# do-build: builds and installs the entire system. -# do-x11: builds and installs X11 if ${MKX11} != "no"; either -# X11R7 from src/external/mit/xorg -# do-extsrc: builds and installs extsrc if ${MKEXTSRC} != "no". -# do-obsolete: installs the obsolete sets (for the postinstall-* targets). -# +# $Id: Makefile 148 2016-01-18 19:34:32Z reddawg $ +# The System Makefile (C) 2002, 2017 The UbixOS Project .if ${.MAKEFLAGS:M${.CURDIR}/share/mk} == "" .MAKEFLAGS: -m ${.CURDIR}/share/mk .endif -# -# If _SRC_TOP_OBJ_ gets set here, we will end up with a directory that may -# not be the top level objdir, because "make obj" can happen in the *middle* -# of "make build" (long after is calculated it). So, pre-set -# _SRC_TOP_OBJ_ here so it will not be added to ${.MAKEOVERRIDES}. -# -_SRC_TOP_OBJ_= +MAKE=make -.include +CURDIR=${.CURDIR} -# -# Sanity check: make sure that "make build" is not invoked simultaneously -# with a standard recursive target. -# +OBJ_DIR?= ${CURDIR}/obj -.if make(build) || make(release) || make(snapshot) -.for targ in ${TARGETS:Nobj:Ncleandir} -.if make(${targ}) && !target(.BEGIN) -.BEGIN: - @echo 'BUILD ABORTED: "make build" and "make ${targ}" are mutually exclusive.' - @false -.endif -.endfor -.endif +CLEANDIR=clean -# -# _SUBDIR is used to set SUBDIR, after removing directories that have -# BUILD_${dir}=no, or that have no ${dir}/Makefile. -# -_SUBDIR= tools lib include gnu external crypto/external bin games -_SUBDIR+= libexec sbin usr.bin -_SUBDIR+= usr.sbin share sys etc tests compat -_SUBDIR+= .WAIT rescue .WAIT distrib regress -.if defined(__MINIX) -# the minix subdir depends on some other things (e.g. lib/) -_SUBDIR+= .WAIT minix -.endif # defined(__MINIX) +WORLD_LIB_SRC=${CURDIR}/lib +WORLD_BIN_SRC=${CURDIR}/bin +WORLD_INC=${CURDIR}/include.new +WORLD_FLAGS=_ARCH=${_ARCH} CC="cc" CXX="c++" AS="as" AR="ar" LD="ld" NM=nm OBJDUMP= OBJCOPY="objcopy" RANLIB=ranlib -.for dir in ${_SUBDIR} -.if "${dir}" == ".WAIT" \ - || (${BUILD_${dir}:Uyes} != "no" && exists(${dir}/Makefile)) -SUBDIR+= ${dir} -.endif -.endfor +WMAKE= ${MAKE} ${WORLD_FLAGS} INCLUDE=${WORLD_INC} BUILD_DIR=${CURDIR}/build -.if exists(regress) -regression-tests: .PHONY .MAKE - @echo Running regression tests... - ${MAKEDIRTARGET} regress regress -.endif +TMP_PATH=${PATH} +ROOT=/ubixos -.if ${MKUNPRIVED} != "no" -NOPOSTINSTALL= # defined -.endif +all: kernel world install-kernel install-world +# csu ubix_api libc_old libc ubix libcpp bin tools +# depend kernel tools -afterinstall: .PHONY .MAKE -.if ${MKMAN} != "no" -.if !defined(__MINIX) - ${MAKEDIRTARGET} share/man makedb -.else - ${MAKEDIRTARGET} minix/man makedb -.endif # !defined(__MINIX) -.endif -.if (${MKUNPRIVED} != "no" && ${MKINFO} != "no") - ${MAKEDIRTARGET} gnu/usr.bin/texinfo/install-info infodir-meta -.endif -.if !defined(NOPOSTINSTALL) - ${MAKEDIRTARGET} . postinstall-check -.endif +kernel: + @cd sys;make -_POSTINSTALL= ${.CURDIR}/usr.sbin/postinstall/postinstall \ - -m ${MACHINE} -a ${MACHINE_ARCH} -_POSTINSTALL_ENV= \ - AWK=${TOOL_AWK:Q} \ - DB=${TOOL_DB:Q} \ - HOST_SH=${HOST_SH:Q} \ - MAKE=${MAKE:Q} \ - PWD_MKDB=${TOOL_PWD_MKDB:Q} \ - SED=${TOOL_SED:Q} \ - STAT=${TOOL_STAT:Q} +world: + @echo + @echo "***************************************************************" + @echo "World Build For ${_ARCH} Started On `LC_ALL=C date`" + @echo "***************************************************************" + @echo + @echo "***************************************************************" + @echo "Step 1: Clean World" + @echo "***************************************************************" + #cd ${WORLD_LIB_SRC}; ${WMAKE} ${CLEANDIR} + #cd ${WORLD_BIN_SRC}; ${WMAKE} ${CLEANDIR} + @echo + @echo "***************************************************************" + @echo "Step 2: Build World Libraries" + @echo "***************************************************************" + cd ${WORLD_LIB_SRC}; ${WMAKE} all + @echo + @echo "***************************************************************" + @echo "Step 3: Build World Binaries" + @echo "***************************************************************" + cd ${WORLD_BIN_SRC}; ${WMAKE} all + @echo + @echo "***************************************************************" + @echo "World Build For ${_ARCH} Completed On `LC_ALL=C date`" + @echo "***************************************************************" -.if ${MKX11} != "no" -_POSTINSTALL_X11=-x ${X11SRCDIR:Q} -.endif -postinstall-check: .PHONY - @echo " === Post installation checks ===" - ${_POSTINSTALL_ENV} ${HOST_SH} ${_POSTINSTALL} -s ${.CURDIR} ${_POSTINSTALL_X11} -d ${DESTDIR}/ check; if [ $$? -gt 1 ]; then exit 1; fi - @echo " ================================" -postinstall-fix: .NOTMAIN .PHONY - @echo " === Post installation fixes ===" - ${_POSTINSTALL_ENV} ${HOST_SH} ${_POSTINSTALL} -s ${.CURDIR} ${_POSTINSTALL_X11} -d ${DESTDIR}/ fix - @echo " ===============================" +install-world: + @echo + @echo "***************************************************************" + @echo "World Install For ${_ARCH} Started On `LC_ALL=C date`" + @echo "***************************************************************" + @echo + @echo "***************************************************************" + @echo "Step 1: Copy Binaries" + @echo "***************************************************************" + cp -pr build/bin/* ${ROOT}/bin/ + sync + @echo + @echo "***************************************************************" + @echo "Step 2: Copy Libraries" + @echo "***************************************************************" + cp -pr build/lib/* ${ROOT}/lib/ + cp -pr build/libexec/* ${ROOT}/libexec/ + sync + @echo + @echo "***************************************************************" + @echo "Step 3: Copy Etc" + @echo "***************************************************************" + cp -pr etc/* ${ROOT}/etc/ + sync + @echo + @echo "***************************************************************" + @echo "World Install For ${_ARCH} Completed On `LC_ALL=C date`" + @echo "***************************************************************" -postinstall-fix-obsolete: .NOTMAIN .PHONY - @echo " === Removing obsolete files ===" - ${_POSTINSTALL_ENV} ${HOST_SH} ${_POSTINSTALL} -s ${.CURDIR} ${_POSTINSTALL_X11} -d ${DESTDIR}/ fix obsolete - @echo " ===============================" +clean-kernel: + (cd sys;${MAKE} clean) -postinstall-fix-obsolete_stand: .NOTMAIN .PHONY - @echo " === Removing obsolete files ===" - ${_POSTINSTALL_ENV} ${HOST_SH} ${_POSTINSTALL} -s ${.CURDIR} ${_POSTINSTALL_X11} -d ${DESTDIR}/ fix obsolete_stand - @echo " ===============================" +install-kernel: + (cd sys;${MAKE} install-kernel) - -# -# Targets (in order!) called by "make build". -# -BUILDTARGETS+= check-tools -.if ${MKUPDATE} == "no" && !defined(NOCLEANDIR) -BUILDTARGETS+= cleandir -.endif -.if ${MKOBJDIRS} != "no" -BUILDTARGETS+= do-top-obj -.endif -.if ${USETOOLS} == "yes" # { -.if ${MKOBJDIRS} != "no" -BUILDTARGETS+= do-tools-obj -.endif -BUILDTARGETS+= do-tools -.endif # USETOOLS # } -BUILDTARGETS+= params -.if ${MKOBJDIRS} != "no" -BUILDTARGETS+= obj -.endif -BUILDTARGETS+= clean_METALOG -.if !defined(NODISTRIBDIRS) -BUILDTARGETS+= do-distrib-dirs -.endif -.if !defined(NOINCLUDES) -BUILDTARGETS+= includes -.endif -BUILDTARGETS+= do-lib -.if !defined(__MINIX) -# LSC Not used in MINIX3 -BUILDTARGETS+= do-compat-lib -.endif # !defined(__MINIX) -.if ${MKX11} != "no" -BUILDTARGETS+= do-x11 -.endif -BUILDTARGETS+= do-build -.if ${MKEXTSRC} != "no" -BUILDTARGETS+= do-extsrc -.endif - -.if defined(__MINIX) && ${MKSRC} == "yes" -BUILDTARGETS+= do-installsrc -.endif # defined(__MINIX) - -BUILDTARGETS+= do-obsolete - -# -# Enforce proper ordering of some rules. -# - -.ORDER: ${BUILDTARGETS} -includes-lib: .PHONY includes-include includes-sys -includes-gnu: .PHONY includes-lib - -# -# Record the values of variables that might affect the build. -# If no values have changed, avoid updating the timestamp -# of the params file. -# -# This is referenced by _NETBSD_VERSION_DEPENDS in . -# -.include "${NETBSDSRCDIR}/etc/Makefile.params" -CLEANDIRFILES+= params -params: .EXEC - ${_MKMSG_CREATE} params - @${PRINT_PARAMS} >${.TARGET}.new - @if cmp -s ${.TARGET}.new ${.TARGET} > /dev/null 2>&1; then \ - : "params is unchanged" ; \ - rm ${.TARGET}.new ; \ - else \ - : "params has changed or is new" ; \ - mv ${.TARGET}.new ${.TARGET} ; \ - fi - -# -# Display current make(1) parameters -# -show-params: .PHONY .MAKE - @${PRINT_PARAMS} - -# -# Build the system and install into DESTDIR. -# - -START_TIME!= date - -.if defined(__MINIX) -world: build .PHONY .MAKE - ${MAKEDIRTARGET} . etcfiles - @echo "WARNING: " - @echo "WARNING: The 'world' target is obsolete, please use 'build' instead." - @echo "WARNING: " - -etcfiles: .PHONY .MAKE - ${MAKEDIRTARGET} etc install-etc-files-safe DESTDIR=${DESTDIR:U/} - -etcforce: .PHONY .MAKE - ${MAKEDIRTARGET} etc install-etc-files DESTDIR=${DESTDIR:U/} - -.endif # defined(__MINIX) - -build: .PHONY .MAKE -.if defined(BUILD_DONE) - @echo "Build already installed into ${DESTDIR}" -.else - @echo "Build started at: ${START_TIME}" -.for tgt in ${BUILDTARGETS} - ${MAKEDIRTARGET} . ${tgt} -.endfor - ${MAKEDIRTARGET} etc install-etc-release -.if defined(__MINIX) - ${MAKEDIRTARGET} etc install-etc-files-safe DESTDIR=${DESTDIR:U/} - ${MAKEDIRTARGET} releasetools do-hdboot -.endif # defined(__MINIX) - @echo "Build started at: ${START_TIME}" - @printf "Build finished at: " && date -.endif - -# -# Build a full distribution, but not a release (i.e. no sets into -# ${RELEASEDIR}). "buildworld" enforces a build to ${DESTDIR} != / -# - -distribution buildworld: .PHONY .MAKE -.if make(buildworld) && \ - (!defined(DESTDIR) || ${DESTDIR} == "" || ${DESTDIR} == "/") - @echo "Won't make ${.TARGET} with DESTDIR=/" - @false -.endif - ${MAKEDIRTARGET} . build NOPOSTINSTALL=1 - ${MAKEDIRTARGET} etc distribution INSTALL_DONE=1 -.if defined(DESTDIR) && ${DESTDIR} != "" && ${DESTDIR} != "/" - ${MAKEDIRTARGET} . postinstall-fix-obsolete - ${MAKEDIRTARGET} . postinstall-fix-obsolete_stand - ${MAKEDIRTARGET} distrib/sets checkflist -.endif - @echo "make ${.TARGET} started at: ${START_TIME}" - @printf "make ${.TARGET} finished at: " && date - -# -# Install the distribution from $DESTDIR to $INSTALLWORLDDIR (defaults to `/') -# If installing to /, ensures that the host's operating system is NetBSD and -# the host's `uname -m` == ${MACHINE}. -# - -HOST_UNAME_S!= uname -s -.if ${HOST_OSTYPE:C/\-.*//} != "Minix" -HOST_UNAME_M!= uname -m -.else -HOST_UNAME_M:= ${MACHINE} -.endif - -installworld: .PHONY .MAKE -.if (!defined(DESTDIR) || ${DESTDIR} == "" || ${DESTDIR} == "/") - @echo "Can't make ${.TARGET} to DESTDIR=/" - @false -.endif -.if !defined(INSTALLWORLDDIR) || \ - ${INSTALLWORLDDIR} == "" || ${INSTALLWORLDDIR} == "/" -.if (${HOST_UNAME_S} != "NetBSD") && (${HOST_UNAME_S} != "Minix") - @echo "Won't cross-make ${.TARGET} from ${HOST_UNAME_S} to Minix with INSTALLWORLDDIR=/" - @false -.endif -.if (${HOST_UNAME_M} != ${MACHINE}) - @echo "Won't cross-make ${.TARGET} from ${HOST_UNAME_M} to ${MACHINE} with INSTALLWORLDDIR=/" - @false -.endif -.endif - ${MAKEDIRTARGET} distrib/sets installsets \ - INSTALLDIR=${INSTALLWORLDDIR:U/} INSTALLSETS=${INSTALLSETS:Q} - ${MAKEDIRTARGET} . postinstall-check DESTDIR=${INSTALLWORLDDIR} - @echo "make ${.TARGET} started at: ${START_TIME}" - @printf "make ${.TARGET} finished at: " && date - -# -# Install modules from $DESTDIR to $INSTALLMODULESDIR -# -installmodules: .PHONY .MAKE -.if (!defined(DESTDIR) || ${DESTDIR} == "" || ${DESTDIR} == "/") - @echo "Can't make ${.TARGET} to DESTDIR=/" - @false -.endif -.if !defined(INSTALLMODULESDIR) || \ - ${INSTALLMODULESDIR} == "" || ${INSTALLMODULESDIR} == "/" -.if (${HOST_UNAME_S} != "NetBSD") - @echo "Won't cross-make ${.TARGET} from ${HOST_UNAME_S} to NetBSD with INSTALLMODULESDIR=/" - @false -.endif -.if (${HOST_UNAME_M} != ${MACHINE}) - @echo "Won't cross-make ${.TARGET} from ${HOST_UNAME_M} to ${MACHINE} with INSTALLMODULESDIR=/" - @false -.endif -.endif - ${MAKEDIRTARGET} sys/modules install DESTDIR=${INSTALLMODULESDIR:U/} - @echo "make ${.TARGET} started at: ${START_TIME}" - @printf "make ${.TARGET} finished at: " && date - -# -# Create sets from $DESTDIR or $NETBSDSRCDIR into $RELEASEDIR -# - -.for tgt in sets sourcesets syspkgs -${tgt}: .PHONY .MAKE - ${MAKEDIRTARGET} distrib/sets ${tgt} -.endfor - -# -# Build a release or snapshot (implies "make distribution"). Note that -# in this case, the set lists will be checked before the tar files -# are made. -# - -release snapshot: .PHONY .MAKE - ${MAKEDIRTARGET} . distribution - ${MAKEDIRTARGET} etc release DISTRIBUTION_DONE=1 - @echo "make ${.TARGET} started at: ${START_TIME}" - @printf "make ${.TARGET} finished at: " && date - -# -# Create a CD-ROM image. -# - -iso-image: .PHONY - ${MAKEDIRTARGET} distrib iso_image - ${MAKEDIRTARGET} etc iso-image - @echo "make ${.TARGET} started at: ${START_TIME}" - @printf "make ${.TARGET} finished at: " && date - -iso-image-source: .PHONY - ${MAKEDIRTARGET} distrib iso_image CDSOURCE=true - ${MAKEDIRTARGET} etc iso-image - @echo "make ${.TARGET} started at: ${START_TIME}" - @printf "make ${.TARGET} finished at: " && date - -# -# Create bootable live images. -# - -live-image: .PHONY - ${MAKEDIRTARGET} etc live-image - @echo "make ${.TARGET} started at: ${START_TIME}" - @printf "make ${.TARGET} finished at: " && date - -# -# Create bootable installation images. -# - -install-image: .PHONY - ${MAKEDIRTARGET} etc install-image - @echo "make ${.TARGET} started at: ${START_TIME}" - @printf "make ${.TARGET} finished at: " && date - -# -# Special components of the "make build" process. -# - -check-tools: .PHONY -.if ${TOOLCHAIN_MISSING} != "no" && !defined(EXTERNAL_TOOLCHAIN) - @echo '*** WARNING: Building on MACHINE=${MACHINE} with missing toolchain.' - @echo '*** May result in a failed build or corrupt binaries!' -.elif defined(EXTERNAL_TOOLCHAIN) - @echo '*** Using external toolchain rooted at ${EXTERNAL_TOOLCHAIN}.' -.endif -.if defined(NBUILDJOBS) - @echo '*** WARNING: NBUILDJOBS is obsolete; use -j directly instead!' -.endif - -# Delete or sanitise a leftover METALOG from a previous build. -clean_METALOG: .PHONY .MAKE -.if ${MKUPDATE} != "no" - ${MAKEDIRTARGET} distrib/sets clean_METALOG -.endif - -do-distrib-dirs: .PHONY .MAKE -.if !defined(DESTDIR) || ${DESTDIR} == "" - ${MAKEDIRTARGET} etc distrib-dirs DESTDIR=/ -.else - ${MAKEDIRTARGET} etc distrib-dirs DESTDIR=${DESTDIR} -.endif - -.for targ in cleandir obj includes -do-${targ}: .PHONY ${targ} - @true -.endfor - -do-tools: .PHONY .MAKE - ${MAKEDIRTARGET} tools build_install - -do-lib: .PHONY .MAKE - ${MAKEDIRTARGET} lib build_install - -do-compat-lib: .PHONY .MAKE - ${MAKEDIRTARGET} compat build_install BOOTSTRAP_SUBDIRS="../../../lib" - -do-top-obj: .PHONY .MAKE - ${MAKEDIRTARGET} . obj NOSUBDIR= - -do-tools-obj: .PHONY .MAKE - ${MAKEDIRTARGET} tools obj - -do-build: .PHONY .MAKE -.for targ in dependall install - ${MAKEDIRTARGET} . ${targ} BUILD_tools=no BUILD_lib=no -.endfor - -do-x11: .PHONY .MAKE -.if ${MKX11} != "no" - ${MAKEDIRTARGET} external/mit/xorg/tools all - ${MAKEDIRTARGET} external/mit/xorg/lib build_install -.if ${MKCOMPATX11} != "no" - ${MAKEDIRTARGET} compat build_install BOOTSTRAP_SUBDIRS="../../../external/mit/xorg/lib" -.endif -.else - @echo "MKX11 is not enabled" - @false -.endif - -do-extsrc: .PHONY .MAKE -.if ${MKEXTSRC} != "no" - ${MAKEDIRTARGET} extsrc build -.else - @echo "MKEXTSRC is not enabled" - @false -.endif - -do-obsolete: .PHONY .MAKE - ${MAKEDIRTARGET} etc install-obsolete-lists - -# -# Speedup stubs for some subtrees that don't need to run these rules. -# (Tells not to recurse for them.) -# - -.for dir in bin etc distrib games libexec regress sbin usr.bin usr.sbin tools -includes-${dir}: .PHONY - @true -.endfor -.for dir in etc distrib regress -install-${dir}: .PHONY - @true -.endfor - -.if defined(__MINIX) -SRCTAR=src.tar.gz -do-installsrc: - cd ${.CURDIR} && git ls-tree -r HEAD --name-only | tar czf ${.OBJDIR}/$(SRCTAR) -T - - ${INSTALL_FILE} ${.OBJDIR}/$(SRCTAR) ${DESTDIR}/usr/src/ -.endif # defined(__MINIX) - -# -# XXX this needs to change when distrib Makefiles are recursion compliant -# XXX many distrib subdirs need "cd etc && make snap_pre snap_kern" first... -# -dependall-distrib depend-distrib all-distrib: .PHONY - @true - -.include -.include -.include +install: install-world install-kernel + +clean: + (cd sys;${MAKE} clean) + (cd bin;${WMAKE} clean) + (cd lib;${WMAKE} clean) +# (cd src/lib/ubix;make clean) +# (cd src/lib/objgfx40;make clean) +# (cd src/lib/libcpp;make clean) +# (cd src/lib/views/sunlight;make clean) +# (cd src/lib/libstdc++;make clean) diff --git a/src/share/mk/Makefile b/src/share/mk/Makefile deleted file mode 100644 index c68b094..0000000 --- a/src/share/mk/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -# $NetBSD: Makefile,v 1.49 2014/01/16 01:15:33 christos Exp $ -# @(#)Makefile 8.1 (Berkeley) 6/8/93 - -NOOBJ= # defined - -.include - -.if ${MKSHARE} != "no" -FILES= bsd.README bsd.buildinstall.mk bsd.clang-analyze.mk bsd.clean.mk \ - bsd.dep.mk bsd.doc.mk bsd.endian.mk bsd.files.mk bsd.gcc.mk \ - bsd.host.mk bsd.hostlib.mk bsd.hostprog.mk bsd.inc.mk bsd.info.mk \ - bsd.init.mk bsd.ioconf.mk bsd.kernobj.mk bsd.kinc.mk bsd.klinks.mk \ - bsd.kmodule.mk bsd.lib.mk bsd.links.mk bsd.lua.mk \ - bsd.man.mk bsd.nls.mk \ - bsd.obj.mk bsd.own.mk bsd.prog.mk bsd.rpc.mk bsd.shlib.mk \ - bsd.subdir.mk bsd.sys.mk bsd.syscall.mk bsd.test.mk bsd.x11.mk sys.mk - -.if defined(__MINIX) -# MINIX-specific files -FILES+= minix.service.mk minix.gcov.mk -.endif # defined(__MINIX) - -FILESDIR=/usr/share/mk -.endif - -FILESMODE=444 - -.include diff --git a/src/share/mk/sys.mk b/src/share/mk/sys.mk deleted file mode 100644 index dc031d2..0000000 --- a/src/share/mk/sys.mk +++ /dev/null @@ -1,271 +0,0 @@ -# $NetBSD: sys.mk,v 1.128 2015/07/06 00:21:51 chs Exp $ -# @(#)sys.mk 8.2 (Berkeley) 3/21/94 -# -# This file contains the basic rules for make(1) and is read first -# Do not put conditionals that are set on different files here and -# expect them to work. - -# This variable should be used to differentiate Minix builds in Makefiles. -__MINIX= yes - -.if !defined(__MINIX) -unix?= We run NetBSD. - -.SUFFIXES: .a .o .ln .s .S .c .cc .cpp .cxx .C .f .F .r .p .l .y .sh -.else -unix?= We run MINIX. - -.SUFFIXES: .a .o .bc .ln .s .S .c .cc .cpp .cxx .C .f .F .r .p .l .y .sh - -.if ${MKSMALL:U} == "yes" -CPPFLAGS+= -DNDEBUG -DBG= -Os -.endif - -.if ${MKMAGIC:Uno} == "yes" || ${MKASR:Uno} == "yes" -CPPFLAGS+= -D_MINIX_MAGIC=1 -STRIPFLAG= -s -DBG=-g -.endif - -#LSC: Be a bit smarter about the default compiler -.if exists(/usr/pkg/bin/clang) || exists(/usr/bin/clang) -CC?= clang -.endif - -.if exists(/usr/pkg/bin/gcc) || exists(/usr/bin/gcc) -CC?= gcc -.endif -.endif # defined(__MINIX) - -.LIBS: .a - -AR?= ar -ARFLAGS?= rl -RANLIB?= ranlib - -AS?= as -AFLAGS?= -COMPILE.s?= ${CC} ${AFLAGS} ${AFLAGS.${<:T}} -c -LINK.s?= ${CC} ${AFLAGS} ${AFLAGS.${<:T}} ${LDFLAGS} -_ASM_TRADITIONAL_CPP= -x assembler-with-cpp -COMPILE.S?= ${CC} ${AFLAGS} ${AFLAGS.${<:T}} ${CPPFLAGS} ${_ASM_TRADITIONAL_CPP} -c -LINK.S?= ${CC} ${AFLAGS} ${AFLAGS.${<:T}} ${CPPFLAGS} ${LDFLAGS} - -CC?= cc -.if ${MACHINE_ARCH} == "sh3el" || ${MACHINE_ARCH} == "sh3eb" -# -O2 is too -falign-* zealous for low-memory sh3 machines -DBG?= -Os -freorder-blocks -.elif ${MACHINE_ARCH} == "m68k" || ${MACHINE_ARCH} == "m68000" -# -freorder-blocks (enabled by -O2) produces much bigger code -DBG?= -O2 -fno-reorder-blocks -.elif ${MACHINE_ARCH} == "coldfire" -DBG?= -O1 -.elif !empty(MACHINE_ARCH:Maarch64*) -DBG?= -O2 ${"${.TARGET:M*.po}" == "":? -fomit-frame-pointer:} -.elif ${MACHINE_ARCH} == "vax" -DBG?= -O1 -fgcse -fstrength-reduce -fgcse-after-reload -.else -DBG?= -O2 -.endif -.if !defined(__MINIX) -CFLAGS?= ${DBG} -.else -CFLAGS+= ${DBG} -.endif # !defined(__MINIX) -LDFLAGS?= -COMPILE.c?= ${CC} ${CFLAGS} ${CPPFLAGS} -c -LINK.c?= ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} - -# C Type Format data is required for DTrace -CTFFLAGS ?= -g -L VERSION -CTFMFLAGS ?= -t -g -L VERSION - -CXX?= c++ -CXXFLAGS?= ${CFLAGS:N-Wno-traditional:N-Wstrict-prototypes:N-Wmissing-prototypes:N-Wno-pointer-sign:N-ffreestanding:N-std=gnu[0-9][0-9]:N-Wold-style-definition:N-Wno-format-zero-length} - -__ALLSRC1= ${empty(DESTDIR):?${.ALLSRC}:${.ALLSRC:S|^${DESTDIR}|^destdir|}} -__ALLSRC2= ${empty(MAKEOBJDIR):?${__ALLSRC1}:${__ALLSRC1:S|^${MAKEOBJDIR}|^obj|}} -__ALLSRC3= ${empty(NETBSDSRCDIR):?${__ALLSRC2}:${__ALLSRC2:S|^${NETBSDSRCDIR}|^src|}} -__BUILDSEED= ${BUILDSEED}/${__ALLSRC3:O}/${.TARGET} -_CXXSEED?= ${BUILDSEED:D-frandom-seed=${__BUILDSEED:hash}} - -COMPILE.cc?= ${CXX} ${_CXXSEED} ${CXXFLAGS} ${CPPFLAGS} -c -LINK.cc?= ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS} - -OBJC?= ${CC} -OBJCFLAGS?= ${CFLAGS} -COMPILE.m?= ${OBJC} ${OBJCFLAGS} ${CPPFLAGS} -c -LINK.m?= ${OBJC} ${OBJCFLAGS} ${CPPFLAGS} ${LDFLAGS} - -CPP?= cpp -CPPFLAGS?= - -FC?= f77 -FFLAGS?= -O -RFLAGS?= -COMPILE.f?= ${FC} ${FFLAGS} -c -LINK.f?= ${FC} ${FFLAGS} ${LDFLAGS} -COMPILE.F?= ${FC} ${FFLAGS} ${CPPFLAGS} -c -LINK.F?= ${FC} ${FFLAGS} ${CPPFLAGS} ${LDFLAGS} -COMPILE.r?= ${FC} ${FFLAGS} ${RFLAGS} -c -LINK.r?= ${FC} ${FFLAGS} ${RFLAGS} ${LDFLAGS} - -INSTALL?= install - -LD?= ld - -LEX?= lex -LFLAGS?= -LEX.l?= ${LEX} ${LFLAGS} - -LINT?= lint -LINTFLAGS?= -chapbxzgFS - -LORDER?= lorder - -MAKE?= make - -NM?= nm - -PC?= pc -PFLAGS?= -COMPILE.p?= ${PC} ${PFLAGS} ${CPPFLAGS} -c -LINK.p?= ${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS} - -SHELL?= sh - -SIZE?= size - -TSORT?= tsort -q - -YACC?= yacc -YFLAGS?= -YACC.y?= ${YACC} ${YFLAGS} - -# C -.c: - ${LINK.c} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} -# XXX: disable for now -# ${defined(CTFCONVERT):?${CTFCONVERT} ${CTFFLAGS} ${.TARGET}:} -.c.o: - ${COMPILE.c} ${.IMPSRC} - ${defined(CTFCONVERT):?${CTFCONVERT} ${CTFFLAGS} ${.TARGET}:} -.c.a: - ${COMPILE.c} ${.IMPSRC} - ${AR} ${ARFLAGS} ${.TARGET} ${.PREFIX}.o - rm -f ${.PREFIX}.o -.c.ln: - ${LINT} ${LINTFLAGS} \ - ${CPPFLAGS:C/-([IDU])[ ]*/-\1/Wg:M-[IDU]*} \ - -i ${.IMPSRC} - -# C++ -.cc .cpp .cxx .C: - ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} -.cc.o .cpp.o .cxx.o .C.o: - ${COMPILE.cc} ${.IMPSRC} -.cc.a .cpp.a .cxx.a .C.a: - ${COMPILE.cc} ${.IMPSRC} - ${AR} ${ARFLAGS} ${.TARGET} ${.PREFIX}.o - rm -f ${.PREFIX}.o - -# Fortran/Ratfor -.f: - ${LINK.f} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} -.f.o: - ${COMPILE.f} ${.IMPSRC} - ${defined(CTFCONVERT):?${CTFCONVERT} ${CTFFLAGS} ${.TARGET}:} -.f.a: - ${COMPILE.f} ${.IMPSRC} - ${AR} ${ARFLAGS} ${.TARGET} ${.PREFIX}.o - rm -f ${.PREFIX}.o - -.F: - ${LINK.F} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} - ${defined(CTFCONVERT):?${CTFCONVERT} ${CTFFLAGS} ${.TARGET}:} -.F.o: - ${COMPILE.F} ${.IMPSRC} - ${defined(CTFCONVERT):?${CTFCONVERT} ${CTFFLAGS} ${.TARGET}:} -.F.a: - ${COMPILE.F} ${.IMPSRC} - ${AR} ${ARFLAGS} ${.TARGET} ${.PREFIX}.o - rm -f ${.PREFIX}.o - -.r: - ${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} -.r.o: - ${COMPILE.r} ${.IMPSRC} - ${defined(CTFCONVERT):?${CTFCONVERT} ${CTFFLAGS} ${.TARGET}:} -.r.a: - ${COMPILE.r} ${.IMPSRC} - ${AR} ${ARFLAGS} ${.TARGET} ${.PREFIX}.o - rm -f ${.PREFIX}.o - -# Pascal -.p: - ${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} - ${defined(CTFCONVERT):?${CTFCONVERT} ${CTFFLAGS} ${.TARGET}:} -.p.o: - ${COMPILE.p} ${.IMPSRC} - ${defined(CTFCONVERT):?${CTFCONVERT} ${CTFFLAGS} ${.TARGET}:} -.p.a: - ${COMPILE.p} ${.IMPSRC} - ${AR} ${ARFLAGS} ${.TARGET} ${.PREFIX}.o - rm -f ${.PREFIX}.o - -# Assembly -.s: - ${LINK.s} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} - ${defined(CTFCONVERT):?${CTFCONVERT} ${CTFFLAGS} ${.TARGET}:} -.s.o: - ${COMPILE.s} ${.IMPSRC} - ${defined(CTFCONVERT):?${CTFCONVERT} ${CTFFLAGS} ${.TARGET}:} -.s.a: - ${COMPILE.s} ${.IMPSRC} - ${AR} ${ARFLAGS} ${.TARGET} ${.PREFIX}.o - rm -f ${.PREFIX}.o -.S: - ${LINK.S} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} - ${defined(CTFCONVERT):?${CTFCONVERT} ${CTFFLAGS} ${.TARGET}:} -.S.o: - ${COMPILE.S} ${.IMPSRC} - ${defined(CTFCONVERT):?${CTFCONVERT} ${CTFFLAGS} ${.TARGET}:} -.S.a: - ${COMPILE.S} ${.IMPSRC} - ${AR} ${ARFLAGS} ${.TARGET} ${.PREFIX}.o - rm -f ${.PREFIX}.o - -# Lex -.l: - ${LEX.l} ${.IMPSRC} - ${LINK.c} -o ${.TARGET} lex.yy.c ${LDLIBS} -ll - rm -f lex.yy.c -.l.c: - ${LEX.l} ${.IMPSRC} - mv lex.yy.c ${.TARGET} -.l.o: - ${LEX.l} ${.IMPSRC} - ${COMPILE.c} -o ${.TARGET} lex.yy.c - ${defined(CTFCONVERT):?${CTFCONVERT} ${CTFFLAGS} ${.TARGET}:} - rm -f lex.yy.c - -# Yacc -.y: - ${YACC.y} ${.IMPSRC} - ${LINK.c} -o ${.TARGET} y.tab.c ${LDLIBS} - rm -f y.tab.c -.y.c: - ${YACC.y} ${.IMPSRC} - mv y.tab.c ${.TARGET} -.y.o: - ${YACC.y} ${.IMPSRC} - ${COMPILE.c} -o ${.TARGET} y.tab.c - ${defined(CTFCONVERT):?${CTFCONVERT} ${CTFFLAGS} ${.TARGET}:} - rm -f y.tab.c - -# Shell -.sh: - rm -f ${.TARGET} - cp ${.IMPSRC} ${.TARGET} - chmod a+x ${.TARGET} diff --git a/src/share/mk/ubix.README b/src/share/mk/ubix.README deleted file mode 100644 index 597a34a..0000000 --- a/src/share/mk/ubix.README +++ /dev/null @@ -1,2032 +0,0 @@ -# $NetBSD: bsd.README,v 1.346 2015/07/23 08:03:26 mrg Exp $ -# @(#)bsd.README 8.2 (Berkeley) 4/2/94 - -This is the README file for the make "include" files for the NetBSD -source tree. The files are installed in /usr/share/mk, and are, -by convention, named with the suffix ".mk". - -Note, this file is not intended to replace reading through the .mk -files for anything tricky. - -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= - -RANDOM THINGS WORTH KNOWING: - -The files are simply C-style #include files, and pretty much behave like -you'd expect. The syntax is slightly different in that a single '.' is -used instead of the hash mark, i.e. ".include ". - -One difference that will save you lots of debugging time is that inclusion -of the file is normally done at the *end* of the Makefile. The reason for -this is because .mk files often modify variables and behavior based on the -values of variables set in the Makefile. To make this work, remember that -the FIRST target found is the target that is used, i.e. if the Makefile has: - - a: - echo a - a: - echo a number two - -the command "make a" will echo "a". To make things confusing, the SECOND -variable assignment is the overriding one, i.e. if the Makefile has: - - a= foo - a= bar - - b: - echo ${a} - -the command "make b" will echo "bar". This is for compatibility with the -way the V7 make behaved. - -It's fairly difficult to make the BSD .mk files work when you're building -multiple programs in a single directory. It's a lot easier to split up the -programs than to deal with the problem. Most of the agony comes from making -the "obj" directory stuff work right, not because we switched to a new version -of make. So, don't get mad at us, figure out a better way to handle multiple -architectures so we can quit using the symbolic link stuff. (Imake doesn't -count.) - -The file .depend in the source directory is expected to contain dependencies -for the source files. This file is read automatically by make after reading -the Makefile. - -The variable DESTDIR works as before. It's not set anywhere but will change -the tree where the file gets installed. - -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 ".pico" denotes a shared (position-independent) object. - -There are various make variables used during the build. - -Many variables support a (case sensitive) value of "no" or "yes", -and are tested with ${VAR} == "no" and ${VAR} != "no" . - - -The basic rule for the variable naming scheme is as follows: - -HOST_xxx A command that runs on the host machine regardless of - whether or not the system is being cross compiled, or - flags for such a command. - -MKxxx Can be set to "no" to disable functionality, or - "yes" to enable it. - Usually defaults to "yes", although some variables - default to "no". - Due to make(1) implementation issues, if a temporary - command-line override of a mk.conf(5) or - setting is required whilst still honoring a particular - Makefile's setting of MKxxx, use - env MKxxx=value make - instead of - make MKxxx=value - -NOxxx If defined, disables a feature. - Not intended for users. - This is to allow Makefiles to disable functionality - that they don't support (such as missing man pages). - NOxxx variables must be defined before - is included. - -TOOL_xxx A tool that is provided as part of the USETOOLS - framework. When not using the USETOOLS framework, - TOOL_xxx variables should refer to tools that are - already installed on the host system. - -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 MAKECONF (see , below, or mk.conf(5)) -or on the make(1) command line: - -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-existent targets. - -MAKEVERBOSE Control how "verbose" the standard make(1) rules are. - Default: 2 - Supported values: - 0 Minimal output ("quiet") - 1 Describe what is occurring - 2 Describe what is occurring and echo the actual command - 3 Ignore the effect of the "@" prefix in make commands - 4 Trace shell commands using the shell's -x flag - -MKATF If "no", don't build the Automated Testing Framework (ATF), - which includes the libatf-c, libatf-c++ and libatf-sh libraries - and the various command line tools. Also, because the build of - the libraries is disabled, don't build the NetBSD test suite - either. - Default: yes - -MKBFD Obsolete, use MKBINUTILS - -MKBINUTILS If "no", don't build binutils (gas, ld, etc and libbfd, - libopcodes) - Default: yes - -MKBSDTAR If "yes", use the libarchive based cpio and tar instead of - the pax frontends. - Default: no - -MKCATPAGES If "no", don't build or install the catman pages. - Default: no - -MKCOMPAT If "no", don't build or install the src/compat. - Default: yes on amd64/mips64/sparc64, no elsewhere. - -MKCOMPATTESTS If "yes", build and install the NetBSD test suite when - building and installing src/compat. - Default: no - -MKCOMPATX11 If "yes", build and install the X11 libraries when - building and installing src/compat. - Default: no - -MKCOMPLEX If "no", don't build libm support for - Default: yes - -MKCRYPTO If "no", no cryptography support will be built into the system, - and also acts as "MKKERBEROS=no". - Default: yes - -MKCRYPTO_RC5 If not "no", RC5 support will be built into libcrypto_rc5 - Default: no - -MKCTF If "no", do not build and install CTF tools, and also - don't generate and manipulate CTF data of ELF binaries - during build. - Default: no - -MKCVS If "no", don't build or install cvs(1). - Default: yes - -MKDEBUG If "no", don't build and install separate debugging symbols - into /usr/libdata/debug. - Default: no - -MKDEBUGLIB Build *_g.a debugging libraries, which are compiled - with -DDEBUG. - Default: no - -MKDEPINCLUDES If "yes" issue .include statements in the .depend file - instead of inlining the contents of the .d files. Useful - when stale dependencies are present, to list the exact - files that need refreshing. It is off by default because - it is possibly slower. - Default "no" - -MKDOC If "no", don't build or install the documentation. - Default: yes - -MKDTRACE If "no", do not build and install the kernel modules, - utilities and libraries used to implement the dtrace(1) - facility. - Default: no - -MKDYNAMICROOT If "no", build programs in /bin and /sbin statically, - don't install certain libraries in /lib, and don't - install the shared linker into /libexec. - Default: yes - -MKEXTSRC If not "no", 'make build' also descends into either src/extsrc - to cross-build programs and libraries externally added by - users, and automatically enables creation of those sets. - Default: no - -MKGCC If "no", don't build gcc(1) or any of the GCC-related - libraries (libgcc, libobjc, libstdc++). - Default: yes - -MKGCCCMDS If "no", don't build gcc(1), but do build the GCC-related - libraries (libgcc, libobjc, libstdc++). - Default: yes - -MKGDB If "no", don't build gdb(1). - Default: yes - -MKGROFFHTMLDOC If "no", avoid trying to use groff to generate html for - miscellaneous articles, as this seems to sometimes want - to run software not in base. Does not affect html man - pages. - Default: no - -MKHESIOD If "no", disables building of Hesiod infrastructure - (libraries and support programs). - Default: yes - -MKHOSTOBJ If not "no", for programs intended to be run on the compile - host, the name, release, and architecture of the host - operating system will be suffixed to the name of the object - directory created by "make obj". - Default: no - -MKHTML If "no", don't build or install the HTML man pages. - Default: yes - -MKIEEEFP If "no", don't add code for IEEE754/IEC60559 conformance. - Has no effect on most platforms. - Default: yes - -MKSTRIPIDENT Strip the RCS IDs from program binaries and shared libraries. - Default: no - -MKINET6 If "no", disables building of INET6 (IPv6) infrastructure - (libraries and support programs). This option must not be - set to "no" if MKX11 is not "no". - Default: yes - -MKINFO If "no", don't build or install Info documentation from - Texinfo source files. - Default: yes - -MKIPFILTER If "no", don't build or install the IP Filter programs and LKM. - Default: yes - -MKISCSI If "no", don't build or install iSCSI library or applications - (depends on libpthread.) - Default: yes - -MKKDEBUG If "yes", force building of kernel symbol info and creation - of netbsd.gdb in all kernel builds, independently of the - settings for "makeoptions DEBUG" in the kernel config file. - -MKKERBEROS If "no", disables building of Kerberos v5 - infrastructure (libraries and support programs). - Default: yes - -MKKMOD If "no", disables building of kernel modules. - Default: yes - -MKKYUA If "no", don't build Kyua nor its dependent library Lutok. - Note that setting this to "no" does not disable the build of - the NetBSD test suite itself; the build of the tests is - controlled by the MKATF knob. - Default: no (until the import is done and validated) - -MKLDAP If "no", disables building of LDAP infrastructure - (libraries and support programs). - Default: yes - -MKLIBCXX If not "no", build and install libc++. - Default: no - -MKLIBSTDCXX If not "no", build and install libstdc++. - Default: yes - -MKLINKLIB If "no", act as "MKLINT=no 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). - Default: yes - -MKLINT If "no", don't build or install the lint libraries. - Default: yes - -MKLVM If "no", don't build or install the logical volume manager - and device mapper tools and libraries - Default: yes - -MKMAN If "no", don't build or install the man or catman pages, - and also acts as "MKCATPAGES=no MKHTML=no". - Default: yes - -MKMANDOC If "yes", mandoc is built as tool and used to compile - catman or html pages. A directory can be exempted by - defining NOMANDOC. Individual man pages are exempted - if NOMANDOC.${target} is set to "yes". - Default: yes - -MKMANZ If not "no", compress manual pages at installation time. - Default: no - -MKMDNS If "no", disables building of mDNS infrastructure - (libraries and support programs). - Default: yes - -MKNLS If "no", don't build or install the NLS files and locale - definition files. - Default: yes - -MKNPF If "no", don't build or install the NPF and its modules. - Default: yes - -MKOBJ If "no", don't enable the rule which creates objdirs, - and also acts as "MKOBJDIRS=no". - Default: yes - -MKOBJDIRS If "no", don't create objdirs during a "make build". - Default: no - -MKPAM If "no", disables building of PAM authentication - infrastructure (libraries and support programs). - Default: yes - -MKPCC If "no", don't build pcc(1) or any of the PCC-related - libraries (libpcc, libpccsoftfloat). - Default: no - -MKPF If "no", don't build or install the pf programs and LKM. - Default: yes - -MKPIC If "no", don't build or install shared libraries, and - also acts as "MKPICLIB=no" - Default: yes (for MACHINE_ARCHs that support it) - -MKPICINSTALL If "no", don't install the *_pic.a libraries. - Default: yes - -MKPICLIB If "no", don't build *_pic.a libraries, and build the - shared object libraries from the .a libraries. - A symlink is installed in ${DESTDIR}/usr/lib for the - _pic.a library pointing to the .a library. - Default: yes - -MKPIE If "no", create regular executables. Otherwise create - PIE (Position Independent Executables). - Default: no - -MKPIGZGZIP If "no", only install pigz as pigz, not gzip. - Default: no - -MKPOSTFIX If "no", don't build or install postfix(1). - Default: yes - -MKPROFILE If "no", don't build or install the profiling (*_p.a) libraries. - Default: yes - -MKREPRO If "yes", create reproducable builds. This enables - different switches to make two builds from the same source tree - result in the same build results. - Default: no - -MKSHARE If "no", act as "MKCATPAGES=no MKDOC=no MKHTML=no MKINFO=no - MKMAN=no MKNLS=no". - I.e, don't build catman pages, documentation, Info - documentation, man pages, NLS files, ... - Default: yes - -MKSKEY If "no", disables building of S/key authentication - infrastructure (libraries and support programs). - Default: yes - -MKSLJIT If "no", disables building of sljit (stack-less platform - independent JIT compiler) private library and tests. - Default: yes on amd64, i386 and sparc, no elsewhere. - -MKSOFTFLOAT If not "no", build with options to enable the compiler to - generate output containing library calls for floating - point and possibly soft-float library support. - Default: no - -MKSTATICLIB If "no", don't build or install the normal static (*.a) - libraries. - Default: yes - -MKTPM If "no" then don't build the Trusted Platform Module - infrastructure. - Default: no - -MKUNPRIVED If not "no", don't set the owner/group/mode when installing - files or directories, and keep a metadata log of what - the owner/group/mode should be. This allows a - non-root "make install". - Default: no - -MKUPDATE If not "no", 'make install' only installs targets that are - more recently modified in the source directories that their - installed counterparts. - Default: no - -MKX11 If not "no", 'make build' also descends into - src/external/mit/xorg to cross-build X11 and automatically - enables creation of X sets. - Default: no - -MKX11FONTS If not "no", do not build or install the X fonts. The xfont - set is still created but will be empty. - Default: yes - -MKX11MOTIF: If "yes", build the native X11 libGLw with Motif stubs. If - Motif is not installed in the default location /usr/pkg, the - location can be specified using the X11MOTIFPATH variable. - Default: no - -MKRADEONFIRMWARE If "no", install the /libdata/firmware/radeon directory, - which is necessary for the radeon DRM driver. - Default: yes on i386 and amd64, no elsewhere. - -MKYP If "no", disables building of YP (NIS) - infrastructure (libraries and support programs). - Default: yes - -MKZFS If "no", do not build and install utilities and libraries - used to manage ZFS file system. Do not build zfs and solaris - compatibility kernel modules. Note: ZFS requires 64bit - atomic operations. - Default: yes on amd64, no elsewhere. - -MKRUMP If "no", do not build and install rump related headers, - libraries, and programs. - Default: yes - -USE_HESIOD If "no", disables building Hesiod support into - various system utilities/libraries that support it. - If ${MKHESIOD} is "no", USE_HESIOD will also be - forced to "no". - -USE_INET6 If "no", disables building INET6 (IPv6) support into - various system utilities/libraries that support it. - If ${MKINET6} is "no", USE_INET6 will also be - forced to "no". - -USE_JEMALLOC If "no", disables building the "jemalloc" allocator - designed for improved performance with threaded - applications. The "phkmalloc" allocator as used up - before NetBSD-5.0 will be substituted. - -USE_KERBEROS If "no", disables building Kerberos v5 - support into various system utilities/libraries that - support it. If ${MKKERBEROS} is "no", USE_KERBEROS - will also be forced to "no". - -USE_LDAP If "no", disables building LDAP support into various - system utilities/libraries that support it. - If ${MKLDAP} is "no", USE_LDAP will also be forced to "no". - -USE_PAM If "no", disables building PAM authentication support - into various system utilities/libraries that support it. - If ${MKPAM} is "no", USE_PAM will also be forced to "no". - -USE_SKEY If "no", disables building S/key authentication - support into various system utilities/libraries that - support it. If ${MKSKEY} is "no", USE_SKEY will - also be forced to "no". - Default: no - -USE_SSP If "no", disables GCC stack protection code, which - detects stack overflows and aborts the program. The - stack protection code imposes a performance penalty - of about 5%. - Default: "no", unless "USE_FORT" is set to "yes" - -USE_FORT If "yes" turns on substitute wrappers for commonly used - functions that do not do bounds checking regularly, but - they could in some cases by using the gcc - __builtin_object_size() function to determine the buffer - size where it is known and detect buffer overflows. - These substitute functions are in /usr/include/ssp. - Default: depends on the part of the source tree - -USE_YP If "no", disables building YP (NIS) support into - various system utilities/libraries that support it. - If ${MKYP} is "no", USE_YP will also be forced to "no". - -USE_PIGZGZIP If "no", use the host "gzip" program to compress things. - Otherwise, build tools/pigz, set TOOL_GZIP=${TOOL_PIGZ}, - and use nbpigz to compress things. - Default: "no". - -COPTS.lib -OBJCOPTS.lib -LDADD.lib -CPPFLAGS.lib -CXXFLAGS.lib -COPTS. -OBJCCOPTS. -LDADD. -CPPFLAGS. -CXXFLAGS. These provide a way to specify additions to the associated - variables in a way that applies only to a particular library - or program. corresponds to the LIB variable set in - the library's makefile. corresponds to either PROG - or PROG_CXX (if set). For example, if COPTS.libcrypto is - set to "-g", "-g" will be added to COPTS only when compiling - the crypto library. - -The active compiler is selected using the following variables: -AVAILABLE_COMPILER - List of available compiler suites. Processed in order - for selecting the active compiler for each frontend. -HAVE_PCC If defined, PCC is present and enabled. -HAVE_LLVM If defined, LLVM/Clang is present and enabled. -UNSUPPORTED_COMPILER.xxx - If defined, the support for compiler "xxx" is disabled. - -For the frontends (CC, CPP, CXX, FC and OBJC) the following variables exist: -ACTIVE_CC Active compile suite for the CC frontend. -SUPPORTED_CC Compile suite with support for the CC frontend. -TOOL_CC.xxx Path to the CC frontend for compiler "xxx" - -=-=-=-=-= sys.mk =-=-=-=-= - -The include file has the default rules for all makes, in the BSD -environment or otherwise. You probably don't want to touch this file. - -=-=-=-=-= bsd.own.mk =-=-=-=-= - -The include file contains source tree configuration parameters, -such as the owners, groups, etc. for both manual pages and binaries, and -a few global "feature configuration" parameters. - -It has no targets. - -To get system-specific configuration parameters, will try to -include the file specified by the "MAKECONF" variable. If MAKECONF is not -set, or no such file exists, the system make configuration file, /etc/mk.conf -is included. These files may define any of the variables described below. - - sets the following variables, if they are not already defined -(defaults are in brackets): - -NETBSDSRCDIR Top of the NetBSD source tree. - If _SRC_TOP_ != "", that will be used as the default, - otherwise BSDSRCDIR will be used as the default. - Various makefiles within the NetBSD source tree will - use this to reference the top level of the source tree. - -_SRC_TOP_ Top of the system source tree, as determined by - based on the presence of tools/ and build.sh. This variable - is "internal" to , although its value is only - determined once and then propagated to all sub-makes. - -_NETBSD_VERSION_DEPENDS - A list of files which contain information about - the version of the NetBSD being built. This is - defined only if the current directory appears - to be inside a NetBSD source tree. The list of - files includes ${NETBSDSRCDIR}/sys/sys/param.h - (which contains the kernel version number), - ${NETBSDSRCDIR}/sys/conf/newvers.sh and - ${NETBSDSRCDIR}/sys/conf/osrelease.sh (which - interpret the information in sys/sys/param.h), and - ${_SRC_TOP_OBJ_}/params (which is an optional file, - created by "make build" in ${_SRC_TOP_}/Makefile, - containing all the variables that may influence the - build). - - Targets that depend on the NetBSD version, or on - variables defined at build time, can declare a - dependency on ${_NETBSD_VERSION_DEPENDS}, like this: - - version.c: ${_NETBSD_VERSION_DEPENDS} - commands to create version.c - -BSDSRCDIR The real path to the system sources, so that 'make obj' - will work correctly. [/usr/src] - -BSDOBJDIR The real path to the system 'obj' tree, so that 'make obj' - will work correctly. [/usr/obj] - -BINGRP Binary group. [wheel] - -BINOWN Binary owner. [root] - -BINMODE Binary mode. [555] - -NONBINMODE Mode for non-executable files. [444] - -MANDIR Base path for manual installation. [/usr/share/man/cat] - -MANGRP Manual group. [wheel] - -MANOWN Manual owner. [root] - -MANMODE Manual mode. [${NONBINMODE}] - -MANINSTALL Manual installation type. Space separated list: - catinstall, htmlinstall, maninstall - Default value derived from MKCATPAGES and MKHTML. - -LDSTATIC Control program linking; if set blank, link everything - dynamically. If set to "-static", link everything statically. - If not set, programs link according to their makefile. - -LIBDIR Base path for library installation. [/usr/lib] - -LINTLIBDIR Base path for lint(1) library installation. [/usr/libdata/lint] - -LIBGRP Library group. [${BINGRP}] - -LIBOWN Library owner. [${BINOWN}] - -LIBMODE Library mode. [${NONBINMODE}] - -DOCDIR Base path for system documentation (e.g. PSD, USD, etc.) - installation. [/usr/share/doc] - -DOCGRP Documentation group. [wheel] - -DOCOWN Documentation owner. [root] - -DOCMODE Documentation mode. [${NONBINMODE}] - -GZIP_N_FLAG Flags to pass to TOOL_GZIP to prevent it from inserting - file names or timestamps in the compressed output. - [-n, or -nT when TOOL_GZIP is really TOOL_PIGZ] - -NLSDIR Base path for Native Language Support files installation. - [/usr/share/nls] - -NLSGRP Native Language Support files group. [wheel] - -NLSOWN Native Language Support files owner. [root] - -NLSMODE Native Language Support files mode. [${NONBINMODE}] - -X11SRCDIR The path to the xsrc tree. [${NETBSDSRCDIR}/../xsrc, - if that exists; otherwise /usr/xsrc] - -X11SRCDIR.local The path to the local X11 src tree. [${X11SRCDIR}/local] - -X11SRCDIR.lib -X11SRCDIR. - The path to the xorg src tree for the specificed package>. - [${X11SRCDIR}/external/mit/xorg//dist] - -X11ROOTDIR Root directory of the X11 installation. [/usr/X11R6 or - [/usr/X11R7] - -X11BINDIR X11 bin directory. [${X11ROOTDIR}/bin] - -X11FONTDIR X11 font directory. [${X11ROOTDIR}/lib/X11/fonts] - -X11INCDIR X11 include directory. [${X11ROOTDIR}/include] - -X11LIBDIR X11 lib/x11 (config) directory. [${X11ROOTDIR}/lib/X11] - -X11MANDIR X11 manual directory. [${X11ROOTDIR}/man] - -X11USRLIBDIR X11 library directory. [${X11ROOTDIR}/lib] - -STRIPFLAG The flag passed to the install program to cause the binary - to be stripped. This is to be used when building your - own install script so that the entire system can be made - stripped/not-stripped using a single knob. [] - -COPY The flag passed to the install program to cause the binary - to be copied rather than moved. This is to be used when - building our own install script so that the entire system - can either be installed with copies, or with moves using - a single knob. [-c] - -MAKEDIRTARGETENV - Environment variables passed to the child make process - invoked by MAKEDIRTARGET. - -MAKEDIRTARGET dir target [params] - Runs "cd $${dir} && ${MAKE} [params] $${target}", - displaying a "pretty" message whilst doing so. - -RELEASEMACHINEDIR - Subdirectory used below RELEASEDIR when building - a release. [${MACHINE}] - -RELEASEMACHINE Subdirectory or path component used for the following - paths: - distrib/${RELEASEMACHINE} - distrib/notes/${RELEASEMACHINE} - etc/etc.${RELEASEMACHINE} - Used when building a release. [${MACHINE}] - -Additionally, the following variables may be set by or in a -make configuration file to modify the behavior of the system build -process (default values are in brackets along with comments, if set by -): - -USETOOLS Indicates whether the tools specified by ${TOOLDIR} should - be used as part of a build in progress. - Supported values: - - yes Use the tools from TOOLDIR. - Must be set to this if cross-compiling. - - no Do not use the tools from TOOLDIR, but refuse to - build native compilation tool components that are - version-specific for that tool. - - never Do not use the tools from TOOLDIR, even when - building native tool components. This is similar to - the traditional NetBSD build method, but does not - verify that the compilation tools in use are - up-to-date enough in order to build the tree - successfully. This may cause build or runtime - problems when building the whole NetBSD source tree. - - Default: "yes" if building all or part of a whole NetBSD - source tree (detected automatically); "no" otherwise - (to preserve traditional semantics of the - make(1) include files). - -OBJECT_FMT Object file format. [set to "ELF" on architectures that - use ELF -- currently all architectures]. - -TOOLCHAIN_MISSING - If not "no", this indicates that the platform being built - does not have a working in-tree toolchain. If the - ${MACHINE_ARCH} in question falls into this category, - TOOLCHAIN_MISSING is conditionally assigned the value "yes". - Otherwise, the variable is unconditionally assigned the - value "no". - If not "no", ${MKBINUTILS}, ${MKGCC}, and ${MKGDB} are - unconditionally assigned the value "no". - -EXTERNAL_TOOLCHAIN - This variable is not directly set by , but - including is the canonical way to gain - access to this variable. The variable should be defined - either in the user's environment or in the user's mk.conf - file. If defined, this variable indicates the root of - an external toolchain which will be used to build the - tree. For example, if a platform is a ${TOOLCHAIN_MISSING} - platform, EXTERNAL_TOOLCHAIN can be used to re-enable the - cross-compile framework. - - If EXTERNAL_TOOLCHAIN is defined, ${MKGCC} is unconditionally - assigned the value "no", since the external version of the - compiler may not be able to build the library components of - the in-tree compiler. - - NOTE: This variable is not yet used in as many places as - it should be. Expect the exact semantics of this variable - to change in the short term as parts of the cross-compile - framework continue to be cleaned up. - -The following variables are defined to commands to perform the -appropriate operation, with the default in [brackets]. Note that -the defaults change if USETOOLS == "yes": - -TOOL_AMIGAAOUT2BB aout to Amiga bootblock converter. [amiga-aout2bb] - -TOOL_AMIGAELF2BB ELF to Amiga bootblock converter. [amiga-elf2bb] - -TOOL_AMIGATXLT Amige assembly language format translator. [amiga-txlt] - -TOOL_ASN1_COMPILE ASN1 compiler. [asn1_compile] - -TOOL_AWK Pattern-directed scanning/processing language. [awk] - -TOOL_CAP_MKDB Create capability database. [cap_mkdb] - -TOOL_CAT Concatenate and print files. [cat] - -TOOL_CKSUM Display file checksums. [cksum] - -TOOL_COMPILE_ET Error table compiler. [compile_et] - -TOOL_CONFIG Build kernel compilation directories. [config] - -TOOL_CRUNCHGEN Generate crunched binary build environment. [crunchgen] - -TOOL_CTAGS Create a tags file. [ctags] - -TOOL_DB Manipulate db(3) databases. [db] - -TOOL_DISKLABEL Read and write disk pack label. [disklabel] - -TOOL_EQN Format equations for groff. [eqn] - -TOOL_FDISK MS-DOS partition maintenance program. [fdisk] - -TOOL_FGEN IEEE 1275 Open Firmware FCode Tokenizer. [fgen] - -TOOL_GENASSYM Generate constants for assembly files. [genassym] - -TOOL_GENCAT Generate NLS message catalogs. [gencat] - -TOOL_GMAKE GNU make utility. [gmake] - -TOOL_GREP Print lines matching a pattern. [grep] - -TOOL_GROFF Front end for groff document formatting system. [groff] - -TOOL_GZIP Compression/decompression tool. [gzip] - -TOOL_GZIP_N Same as TOOL_GZIP, plus a command line option to - prevent it from inserting file names or timestamps - into the compressed output. - [${TOOL_GZIP} ${GZIP_N_FLAG}] - -TOOL_HEXDUMP Ascii, decimal, hexadecimal, octal dump. [hexdump] - -TOOL_HP300MKBOOT Make bootable image for hp300. [hp300-mkboot] - -TOOL_HPPAMKBOOT Make bootable image for hppa. [hppa-mkboot] - -TOOL_INDXBIB Make bibliographic database's inverted index. [indxbib] - -TOOL_INSTALLBOOT Install disk bootstrap software. [installboot] - -TOOL_INSTALL_INFO Update info/dir entries. [install-info] - -TOOL_JOIN Relational database operator. [join] - -TOOL_M4 M4 macro language processor. [m4] - -TOOL_MACPPCFIXCOFF Fix up xcoff headers for macppc. [macppc-fixcoff] - -TOOL_MAKEFS Create file system image from directory tree. [makefs] - -TOOL_MAKEINFO Translate Texinfo documents. [makeinfo] - -TOOL_MAKEWHATIS Create a whatis.db database. [makewhatis] - -TOOL_MDSETIMAGE Set kernel RAM disk image. [mdsetimage] - -TOOL_MENUC Menu compiler. [menuc] - -TOOL_MIPSELF2ECOFF Convert ELF-format executable to ECOFF for mips. - [mips-elf2ecoff] - -TOOL_MKCSMAPPER Make charset mapping table. [mkcsmapper] - -TOOL_MKESDB Make encoding scheme database. [mkesdb] - -TOOL_MKLOCALE Make LC_CTYPE locale files. [mklocale] - -TOOL_MKMAGIC Create database for file(1). [file] - -TOOL_MKNOD Make device special file. [mknod] - -TOOL_MKTEMP Make (unique) temporary file name. [mktemp] - -TOOL_MSGC Simple message list compiler. [msgc] - -TOOL_MTREE Map a directory hierarchy. [mtree] - -TOOL_NCDCS Turn ELF kernel into a NCD firmware image. [ncdcs] - -TOOL_PAX Manipulate file archives and copy directories. [pax] - -TOOL_PIC Compile pictures for groff. [pic] - -TOOL_PIGZ Parallel compressor. [pigz] - -TOOL_POWERPCMKBOOTIMAGE Make bootable image for powerpc. [powerpc-mkbootimage] - -TOOL_PWD_MKDB Generate the password databases. [pwd_mkdb] - -TOOL_REFER Preprocess bibliographic references for groff. [refer] - -TOOL_ROFF_ASCII Generate ASCII groff output. [nroff] - -TOOL_ROFF_DVI Generate DVI groff output. [${TOOL_GROFF} -Tdvi] - -TOOL_ROFF_HTML Generate HTML groff output. - [${TOOL_GROFF} -Tlatin1 -mdoc2html] - -TOOL_ROFF_PS Generate PS groff output. [${TOOL_GROFF} -Tps] - -TOOL_ROFF_RAW Generate "raw" groff output. [${TOOL_GROFF} -Z] - -TOOL_RPCGEN Remote Procedure Call (RPC) protocol compiler. [rpcgen] - -TOOL_SED Stream editor. [sed] - -TOOL_SOELIM Eliminate .so's from groff input. [soelim] - -TOOL_SPARKCRC Generate a crc suitable for use in a sparkive file. - [sparkcrc] - -TOOL_STAT Display file status. [stat] - -TOOL_STRFILE Create a random access file for storing strings. - [strfile] - -TOOL_SUNLABEL Read or modify a SunOS disk label. [sunlabel] - -TOOL_TBL Format tables for groff. [tbl] - -TOOL_UUDECODE Uudecode a binary file. [uudecode] - -TOOL_VGRIND Grind nice listings of programs. [vgrind -f] - -TOOL_ZIC Time zone compiler. [zic] - -For each possible value of MACHINE_CPU, MACHINES.${MACHINE_CPU} contain a -list of what ports can be built for it. This keeps those definitions in -centralized place. - - is generally useful when building your own Makefiles so that -they use the same default owners etc. as the rest of the tree. - - -=-=-=-=-= bsd.clean.mk =-=-=-=-= - -The include file defines the clean and cleandir -targets. It uses the following variables: - -CLEANFILES Files to remove for both the clean and cleandir targets. - -CLEANDIRFILES Files to remove for the cleandir target, but not for - the clean target. - -MKCLEANSRC Controls whether or not the clean and cleandir targets - will delete files from both the object directory, - ${.OBJDIR}, and the source directory, ${.CURDIR}. - - If MKCLEANSRC is set to "no", then the file names in - CLEANFILES or CLEANDIRFILES are interpreted relative - to the object directory, ${.OBJDIR}. This is the - traditional behaviour. - - If MKCLEANSRC is set to "yes", then the file deletion - is performed relative to both the object directory, - ${.OBJDIR}, and the source directory, ${.CURDIR}. (This - has no effect if ${.OBJDIR} is the same as ${.CURDIR}.) - Deleting files from ${.CURDIR} is intended to remove - stray output files that had been left in the source - directory by an earlier build that did not use object - directories. - - The default is MKCLEANSRC=yes. If you always build with - separate object directories, and you are sure that there - are no stray files in the source directories, then you - may set MKCLEANSRC=no to save some time. - -MKCLEANVERIFY Controls whether or not the clean and cleandir targets - will verify that files have been deleted. - - If MKCLEANVERIFY is set to "no", then the files will - be deleted using a "rm -f" command, and its success or - failure will be ignored. - - If MKCLEANVERIFY is set to "yes", then the success of - the "rm -f" command will be verified using an "ls" - command. - - The default is MKCLEANVERIFY=yes. If you are sure that - there will be no problems caused by file permissions, - read-only file systems, or the like, then you may set - MKCLEANVERIFY=no to save some time. - -To use the clean and cleandir targets defined in , other -Makefiles or bsd.*.mk files should append file names to the CLEANFILES -or CLEANDIRFILES variables. For example: - - CLEANFILES+= a.out - CLEANDIRFILES+= .depend - - .include - -The files listed in CLEANFILES and CLEANDIRFILES must not be -directories, because the potential risk from running "rm -rf" commands -in bsd.clean.mk is considered too great. If you want to recursively -delete a directory as part of "make clean" or "make cleandir" then you -need to provide your own target. - -=-=-=-=-= bsd.dep.mk =-=-=-=-= - -The include file contains the default targets for building -.depend files. It creates .d files from entries in SRCS and DPSRCS -that are C, C++, or Objective C source files, and builds .depend from the -.d files. All other files in SRCS and all of DPSRCS will be used as -dependencies for the .d files. In order for this to function correctly, -it should be .included after all other .mk files and directives that may -modify SRCS or DPSRCS. It uses the following variables: - -SRCS List of source files to build the program. - -DPSRCS List of source files which are needed for generating - dependencies, but are not needed in ${SRCS}. - - -=-=-=-=-= bsd.files.mk =-=-=-=-= - -The include file handles the FILES variables and is included -from and , and uses the following variables: - -FILES The list of files to install. - -CONFIGFILES Similar semantics to FILES, except that the files - are installed by the `configinstall' target, - not the `install' target. - The FILES* variables documented below also apply. - -FILESOWN File owner. [${BINOWN}] - -FILESGRP File group. [${BINGRP}] - -FILESMODE File mode. [${NONBINMODE}] - -FILESDIR The location to install the files. - -FILESNAME Optional name to install each file as. - -FILESOWN_ File owner of the specific file . - -FILESGRP_ File group of the specific file . - -FILESMODE_ File mode of the specific file . - -FILESDIR_ The location to install the specific file . - -FILESNAME_ Optional name to install as. - -FILESBUILD If this variable is defined, then its value will be - used as the default for all FILESBUILD_ variables. - Otherwise, the default will be "no". - -FILESBUILD_ A value different from "no" will add the file to the list of - targets to be built by `realall'. Users of that variable - should provide a target to build the file. - - -BUILDSYMLINKS List of two word items: - lnsrc lntgt - For each lnsrc item, create a symlink named lntgt. - The lntgt symlinks are removed by the cleandir target. - -UUDECODE_FILES List of files which are stored as .uue in the source - tree. Each one will be decoded with ${TOOL_UUDECODE}. - The source files have a `.uue' suffix, the generated files do - not. - -UUDECODE_FILES_RENAME_ - Rename the output from the decode to the provided name. - - *NOTE: These files are simply decoded, with no install or other - rule applying implicitly except being added to the clean - target. - -=-=-=-=-= bsd.gcc.mk =-=-=-=-= - -The include file computes various parameters related to GCC -support libraries. It defines no targets. MUST be included -before . - -The primary users of are and , each -of which need to know where to find certain GCC support libraries. - -The behavior of is influenced by the EXTERNAL_TOOLCHAIN variable, -which is generally set by the user. If EXTERNAL_TOOLCHAIN it set, then -the compiler is asked where to find the support libraries, otherwise the -support libraries are found in ${DESTDIR}/usr/lib. - - sets the following variables: - -_GCC_CRTBEGIN The full path name to crtbegin.o. - -_GCC_CRTBEGINS The full path name to crtbeginS.o. - -_GCC_CRTEND The full path name to crtend.o. - -_GCC_CRTENDS The full path name to crtendS.o. - -_GCC_LIBGCCDIR The directory where libgcc.a is located. - - -=-=-=-=-= bsd.inc.mk =-=-=-=-= - -The include file defines the includes target and uses the -variables: - -INCS The list of include files. - -INCSDIR The location to install the include files. - -INCSNAME Target name of the include file, if only one; same as - FILESNAME, but for include files. - -INCSYMLINKS Similar to SYMLINKS in , except that these - are installed in the 'includes' target and not the - (much later) 'install' target. - -INCSNAME_ The name file should be installed as, if not , - same as FILESNAME_, but for include files. - - -=-=-=-=-= bsd.info.mk =-=-=-=-= - -The include file is used to generate and install GNU Info -documentation from respective Texinfo source files. It defines three -implicit targets (.txi.info, .texi.info, and .texinfo.info), and uses the -following variables: - -TEXINFO List of Texinfo source files. Info documentation will - consist of single files with the extension replaced by - .info. - -INFOFLAGS Flags to pass to makeinfo. [] - - -=-=-=-=-= bsd.kernobj.mk =-=-=-=-= - -The include file defines variables related to the -location of kernel sources and object directories. - -KERNSRCDIR Is the location of the top of the kernel src. - [${_SRC_TOP_}/sys] - -KERNARCHDIR Is the location of the machine dependent kernel sources. - [arch/${MACHINE}] - -KERNCONFDIR Is where the configuration files for kernels are found. - [${KERNSRCDIR}/${KERNARCHDIR}/conf] - -KERNOBJDIR Is the kernel build directory. The kernel GENERIC for - instance will be compiled in ${KERNOBJDIR}/GENERIC. - The default value is - ${MAKEOBJDIRPREFIX}${KERNSRCDIR}/${KERNARCHDIR}/compile - if it exists or the target 'obj' is being made. - Otherwise the default is - ${KERNSRCDIR}/${KERNARCHDIR}/compile. - -It is important that Makefiles (such as those under src/distrib) that -wish to find compiled kernels use and ${KERNOBJDIR} -rather than make assumptions about the location of the compiled kernel. - - -=-=-=-=-= bsd.kinc.mk =-=-=-=-= - -The include file defines the many targets (includes, -subdirectories, etc.), and is used by kernel makefiles to handle -include file installation. It is intended to be included alone, by -kernel Makefiles. It uses similar variables to . -Please see for more details, and keep the documentation -in that file up to date. - -=-=-=-=-= bsd.syscall.mk =-=-=-=-= - -The include file contains the logic to create syscall -files for various emulations. It includes to handle the -rest of the targets. - -=-=-=-=-= bsd.lib.mk =-=-=-=-= - -The include file has support for building libraries. It has -the same eight targets as : all, clean, cleandir, depend, -includes, install, lint, and tags. Additionally, it has a checkver target -which checks for installed shared object libraries whose version is greater -that the version of the source. It has a limited number of suffixes, -consistent with the current needs of the BSD tree. includes - to get shared library parameters. - -It sets/uses the following variables: - -LIB The name of the library to build. - -LIBDIR Target directory for libraries. - -MKARZERO Normally, ar(1) sets the timestamps, uid, gid and - permissions in files inside its archives to those of - the file it was fed. This leads to non-reproduceable - builds. If MKARZERO is set to "yes" (default is the - same as MKREPRO, or "no" if MKREPRO is not defined), - then the "D" flag is passed to ar, causing the - timestamp, uid and gid to be zeroed and the file - permissions to be set to 644. This allows .a files - from different builds to be bit identical. - -SHLIBINSTALLDIR Target directory for shared libraries if ${USE_SHLIBDIR} - is not "no". - -SHLIB_MAJOR -SHLIB_MINOR -SHLIB_TEENY Major, minor, and teeny version numbers of shared library - -USE_SHLIBDIR If not "no", use ${SHLIBINSTALLDIR} instead of ${LIBDIR} - as the path to install shared libraries to. - USE_SHLIBDIR must be defined before is included. - Default: no - -LIBISMODULE If not "no", install as ${LIB}.so (without the "lib" prefix), - and act as "MKDEBUGLIB=no MKLINT=no MKPICINSTALL=no - MKPROFILE=no MKSTATICLIB=no". - Default: no - -LIBISPRIVATE If not "no", act as "MKDEBUGLIB=no MKLINT=no MKPIC=no - MKPROFILE=no", and don't install the (.a) library. - This is useful for "build only" helper libraries. - Default: no - -LIBISCXX If not "no", Use ${CXX} instead of ${CC} to link - shared libraries. - This is useful for C++ libraries. - Default: no - -LINTLIBDIR Target directory for lint libraries. - -LIBGRP Library group. - -LIBOWN Library owner. - -LIBMODE Library mode. - -LDADD Additional loader objects. - -MAN The manual pages to be installed (use a .1 - .9 suffix). - -NOCHECKVER_ -NOCHECKVER If set, disables checking for installed shared object - libraries with versions greater than the source. A - particular library name, without the "lib" prefix, may - be appended to the variable name to disable the check for - only that library. - -SRCS List of source files to build the library. Suffix types - .s, .c, and .f are supported. Note, .s files are preferred - to .c files of the same name. (This is not the default for - versions of make.) - -LIBDPLIBS A list of the tuples: - libname path-to-srcdir-of-libname - - For each tuple; - * LIBDO.libname contains the .OBJDIR of the library - `libname', and if it is not set it is determined - from the srcdir and added to MAKEOVERRIDES (the - latter is to allow for build time optimization). - * LDADD gets -L${LIBDO.libname} -llibname added. - * DPADD gets ${LIBDO.libname}/liblibname.so or - ${LIBDO.libname}/liblibname.a added. - - The special value "_external" for LIBDO.lib makes the - build system to assume the library comes from outside - of the NetBSD source tree and only causes -llibname - to be added to LDADD. - - This variable may be used for individual libraries, as - well as in parent directories to cache common libraries - as a build-time optimization. - -The include file includes the file named "../Makefile.inc" -if it exists, as well as the include file . - -It has rules for building profiled objects; profiled libraries are -built by default. - -Libraries are ranlib'd when made. - - -=-=-=-=-= bsd.links.mk =-=-=-=-= - -The include file handles the LINKS and SYMLINKS variables -and is included from from and . - -LINKSOWN, LINKSGRP, and LINKSMODE, are relevant only if a metadata log -is used. The defaults may be modified by other bsd.*.mk files which -include bsd.links.mk. In the future, these variables may be replaced -by a method for explicitly recording hard links in a metadata log. - -LINKS The list of hard links, consisting of pairs of paths: - source-file target-file - ${DESTDIR} is prepended to both paths before linking. - For example, to link /bin/test and /bin/[, use: - LINKS=/bin/test /bin/[ - -CONFIGLINKS Similar semantics to LINKS, except that the links - are installed by the `configinstall' target, - not the `install' target. - -SYMLINKS The list of symbolic links, consisting of pairs of paths: - source-file target-file - ${DESTDIR} is only prepended to target-file before linking. - For example, to symlink /usr/bin/tar to /bin/tar resulting - in ${DESTDIR}/usr/bin/tar -> /bin/tar: - SYMLINKS=/bin/tar /usr/bin/tar - -CONFIGSYMLINKS Similar semantics to SYMLINKS, except that the symbolic links - are installed by the `configinstall' target, - not the `install' target. - -LINKSOWN Link owner. [${BINOWN}] - -LINKSGRP Link group. [${BINGRP}] - -LINKSMODE Link mode. [${NONBINMODE}] - -LINKSOWN_ Link owner of the specific file . - -LINKSGRP_ Link group of the specific file . - -LINKSMODE_ Link mode of the specific file . - - -=-=-=-=-= bsd.man.mk =-=-=-=-= - -The include file handles installing manual pages and their -links. - -It has a three targets: - - catinstall: - Install the preformatted manual pages and their links. - htmlinstall: - Install the HTML manual pages and their links. - maninstall: - Install the manual page sources and their links. - -It sets/uses the following variables: - -MANDIR Base path for manual installation. - -MANGRP Manual group. - -MANOWN Manual owner. - -MANMODE Manual mode. - -MANSUBDIR Subdirectory under the manual page section, i.e. "/vax" - or "/tahoe" for machine specific manual pages. - -MAN The manual pages to be installed (use a .1 - .9 suffix). - -MLINKS List of manual page links (using a .1 - .9 suffix). The - linked-to file must come first, the linked file second, - and there may be multiple pairs. - -The include file includes a file named "../Makefile.inc" if -it exists. - - -=-=-=-=-= bsd.obj.mk =-=-=-=-= - -The include file defines targets related to the creation -and use of separated object and source directories. - -If an environment variable named MAKEOBJDIRPREFIX is set, make(1) uses -${MAKEOBJDIRPREFIX}${.CURDIR} as the name of the object directory if -it exists. Otherwise make(1) looks for the existence of a -subdirectory (or a symlink to a directory) of the source directory -into which built targets should be placed. If an environment variable -named MAKEOBJDIR is set, make(1) uses its value as the name of the -object directory; failing that, make first looks for a subdirectory -named "obj.${MACHINE}", and if that doesn't exist, it looks for "obj". - -Object directories are not created automatically by make(1) if they -don't exist; you need to run a separate "make obj". (This will happen -during a top-level build if "MKOBJDIRS" is set to a value other than -"no"). When the source directory is a subdirectory of ${BSDSRCDIR} -- -and this is determined by a simple string prefix comparison -- object -directories are created in a separate object directory tree, and a -symlink to the object directory in that tree is created in the source -directory; otherwise, "make obj" assumes that you're not in the main -source tree and that it's not safe to use a separate object tree. - -Several variables used by control exactly what -directories and links get created during a "make obj": - -MAKEOBJDIR If set, this is the component name of the object - directory. - -OBJMACHINE If this is set but MAKEOBJDIR is not set, creates - object directories or links named "obj.${MACHINE}"; - otherwise, just creates ones named "obj". - -USR_OBJMACHINE If set, and the current directory is a subdirectory of - ${BSDSRCDIR}, create object directory in the - corresponding subdirectory of ${BSDOBJDIR}.${MACHINE}; - otherwise, create it in the corresponding subdirectory - of ${BSDOBJDIR} - -BUILDID If set, the contents of this variable are appended - to the object directory name. If OBJMACHINE is also - set, ".${BUILDID}" is added after ".${MACHINE}". - - -=-=-=-=-= bsd.prog.mk =-=-=-=-= - -The include file handles building programs from one or -more source files, along with their manual pages. It has a limited number -of suffixes, consistent with the current needs of the BSD tree. - includes to get shared library parameters. - -It has eight targets: - - all: - build the program and its manual page. This also - creates a GDB initialization file (.gdbinit) in - the objdir. The .gdbinit file sets the shared library - prefix to ${DESTDIR} to facilitate cross-debugging. - clean: - remove the program, any object files and the files a.out, - Errs, errs, mklog, and ${PROG}.core. - cleandir: - remove all of the files removed by the target clean, as - well as .depend, tags, and any manual pages. - `distclean' is a synonym for `cleandir'. - depend: - make the dependencies for the source files, and store - them in the file .depend. - includes: - install any header files. - install: - install the program and its manual pages; if the Makefile - does not itself define the target install, the targets - beforeinstall and afterinstall may also be used to cause - actions immediately before and after the install target - is executed. - lint: - run lint on the source files - tags: - create a tags file for the source files. - -It sets/uses the following variables: - -BINGRP Binary group. - -BINOWN Binary owner. - -BINMODE Binary mode. - -CLEANDIRFILES Additional files to remove for the cleandir target. - -CLEANFILES Additional files to remove for the clean and cleandir targets. - -CONFIGOPTS Additional flags to config(1) when building kernels. - -COPTS Additional flags to the compiler when creating C objects. - -COPTS. Additional flags to the compiler when creating the - C objects for . - For .[ly], ".c" must be used. - -CPUFLAGS Additional flags to the compiler/assembler to select - CPU instruction set options, CPU tuning options, etc. - -CPUFLAGS. Additional flags to the compiler/assembler for . - For .[ly], ".c" must be used. - -CPPFLAGS Additional flags to the C pre-processor. - -CPPFLAGS. Additional flags to the C pre-processor for . - For .[ly], ".c" must be used. - -GDBINIT List of GDB initialization files to add to "source" - directives in the .gdbinit file that is created in the - objdir. - -LDADD Additional loader objects. Usually used for libraries. - For example, to load with the compatibility and utility - libraries, use: - - LDADD+=-lutil -lcompat - -LDFLAGS Additional linker flags (passed to ${CC} during link). - -LINKS See - -OBJCOPTS Additional flags to the compiler when creating ObjC objects. - -OBJCOPTS. Additional flags to the compiler when creating the - ObjC objects for . - For .[ly], ".c" must be used. - -SYMLINKS See - -MAN Manual pages (should end in .1 - .9). If no MAN variable is - defined, "MAN=${PROG}.1" is assumed. - -PAXCTL_FLAGS If defined, run paxctl(1) on the program binary after link - time, with the value of this variable as args to paxctl(1). - -PAXCTL_FLAGS.${PROG} Custom override for PAXCTL_FLAGS. - -PROG The name of the program to build. If not supplied, nothing - is built. - -PROG_CXX If defined, the name of the program to build. Also - causes to link the program with the C++ - compiler rather than the C compiler. PROG_CXX overrides - the value of PROG if PROG is also set. - -PROGNAME The name that the above program will be installed as, if - different from ${PROG}. - -SRCS List of source files to build the program. If SRCS is not - defined, it's assumed to be ${PROG}.c. - -DPSRCS List of source files which are needed for generating - dependencies, but are not needed in ${SRCS}. - -DPADD Additional dependencies for the program. Usually used for - libraries. For example, to depend on the compatibility and - utility libraries use: - - DPADD+=${LIBCOMPAT} ${LIBUTIL} - - The following system libraries are predefined for DPADD: - - LIBARCHIVE?= ${DESTDIR}/usr/lib/libarchive.a - LIBASN1?= ${DESTDIR}/usr/lib/libasn1.a - LIBATF_C?= ${DESTDIR}/usr/lib/libatf-c.a - LIBATF_CXX?= ${DESTDIR}/usr/lib/libatf-c++.a - LIBBIND9?= ${DESTDIR}/usr/lib/libbind9.a - LIBBLUETOOTH?= ${DESTDIR}/usr/lib/libbluetooth.a - LIBBSDMALLOC?= ${DESTDIR}/usr/lib/libbsdmalloc.a - LIBBZ2?= ${DESTDIR}/usr/lib/libbz2.a - LIBC?= ${DESTDIR}/usr/lib/libc.a - LIBCOMPAT?= ${DESTDIR}/usr/lib/libcompat.a - LIBCOM_ERR?= ${DESTDIR}/usr/lib/libcom_err.a - LIBCRT0?= ${DESTDIR}/usr/lib/crt0.o - LIBCRTI?= ${DESTDIR}/usr/lib/crti.o - LIBCRYPT?= ${DESTDIR}/usr/lib/libcrypt.a - LIBCRYPTO?= ${DESTDIR}/usr/lib/libcrypto.a - LIBCRYPTO_IDEA?=${DESTDIR}/usr/lib/libcrypto_idea.a - LIBCRYPTO_MDC2?=${DESTDIR}/usr/lib/libcrypto_mdc2.a - LIBCRYPTO_RC5?= ${DESTDIR}/usr/lib/libcrypto_rc5.a - LIBCURSES?= ${DESTDIR}/usr/lib/libcurses.a - LIBC_PIC?= ${DESTDIR}/usr/lib/libc_pic.a - LIBDBM?= ${DESTDIR}/usr/lib/libdbm.a - LIBDES?= ${DESTDIR}/usr/lib/libdes.a - LIBDNS?= ${DESTDIR}/usr/lib/libdns.a - LIBEDIT?= ${DESTDIR}/usr/lib/libedit.a - LIBEVENT?= ${DESTDIR}/usr/lib/libevent.a - LIBEVENT_OPENSSL?= ${DESTDIR}/usr/lib/libevent_openssl.a - LIBEVENT_PTHREADS?= ${DESTDIR}/usr/lib/libevent_pthreads.a - LIBEXPAT?= ${DESTDIR}/usr/lib/libexpat.a - LIBFETCH?= ${DESTDIR}/usr/lib/libfetch.a - LIBFORM?= ${DESTDIR}/usr/lib/libform.a - LIBFL?= ${DESTDIR}/usr/lib/libfl.a - LIBG2C?= ${DESTDIR}/usr/lib/libg2c.a - LIBGCC?= ${DESTDIR}/usr/lib/libgcc.a - LIBGNUMALLOC?= ${DESTDIR}/usr/lib/libgnumalloc.a - LIBGSSAPI?= ${DESTDIR}/usr/lib/libgssapi.a - LIBHDB?= ${DESTDIR}/usr/lib/libhdb.a - LIBHEIMBASE?= ${DESTDIR}/usr/lib/libheimbase.a - LIBHEIMNTLM?= ${DESTDIR}/usr/lib/libheimntlm.a - LIBHX500?= ${DESTDIR}/usr/lib/libhx500.a - LIBINTL?= ${DESTDIR}/usr/lib/libintl.a - LIBIPSEC?= ${DESTDIR}/usr/lib/libipsec.a - LIBISC?= ${DESTDIR}/usr/lib/libisc.a - LIBISCCC?= ${DESTDIR}/usr/lib/libisccc.a - LIBISCFG?= ${DESTDIR}/usr/lib/libiscfg.a - LIBKADM5CLNT?= ${DESTDIR}/usr/lib/libkadm5clnt.a - LIBKADM5SRV?= ${DESTDIR}/usr/lib/libkadm5srv.a - LIBKAFS?= ${DESTDIR}/usr/lib/libkafs.a - LIBKRB5?= ${DESTDIR}/usr/lib/libkrb5.a - LIBKVM?= ${DESTDIR}/usr/lib/libkvm.a - LIBL?= ${DESTDIR}/usr/lib/libl.a - LIBLBER?= ${DESTDIR}/usr/lib/liblber.a - LIBLDAP?= ${DESTDIR}/usr/lib/libldap.a - LIBLDAP_R?= ${DESTDIR}/usr/lib/libldap_r.a - LIBLUA?= ${DESTDIR}/usr/lib/liblua.a - LIBLUTOK?= ${DESTDIR}/usr/lib/liblutok.a - LIBLWRES?= ${DESTDIR}/usr/lib/liblwres.a - LIBM?= ${DESTDIR}/usr/lib/libm.a - LIBMAGIC?= ${DESTDIR}/usr/lib/libmagic.a - LIBMENU?= ${DESTDIR}/usr/lib/libmenu.a - LIBOBJC?= ${DESTDIR}/usr/lib/libobjc.a - LIBOSSAUDIO?= ${DESTDIR}/usr/lib/libossaudio.a - LIBPAM?= ${DESTDIR}/usr/lib/libpam.a - LIBPCAP?= ${DESTDIR}/usr/lib/libpcap.a - LIBPCI?= ${DESTDIR}/usr/lib/libpci.a - LIBPMC?= ${DESTDIR}/usr/lib/libpmc.a - LIBPOSIX?= ${DESTDIR}/usr/lib/libposix.a - LIBPTHREAD?= ${DESTDIR}/usr/lib/libpthread.a - LIBPTHREAD_DBG?=${DESTDIR}/usr/lib/libpthread_dbg.a - LIBPUFFS?= ${DESTDIR}/usr/lib/libpuffs.a - LIBQUOTA?= ${DESTDIR}/usr/lib/libquota.a - LIBRADIUS?= ${DESTDIR}/usr/lib/libradius.a - LIBRESOLV?= ${DESTDIR}/usr/lib/libresolv.a - LIBRMT?= ${DESTDIR}/usr/lib/librmt.a - LIBROKEN?= ${DESTDIR}/usr/lib/libroken.a - LIBRPCSVC?= ${DESTDIR}/usr/lib/librpcsvc.a - LIBRT?= ${DESTDIR}/usr/lib/librt.a - LIBRUMP?= ${DESTDIR}/usr/lib/librump.a - LIBRUMPFS_CD9660FS?=${DESTDIR}/usr/lib/librumpfs_cd9660fs.a - LIBRUMPFS_EFS?= ${DESTDIR}/usr/lib/librumpfs_efs.a - LIBRUMPFS_EXT2FS?=${DESTDIR}/usr/lib/librumpfs_ext2fs.a - LIBRUMPFS_FFS?= ${DESTDIR}/usr/lib/librumpfs_ffs.a - LIBRUMPFS_HFS?= ${DESTDIR}/usr/lib/librumpfs_hfs.a - LIBRUMPFS_LFS?= ${DESTDIR}/usr/lib/librumpfs_lfs.a - LIBRUMPFS_MSDOSFS?=${DESTDIR}/usr/lib/librumpfs_msdosfs.a - LIBRUMPFS_NFS?= ${DESTDIR}/usr/lib/librumpfs_nfs.a - LIBRUMPFS_NTFS?=${DESTDIR}/usr/lib/librumpfs_ntfs.a - LIBRUMPFS_SYSPUFFS?=${DESTDIR}/usr/lib/librumpfs_syspuffs.a - LIBRUMPFS_TMPFS?=${DESTDIR}/usr/lib/librumpfs_tmpfs.a - LIBRUMPFS_UDF?= ${DESTDIR}/usr/lib/librumpfs_udf.a - LIBRUMPFS_UFS?= ${DESTDIR}/usr/lib/librumpfs_ufs.a - LIBRUMPUSER?= ${DESTDIR}/usr/lib/librumpuser.a - LIBSASLC?= ${DESTDIR}/usr/lib/libsaslc.a - LIBSKEY?= ${DESTDIR}/usr/lib/libskey.a - LIBSL?= ${DESTDIR}/usr/lib/libsl.a - LIBSQLITE3?= ${DESTDIR}/usr/lib/libsqlite3.a - LIBSS?= ${DESTDIR}/usr/lib/libss.a - LIBSSH?= ${DESTDIR}/usr/lib/libssh.a - LIBSSL?= ${DESTDIR}/usr/lib/libssl.a - LIBSSP?= ${DESTDIR}/usr/lib/libssp.a - LIBSTDCXX?= ${DESTDIR}/usr/lib/libstdc++.a - LIBSUPCXX?= ${DESTDIR}/usr/lib/libsupc++.a - LIBTERMINFO?= ${DESTDIR}/usr/lib/libterminfo.a - LIBTRE?= ${DESTDIR}/usr/lib/libtre.a - LIBUSBHID?= ${DESTDIR}/usr/lib/libusbhid.a - LIBUTIL?= ${DESTDIR}/usr/lib/libutil.a - LIBWIND?= ${DESTDIR}/usr/lib/libwind.a - LIBWRAP?= ${DESTDIR}/usr/lib/libwrap.a - LIBY?= ${DESTDIR}/usr/lib/liby.a - LIBZ?= ${DESTDIR}/usr/lib/libz.a - - The following X-Windows libraries are predefined for DPADD: - - LIBFS?= ${DESTDIR}/usr/X11R7/lib/libFS.a - LIBGL?= ${DESTDIR}/usr/X11R7/lib/libGL.a - LIBGLU?= ${DESTDIR}/usr/X11R7/lib/libGLU.a - LIBICE?= ${DESTDIR}/usr/X11R7/lib/libICE.a - LIBSM?= ${DESTDIR}/usr/X11R7/lib/libSM.a - LIBX11?= ${DESTDIR}/usr/X11R7/lib/libX11.a - LIBX11_XCB?= ${DESTDIR}/usr/X11R7/lib/libX11-xcb.a - LIBXTRAP?= ${DESTDIR}/usr/X11R7/lib/libXTrap.a - LIBXAU?= ${DESTDIR}/usr/X11R7/lib/libXau.a - LIBXAW?= ${DESTDIR}/usr/X11R7/lib/libXaw.a - LIBXCB?= ${DESTDIR}/usr/X11R7/lib/libxcb.a - LIBXDMCP?= ${DESTDIR}/usr/X11R7/lib/libXdmcp.a - LIBXEXT?= ${DESTDIR}/usr/X11R7/lib/libXext.a - LIBXFONT?= ${DESTDIR}/usr/X11R7/lib/libXfont.a - LIBXFT?= ${DESTDIR}/usr/X11R7/lib/libXft.a - LIBXI?= ${DESTDIR}/usr/X11R7/lib/libXi.a - LIBXINERAMA?= ${DESTDIR}/usr/X11R7/lib/libXinerama.a - LIBXMU?= ${DESTDIR}/usr/X11R7/lib/libXmu.a - LIBXMUU?= ${DESTDIR}/usr/X11R7/lib/libXmuu.a - LIBXPM?= ${DESTDIR}/usr/X11R7/lib/libXpm.a - LIBXRANDR?= ${DESTDIR}/usr/X11R7/lib/libXrandr.a - LIBXRENDER?= ${DESTDIR}/usr/X11R7/lib/libXrender.a - LIBXSS?= ${DESTDIR}/usr/X11R7/lib/libXss.a - LIBXT?= ${DESTDIR}/usr/X11R7/lib/libXt.a - LIBXTST?= ${DESTDIR}/usr/X11R7/lib/libXtst.a - LIBXV?= ${DESTDIR}/usr/X11R7/lib/libXv.a - LIBXXF86DGA?= ${DESTDIR}/usr/X11R7/lib/libXxf86dga.a - LIBXXF86MISC?= ${DESTDIR}/usr/X11R7/lib/libXxf86misc.a - LIBXXF86VM?= ${DESTDIR}/usr/X11R7/lib/libXxf86vm.a - LIBDPS?= ${DESTDIR}/usr/X11R7/lib/libdps.a - LIBFNTSTUBS?= ${DESTDIR}/usr/X11R7/lib/libfntstubs.a - LIBFONTCACHE?= ${DESTDIR}/usr/X11R7/lib/libfontcache.a - LIBFONTCONFIG?= ${DESTDIR}/usr/X11R7/lib/libfontconfig.a - LIBFONTENC?= ${DESTDIR}/usr/X11R7/lib/libfontenc.a - LIBFREETYPE?= ${DESTDIR}/usr/X11R7/lib/libfreetype.a - LIBLBXUTIL?= ${DESTDIR}/usr/X11R7/lib/liblbxutil.a - LIBXKBFILE?= ${DESTDIR}/usr/X11R7/lib/libxkbfile.a - -SHAREDSTRINGS If defined, a new .c.o rule is used that results in shared - strings, using xstr(1). Note that this will not work with - parallel makes. - -STRIPFLAG The flag passed to the install program to cause the binary - to be stripped. - -SUBDIR A list of subdirectories that should be built as well. - Each of the targets will execute the same target in the - subdirectories. - -SCRIPTS A list of interpreter scripts [file.{sh,csh,pl,awk,...}]. - These are installed exactly like programs. - -SCRIPTSDIR The location to install the scripts. Each script can be - installed to a separate path by setting SCRIPTSDIR_