summaryrefslogtreecommitdiff
path: root/Makefile
AgeCommit message (Collapse)Author
2023-06-11more NBUILDJOBS deprecationlukem
The NBUILDJOBS option was deprecated in 2002; there's no need to keep warning about it, remove from params / show-params, and only document as obsolete.
2023-06-02build.sh: add show-params operationlukem
Add show-params operation to the makefile target, and reword params operation to describe what it's done since 2012. (In 2012-11-04 the Makefile's previous params target was renamed to show-params and a new params target was added to save a 'params' file, and build.sh wasn't adapted.)
2022-08-21Deprecate extsrc/, EXTSRCSRCDIR, MKEXTSRClukem
Remove support for building extsrc/: 1. Makefile: remove do-extsrc target. 2. build.sh: remove options -y and -Y extsrcdir. 3. distrib/sets: remove support for extsrc in various tools including the options -L ext and -y, and the extsrc sets. 4. doc/BUILDING.mdoc: remove docs for extsrc/, EXTSRCSRCDIR, MKEXTSRC (etc) 5. bsd.own.mk and various Makefiles: remove support for extsrc/, EXTSRCSRCDIR, MKEXTSRC. As proposed on tech-kern and tech-userlevel on 2022-01-07 and followed up on 2022-08-21.
2022-03-19Makefile: fix location of postinstall program for MAKEVERBOSE > 2rillig
If MAKEVERBOSE > 2, each shell command from a make target is echoed. This resulted in two additional words ending up in the variable _POSTINSTALL. Noticed by Brad Harder. Before: $ make -v _POSTINSTALL MAKEVERBOSE=3 echo .../usr.sbin/postinstall .../usr.sbin/postinstall/postinstall ... After: $ make -v _POSTINSTALL MAKEVERBOSE=3 .../usr.sbin/postinstall/postinstall ...
2020-10-29G/c spurious whitespace.uwe
2020-05-15automatically remove old debug files for modules.christos
2019-08-27Enhance the support of LLVM sanitizerskamil
Define _REENTRANT for MKSANITIZER build. This is needed for at least stdio code. This caused new build issued with duplicated symbols in few places and rump kernel code picking different code paths borrowed from libc. Handle all this in one go. Add bsd.sanitizer.mk to share common code used by programs and libraries. Switch from realall to beforeinstall target in .syms files. This is more reliable in MKSANITIZER.
2019-08-26Correct the build rules of LLVM sanitizerskamil
Fix generation of .a.syms files in LLVM sanitizers. The old rules weren't functional and sometimes they were fatal in the build. Add the .a.syms files to distribution sets. These files are generated only in certain .a files in 64bit version of sanitizers. Correct the location of files with LLVM sanitizers. Move the LLVM sanitizer entries from base to comp files.
2019-08-25Rework the LLVM compiler_rt build ruleskamil
Register external/bsd/compiler_rt as a _SUBDIR. This will allow to handle properly includes specific for compiler_rt. Centralize build_install target for external/bsd/compiler_rt. With the above changes MKOBJDIR is now respected properly for me. Do not install LLVM sanitizers into TOOLDIR for !HAVE_LLVM.
2019-08-23Enhance MKSANITIZER supportkamil
Add i386 support for LLVM sanitizers. Add new build phases do-sanitizer-* for building LLVM sanitizers after libs and before other programs. This phase is important as sanitizers need to link with libs and sanitized programs must link with sanitizer runtimes.
2019-06-14Use the generated "postinstall" in the objdir for postinstall-checkmartin
and postinstall-fix targets - we do not have a simple postinstall script in the source tree any more.
2019-06-06Fix editor mishapmartin
2018-11-11.WAIT for tools to complete.maya
There's a lot of waits inside tools, but nothing that promises that we haven't started doing the next subdir in the top level. Shows up as warnings in the cleandir stage on releng builds: cleandir ===> external/mit/xorg/server/drivers/xf86-video-suncg6 cleandir ===> lib/libpam/modules/pam_deny sh: /home/builds/ab/HEAD-llvm/sparc64/201811091720Z-tools/bin/nbawk: not found nbmake[9]: "../../Makefile.xf86-driver" line 23: warning: "/home/builds/ab/HEAD-llvm/sparc64/201811091720Z-tools/bin/nbawk '/^PACKAGE_VERSION=/ { match($1, "[0-9]+\\.[0-9]+\\.[0-9]+"); version = substr($1, RSTART, RLENGTH); } END { print version }' /home/source/ab/HEAD-llvm/xsrc/external/mit/xf86-video-ati/dist/configure" returned non-zero status sh: /home/builds/ab/HEAD-llvm/sparc64/201811091720Z-tools/bin/nbawk: not found
2018-05-02Re-add files that were accidentally deleted in my previous commit.pgoyette
2018-05-02Synch with HEADpgoyette
2018-03-13include bsd.clean.mk so that we actually clean up the attempted "params"mrg
2017-12-06Include somewhat misleadingly named do-x11 into BUILDTARGETS even withuwe
NOBINARIES set (subject to MKX11).
2017-12-06do-x11 target builds and installs only the tools and libraries, X11uwe
programs are built during the regular recursive build in extsrc. Edit its description accordingly and move it before do-build to match their order in BUILDTARGETS. While here, drop the "either" clause that has lost its "or" a few years ago when xfree86 reachover was removed.
2017-10-04Add NOBINARIES, useful to build tools are libraries which is what's neededchristos
for mknative.
2017-04-11don't descend into gnuchristos
2016-01-14fix direct reference to texinfo, blehchristos
2015-07-23remove the xfree86 reachover makefiles and the vast majority ofmrg
the support in the rest of the source tree. X11 sets could use some cleaning up perhaps (just deletion, as we've never really marked the old X11R6 as obsolete for native xorg using platforms so far either.)
2015-06-27Add MKCOMPATX11 knob for making X11 compat libraries.matt
2015-06-24Support building the xorg X11 libraries under MKCOMPAT.matt
Add XORG_MACHINE_ARCH to compat's bsd.*.mk Turn xorg makekeys and makestrs into real host tools which are installed into ${TOOLSDIR}
2015-05-03PR 49870: pass the xsrc path to postinstallmartin
2015-01-07Reorganise the way xorg is build. Move build of makestrs into src/toolsjoerg
as it is needed for the "includes" phase. Make it symlink all necessary headers in obj to decouple it from "includes" itself, breaking the dependency cycle. Move the do-x11 target between do-lib and do-build, so that libraries can get the benefit of build_install (correct .WAIT behavior) and everything else like "includes" uses the plain SUBDIR entry in external/mit.
2014-11-05iso -> imagessnj
2014-08-18remove obsolete BUILD_CC_LIB_BASEDIR and BUILD_CC_LIB_BASETARGET varsplunky
2014-06-16Run "postinstall fix obsolete_stand" just before checkflist,apb
if we are building with DESTDIR != /
2014-06-16Pass -m MACHINE -a MACHINE_ARCH to postinstallapb
2014-06-16Pass SED=${TOOL_SED:Q} to postinstall.apb
2014-06-13remove the build support for GCC 4.1, and any hacks i found for it.mrg
there could still be more -- i only looked for lines matching both "HAVE_GCC" and "4" as words (grep -w.)
2014-02-26prepare for moving GCC 4.5 into gcc.old:mrg
- convert to using ${EXTERNAL_GCC_SUBDIR} - define base-external-gpl3-gcc* subdir as GCC_SUBDIR - use <bsd.init.mk> over <bsd.own.mk> for a bunch of places; mostly because it arranges for ../Makefile.inc to be included earlier, and don't bother including the latter if the former is already included. - move all .PATH: settings after <bsd.{own,lib}.mk> so that all valid variables are set before it is evaluated - rename mknative-gcc* to match their subdir name. XXX the relationship between the Makefile.inc/Makefile.gcc_path files is kind of sketchy, it would be great if this was fixed.
2014-01-16eliminate use of bsd.sys.mk from Makefileschristos
2013-07-16hp700 rescue/ldd fails on -j16 build if usr.bin/ldd/elf32/libldd_elf32.ajoerg
hasn't been made yet. Add an explicit .WAIT before rescue to avoid this.
2012-12-03Add src/etc/Makefile.params, containing the definition of theapb
RELEASEVARS variable, and commands related to printing the values of the variables whose names are in RELEASEVARS. Add an awk script to remove noise printed by "make -j" or high levels of MAKEVERBOSE, so we get only the variables names and values. The values are escaped so that variables containing embedded newlines, quotation marks, and backslashes, are passed through safely. Adapt src/etc/Makefile and src/Makefile to use the new ${PRINT_PARAMS} command defined in src/etc/Makefile.params. Now ${DESTDIR}/etc/release and the params file in the top-level .OBJDIR should never contain unwanted noise, even after a build with MAKEVERBOSE=4.
2012-11-15Move the build_install logic from lib/Makefile into share/mk and re-usejoerg
it for tools. The existing logic broke for the LLVM build with the recent .ORDER changes in make.
2012-11-04Create a "params" file in the top-level .OBJDIR during "make build".apb
This file will contain the values of all variables that can affect the build process. Take care not to update the file's timestamp if the contents do not change. ${_SRC_TOP_OBJ}/params is referenced by ${_NETBSD_VERSION_DEPENDS} in bsd.own.mk. Rename the old "params" target to "show-params". This simply prints the values of the variables that can affect the build.
2012-08-17Implement build_install in src/lib/Makefile, which traverses thejoerg
subdirectories and invokes dependall/install. Do this in groups delimited by .WAIT to ensure that depending libraries can use the installed versions and don't need to know the locations in the source tree. Use this new target in src/Makefile to replace most of the adhoc library logic with two special cases, src/lib and src/compat. Adjust sys/Makefile to include the module directory when building them. Add some necessary .WAITs in src/lib/Makefile to reflect the dependencies from src/Makefile and also add the rump libraries here.
2012-08-15Add HOST_SH to _POSTINSTALL_ENV; needed forapb
usr.sbin/postinstall/postinstall revision 1.145.
2012-08-14Pass STAT=${TOOL_STAT:Q} through to postinstall.apb
2012-08-14TOOL_GREP is defined in share/mk/bsd.own.mk, but is not actually builtapb
from tools/Makefile. So don't try to use it here.
2012-08-14Pass all relevant tool variables to postinstall, not just a subset.apb
2012-08-14Fix unbalanced quotes in .if ${MKRUMP} != "no"apb
2012-08-08exclude rump targets if MKRUMP = nochristos
2012-04-21Add usr.bin to the exclude list for make includes.veego
This is no longer needed after flex was moved to the external framework.
2012-01-24s/is the not root/is not the root/ in a comment - from Snader_LBabs
2012-01-22Add "live-image" and "install-image" target support to build.sh.tsutsui
"live-image" target builds pre-installed disk images that can be used on emulators or boot from USB memory sticks to try NetBSD without installation. Currently amd64, i386, pmax, sparc, sparc64, sun2, sun3, and vax (which have working emulators and don't require extra tools like preparing msdosfs or partitioning MD label structures) support this target. "install-image" target builds an bootable installation disk image that can be used as an install CD but burned into USB memory sticks etc. Current only amd64 and i386 (which would support USB boot) have this target. For more details (and known issue) see following posts on netbsd-bugs@: http://mail-index.NetBSD.org/netbsd-bugs/2011/08/06/msg023639.html http://mail-index.NetBSD.org/netbsd-bugs/2011/09/23/msg024207.html http://mail-index.NetBSD.org/netbsd-bugs/2011/12/07/msg025166.html http://mail-index.NetBSD.org/netbsd-bugs/2011/12/08/msg025178.html No particular comments about implementation, and "go ahead" comments from mrg@, riz@ and christos@. Closes PR toolchain/45153 and PR misc/45155.
2011-09-09Move the code for creating src/BUILDING from "make build-docs" inapb
src/Makefile to "make regen" in src/doc/Makefile, and update a comment in doc/BUILDING.mdoc to match.
2011-08-08Fix typo that prevented installmodules from working with -Ujmcneill