update BSDmakefile to latest version from upstream (#24063)

from https://github.com/neosmart/gmake-proxy
This commit is contained in:
techknowlogick 2023-04-11 23:42:22 -04:00 committed by GitHub
parent b43ad51a3d
commit 8aada1849f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,6 +1,7 @@
# GNU makefile proxy script for BSD make # GNU makefile proxy script for BSD make
#
# Written and maintained by Mahmoud Al-Qudsi <mqudsi@neosmart.net> # Written and maintained by Mahmoud Al-Qudsi <mqudsi@neosmart.net>
# Copyright NeoSmart Technologies <https://neosmart.net/> 2014-2018 # Copyright NeoSmart Technologies <https://neosmart.net/> 2014-2019
# Obtain updates from <https://github.com/neosmart/gmake-proxy> # Obtain updates from <https://github.com/neosmart/gmake-proxy>
# #
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without
@ -28,24 +29,30 @@ JARG =
GMAKE = "gmake" GMAKE = "gmake"
# When gmake is called from another make instance, -w is automatically added # When gmake is called from another make instance, -w is automatically added
# which causes extraneous messages about directory changes to be emitted. # which causes extraneous messages about directory changes to be emitted.
#--no-print-directory silences these messages. # Running with --no-print-directory silences these messages.
GARGS = "--no-print-directory" GARGS = "--no-print-directory"
.if "$(.MAKE.JOBS)" != "" .if "$(.MAKE.JOBS)" != ""
JARG = -j$(.MAKE.JOBS) JARG = -j$(.MAKE.JOBS)
.endif .endif
#by default bmake will cd into ./obj first # bmake prefers out-of-source builds and tries to cd into ./obj (among others)
# where possible. GNU Make doesn't, so override that value.
.OBJDIR: ./ .OBJDIR: ./
# The GNU convention is to use the lowercased `prefix` variable/macro to
# specify the installation directory. Humor them.
GPREFIX = ""
.if defined(PREFIX) && ! defined(prefix)
GPREFIX = 'prefix = "$(PREFIX)"'
.endif
.BEGIN: .SILENT
which $(GMAKE) || printf "Error: GNU Make is required!\n\n" 1>&2 && false
.PHONY: FRC .PHONY: FRC
$(.TARGETS): FRC $(.TARGETS): FRC
$(GMAKE) $(GARGS) $(.TARGETS:S,.DONE,,) $(JARG) $(GMAKE) $(GPREFIX) $(GARGS) $(.TARGETS:S,.DONE,,) $(JARG)
.DONE .DEFAULT: .SILENT .DONE .DEFAULT: .SILENT
$(GMAKE) $(GARGS) $(.TARGETS:S,.DONE,,) $(JARG) $(GMAKE) $(GPREFIX) $(GARGS) $(.TARGETS:S,.DONE,,) $(JARG)
.ERROR: .SILENT
if ! which $(GMAKE) > /dev/null; then \
echo "GNU Make is required!"; \
fi