History log of /freebsd/share/mk/bsd.obj.mk (Results 1 – 25 of 178)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: release/14.0.0
# d0b2dbfa 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: one-line sh pattern

Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/


Revision tags: release/13.2.0, release/12.4.0, release/13.1.0, release/12.3.0, release/13.0.0, release/12.2.0, release/11.4.0
# 33ae1ff7 07-Apr-2020 Bryan Drewery <bdrewery@FreeBSD.org>

NO_OBJ: Always fix .OBJDIR regardless of AUTO_OBJ.

Sponsored by: Dell EMC
MFC after: 2 weeks


Revision tags: release/12.1.0, release/11.3.0, release/12.0.0, release/11.2.0
# b00a5bd5 06-Dec-2017 Bryan Drewery <bdrewery@FreeBSD.org>

AUTO_OBJ: Don't create nested OBJDIRS with print-dir or make -n.

Sponsored by: Dell EMC


# f8190300 10-Nov-2017 Hans Petter Selasky <hselasky@FreeBSD.org>

Merge ^/head r325505 through r325662.


# fa65e3a5 10-Nov-2017 Bryan Drewery <bdrewery@FreeBSD.org>

Handle some .OBJDIR == .CURDIR cases.

- If OBJROOT is SRCTOP then don't add on TARGET.TARGET_ARCH. This
only happens at the top-level, and for sub-directories when the
user is clever with MAKEO

Handle some .OBJDIR == .CURDIR cases.

- If OBJROOT is SRCTOP then don't add on TARGET.TARGET_ARCH. This
only happens at the top-level, and for sub-directories when the
user is clever with MAKEOBJDIRPREFIX=/.
- Don't bother checking 'test -w' on .CURDIR.
- Properly set OBJTOP/OBJROOT to SRCTOP in various needed cases.
- Check if the OBJDIR is writable even for *clean* targets since it
determines which .OBJDIR the user gets; If they cannot write to an
existing eligible .OBJDIR then it needs to clean in .CURDIR instead.
- Add guard to cleanworld/cleanuniverse from removing SRCTOP.
- Ensure OBJTOP is proper for .OBJDIR=.CURDIR which fixes finding
libraries since src.libnames.mk is based on OBJTOP.
- Avoid some chdir(2) for modifying .OBJDIR

Sponsored by: Dell EMC Isilon

show more ...


# 13ea0779 09-Nov-2017 Bryan Drewery <bdrewery@FreeBSD.org>

Mark targets .PHONY.

This avoids the obvious of not running the target when expected, but
also avoids META_MODE from showing 'Building'. This is mostly only
a problem when directly including bsd.ob

Mark targets .PHONY.

This avoids the obvious of not running the target when expected, but
also avoids META_MODE from showing 'Building'. This is mostly only
a problem when directly including bsd.obj.mk as many of these targets
were already .PHONY via bsd.sys.mk.

Sponsored by: Dell EMC Isilon

show more ...


# c2c014f2 07-Nov-2017 Hans Petter Selasky <hselasky@FreeBSD.org>

Merge ^/head r323559 through r325504.


# c6d98d62 05-Nov-2017 Bryan Drewery <bdrewery@FreeBSD.org>

Follow-up r325405: Fix assertion still for kernel module builds.

Apparently they have SRCTOP set, but won't have RELDIR set since they are
not in-tree.

Pointyhat to: bdrewery
Reported by: O. Hartma

Follow-up r325405: Fix assertion still for kernel module builds.

Apparently they have SRCTOP set, but won't have RELDIR set since they are
not in-tree.

Pointyhat to: bdrewery
Reported by: O. Hartmann <ohartmann@walstatt.org>, dhw
Tested by: dhw
Sponsored by: Dell EMC Isilon

show more ...


# 254d2760 05-Nov-2017 Enji Cooper <ngie@FreeBSD.org>

MFhead@r325422


# b284f322 05-Nov-2017 Bryan Drewery <bdrewery@FreeBSD.org>

AUTO_OBJ: Allow 'make cleandir obj all' combinations.

The cleanobj target will not really remove the OBJDIR in this case,
it will only remove the OBJDIR if only clean targets are ran.

Sponsored by:

AUTO_OBJ: Allow 'make cleandir obj all' combinations.

The cleanobj target will not really remove the OBJDIR in this case,
it will only remove the OBJDIR if only clean targets are ran.

Sponsored by: Dell EMC Isilon

show more ...


# aba77ddd 05-Nov-2017 Bryan Drewery <bdrewery@FreeBSD.org>

AUTO_OBJ: Set .OBJDIR=.CURDIR earlier for NO_OBJ Makefiles.

auto.obj.mk is loaded before the Makefile which may have NO_OBJ set inside of
it. In that case we can't avoid creating the OBJDIR but we

AUTO_OBJ: Set .OBJDIR=.CURDIR earlier for NO_OBJ Makefiles.

auto.obj.mk is loaded before the Makefile which may have NO_OBJ set inside of
it. In that case we can't avoid creating the OBJDIR but we do need to avoid
using it. Fixing .OBJDIR in bsd.init.mk at least fixes all of the build .mk
files to have a proper .OBJDIR. It does not fix the Makefile itself but
usually if they have NO_OBJ set they are not inspecting ${.OBJDIR} anyhow.

It is ideal to only have this in bsd.init.mk and to remove it from bsd.obj.mk,
but then bsd.obj.mk would need to include bsd.init.mk. Doing something like
that would require more testing. It has been proposed that bsd.obj.mk not be
included directly but it has been possible for too long to do so to change it
at this point.

Note too that it may make sense to fix .OBJDIR even when AUTO_OBJ is not
enabled but the historical behavior has always been that NO_OBJ just avoids
running 'make obj', so .OBJDIR should already be .CURDIR.

Also while NO_OBJ seems like it should be removed at this point, it is not
always possible to fix Makefiles to properly use an .OBJDIR. The cost of
keeping NO_OBJ support is minimal.

Sponsored by: Dell EMC Isilon

show more ...


# d949e92a 04-Nov-2017 Bryan Drewery <bdrewery@FreeBSD.org>

Follow-up r325405: Only enable assertion for in-tree src builds.

Pointyhat to: bdrewery
Reported by: O. Hartmann <ohartmann@walstatt.org>
Sponsored by: Dell EMC Isilon


# 968be8a7 04-Nov-2017 Bryan Drewery <bdrewery@FreeBSD.org>

Add an assertion to avoid the 'rm -rf /etc' case from cleanobj fixed in r325404.

Sponsored by: Dell EMC Isilon


# f6e116ee 04-Nov-2017 Enji Cooper <ngie@FreeBSD.org>

MFhead@r325383


# dfa09989 01-Nov-2017 Bryan Drewery <bdrewery@FreeBSD.org>

Add option UNIFIED_OBJDIR, on by default, which moves the default build OBJDIR.

This changes the build OBJDIR from the older style of /usr/obj/<srcdir> for
native builds, and /usr/obj/<target>.<targ

Add option UNIFIED_OBJDIR, on by default, which moves the default build OBJDIR.

This changes the build OBJDIR from the older style of /usr/obj/<srcdir> for
native builds, and /usr/obj/<target>.<target_arch>/<srcdir> for cross builds to
a new simpler format of /usr/obj/<srcdir>/<target>.<target_arch>. This
new format is used regardless of cross or native build. It allows
easier management of multiple source tree object directories.

The UNIFIED_OBJDIR option will be removed and its feature made permanent
for the 12.0 release.

Relnotes: yes (don't note UNIFIED_OBJDIR option since it will be removed)
Prior work: D3711 D874
Reviewed by: gjb, sjg
Discussed at: https://lists.freebsd.org/pipermail/freebsd-arch/2016-May/017805.html
Discussed with: emaste
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D12840

show more ...


Revision tags: release/10.4.0
# 0275f9db 11-Aug-2017 Hans Petter Selasky <hselasky@FreeBSD.org>

Merge ^/head r321383 through r322397.


# 69ef36e3 01-Aug-2017 Enji Cooper <ngie@FreeBSD.org>

MFhead@r321829


# 95101c1c 25-Jul-2017 Enji Cooper <ngie@FreeBSD.org>

MFhead@r321457


# 01ba2b63 25-Jul-2017 Bryan Drewery <bdrewery@FreeBSD.org>

cleandir: Fix ESTALE errors from parallel removals.

This fixes 'make cleandir' to use the same ordering as 'make cleanobj'.
Meaning that SUBDIR will be recursed before the current directory is
handl

cleandir: Fix ESTALE errors from parallel removals.

This fixes 'make cleandir' to use the same ordering as 'make cleanobj'.
Meaning that SUBDIR will be recursed before the current directory is
handled. This avoids an 'rm -rf /usr/obj/usr/src/lib/libc' while
a child 'rm -rf /usr/obj/usr/src/lib/libc/tests' is being ran next,
or even removing the current directory and then recursing into a child
and using the 'missing OBJDIR' logic to remove files rather than the
directory.

The most ideal ordering here would be for 'cleanobj' and 'cleandir' to
simply remove the .OBJDIR and then not recurse at all. This is only
safe if it is guaranteed that all children directories have no orphaned
files in their source checkout and are only using obj directories. This
is usually safe from the top-level build targets and when using
WITH_AUTO_OBJ. Improving the build for those cases is coming.

Reported by: cperciva, scottl
X-MFC-With: r321427
MFC after: 2 weeks
Sponsored by: Dell EMC Isilon

show more ...


# 20be6d3f 24-Jul-2017 Enji Cooper <ngie@FreeBSD.org>

MFhead@r321431


# 531c2d7a 24-Jul-2017 Enji Cooper <ngie@FreeBSD.org>

MFhead@r320180


# 13353986 24-Jul-2017 Bryan Drewery <bdrewery@FreeBSD.org>

PROGS: Fix ESTALE errors on NFS while cleaning in directories with PROGS.

- Only recurse on cleanobj/cleandir if there is no .OBJDIR being used.
If we don't recurse then bsd.obj.mk will just rm -r

PROGS: Fix ESTALE errors on NFS while cleaning in directories with PROGS.

- Only recurse on cleanobj/cleandir if there is no .OBJDIR being used.
If we don't recurse then bsd.obj.mk will just rm -rf the OBJDIR dir.
- When recursing on cleanobj/cleandir don't remove dependfiles/dirs
redundantly from the child and main processes. Meaning '.depend', and
'tags', and '.depend.*' will now only be removed from the main
process.
- Stop recursing on 'cleandepend' since the main process can handle
removing all files via the default glob patterns in CLEANDEPENDFILES.
- This reverts r288201, by readding recursion on 'cleanobj', due to
r291635 changing how bsd.subdir.mk handles recursion.

This is primarily targeting ESTALE NFS errors from rm(1) during a
buildworld but is also a performance optimization as both issues fixed
were redundant anyway.

Reported by: cperciva, scottl
MFC after: 2 weeks
Sponsored by: Dell EMC Isilon

show more ...


# 2ae97682 24-Jul-2017 Bryan Drewery <bdrewery@FreeBSD.org>

cleanobj: Unhide removal of directory.

MFC after: 2 weeks
Sponsored by: Dell EMC Isilon


# bca9d05f 23-Jul-2017 Hans Petter Selasky <hselasky@FreeBSD.org>

Merge ^/head r319973 through 321382.


Revision tags: release/11.1.0
# a3604b95 27-Jun-2017 Dimitry Andric <dim@FreeBSD.org>

Merge ^/head r320042 through r320397.


12345678