Import bmake-20251111
Intersting/relevant changes since bmake-20250804 ChangeLog since bmake-20250804 2025-11-15 Simon J Gerraty <sjg@beast.crufty.net> * boot-strap: unset more things from env and save a copy to env.out for debugging. 2025-11-12 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20251111 Merge with NetBSD make, pick up o var.c: add :sh1 which only evaluates command on first reference. 2025-11-11 Simon J Gerraty <sjg@beast.crufty.net> * configure.in: Force filemon=no for Cygwin and MINGW64_NT 2025-11-10 Simon J Gerraty <sjg@beast.crufty.net> * unit-tests/Makefile: handle MINGW64_NT mark some tests broken, filter others as per Cygwin. 2025-10-23 Simon J Gerraty <sjg@beast.crufty.net> * make.1: document MAKE_VERSION. 2025-10-22 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20251022 * configure.in: Add a check that lua is version 5.2 or later if not we want to skip running check-expect.lua 2025-09-16 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20250916 Merge with NetBSD make, pick up o var.c: avoid compiler warning from hexdigits mk/ChangeLog since bmake-20250804 2025-11-18 Simon J Gerraty <sjg@beast.crufty.net> * sys.vars.mk: set MAKE_POSIX_SHELL to 1 if .SHELL is POSIX, 0 if not. set isPOSIX_SHELL for use in target scripts. * meta.stage.mk: set MAKE_POSIX_SHELL if needed. * install-new.mk: use ${isPOSIX_SHELL:Ufalse} to see if we can avoid running 'expr'. * install-new.mk: Allow use of cp or mv - controlled by CPMV_OP (default mv). 2025-11-13 Simon J Gerraty <sjg@beast.crufty.net> * sys.vars.mk: add M_sh1 so we can handle older bmake that does not support :sh1 2025-11-11 Simon J Gerraty <sjg@beast.crufty.net> * install-mk (MK_VERSION): 20251111 * meta2deps.sh: reset some vars for each new meta file set meta_file to path of meta file. If meta2deps appears in DEBUG_SH set -x. 2025-09-16 Simon J Gerraty <sjg@beast.crufty.net> * options.mk: Add OPTIONS_DEFAULT_DEPENDENT_REQUIRED of the form OPTION/REQUIRED[/VALUE] if OPTION is $VALUE (default is "yes"), then REQUIRED must be too. We add OPTIONS_DEFAULT_DEPENDENT_REQUIRED (sans any /{yes,no}) to OPTIONS_DEFAULT_DEPENDENT so DEPENDENT/REQUIRED follow the same processing. Also add OPTIONS_FORCED_VALUES of the form OPTION/{yes,no} we add any OPTIONS_FORCED_NO and OPTIONS_FORCED_YES before processing. Simplify the processing of OPTIONS_DEFAULT_VALUES and OPTIONS_DEFAULT_DEPENDENT by splitting the tuples and use two iterator variables in the .for loops. 2025-08-09 Simon J Gerraty <sjg@beast.crufty.net> * install-mk (MK_VERSION): 20250808 * replace sjg license with just BSD-2-Clause SPDX tag
This commit is contained in:
@@ -1,3 +1,40 @@
|
|||||||
|
2025-11-15 Simon J Gerraty <sjg@beast.crufty.net>
|
||||||
|
|
||||||
|
* boot-strap: unset more things from env and save a copy
|
||||||
|
to env.out for debugging.
|
||||||
|
|
||||||
|
2025-11-12 Simon J Gerraty <sjg@beast.crufty.net>
|
||||||
|
|
||||||
|
* VERSION (_MAKE_VERSION): 20251111
|
||||||
|
Merge with NetBSD make, pick up
|
||||||
|
o var.c: add :sh1 which only evaluates command on first reference.
|
||||||
|
|
||||||
|
2025-11-11 Simon J Gerraty <sjg@beast.crufty.net>
|
||||||
|
|
||||||
|
* configure.in: Force filemon=no for Cygwin and MINGW64_NT
|
||||||
|
|
||||||
|
2025-11-10 Simon J Gerraty <sjg@beast.crufty.net>
|
||||||
|
|
||||||
|
* unit-tests/Makefile: handle MINGW64_NT
|
||||||
|
mark some tests broken, filter others as per Cygwin.
|
||||||
|
|
||||||
|
2025-10-23 Simon J Gerraty <sjg@beast.crufty.net>
|
||||||
|
|
||||||
|
* make.1: document MAKE_VERSION.
|
||||||
|
|
||||||
|
2025-10-22 Simon J Gerraty <sjg@beast.crufty.net>
|
||||||
|
|
||||||
|
* VERSION (_MAKE_VERSION): 20251022
|
||||||
|
|
||||||
|
* configure.in: Add a check that lua is version 5.2 or later
|
||||||
|
if not we want to skip running check-expect.lua
|
||||||
|
|
||||||
|
2025-09-16 Simon J Gerraty <sjg@beast.crufty.net>
|
||||||
|
|
||||||
|
* VERSION (_MAKE_VERSION): 20250916
|
||||||
|
Merge with NetBSD make, pick up
|
||||||
|
o var.c: avoid compiler warning from hexdigits
|
||||||
|
|
||||||
2025-08-04 Simon J Gerraty <sjg@beast.crufty.net>
|
2025-08-04 Simon J Gerraty <sjg@beast.crufty.net>
|
||||||
|
|
||||||
* VERSION (_MAKE_VERSION): 20250804
|
* VERSION (_MAKE_VERSION): 20250804
|
||||||
|
|||||||
@@ -760,6 +760,8 @@ unit-tests/varmod-subst.exp
|
|||||||
unit-tests/varmod-subst.mk
|
unit-tests/varmod-subst.mk
|
||||||
unit-tests/varmod-sun-shell.exp
|
unit-tests/varmod-sun-shell.exp
|
||||||
unit-tests/varmod-sun-shell.mk
|
unit-tests/varmod-sun-shell.mk
|
||||||
|
unit-tests/varmod-sun-shell1.exp
|
||||||
|
unit-tests/varmod-sun-shell1.mk
|
||||||
unit-tests/varmod-sysv.exp
|
unit-tests/varmod-sysv.exp
|
||||||
unit-tests/varmod-sysv.mk
|
unit-tests/varmod-sysv.mk
|
||||||
unit-tests/varmod-tail.exp
|
unit-tests/varmod-tail.exp
|
||||||
|
|||||||
@@ -2,11 +2,11 @@ The individual files in this distribution are copyright their
|
|||||||
original contributors or assignees.
|
original contributors or assignees.
|
||||||
Including:
|
Including:
|
||||||
|
|
||||||
Copyright (c) 1993-2021, Simon J Gerraty
|
Copyright (c) 1993-2025, Simon J Gerraty
|
||||||
Copyright (c) 2020, Roland Illig <rillig@NetBSD.org>
|
Copyright (c) 2020-2021, Roland Illig <rillig@NetBSD.org>
|
||||||
Copyright (c) 2009-2016, Juniper Networks, Inc.
|
Copyright (c) 2009-2016, Juniper Networks, Inc.
|
||||||
Copyright (c) 2009, John Birrell.
|
Copyright (c) 2009, John Birrell.
|
||||||
Copyright (c) 1997-2021 The NetBSD Foundation, Inc.
|
Copyright (c) 1997-2025 The NetBSD Foundation, Inc.
|
||||||
Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
|
Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
|
||||||
Copyright (c) 1989 by Berkeley Softworks
|
Copyright (c) 1989 by Berkeley Softworks
|
||||||
Copyright (c) 1988, 1989, 1990, 1992, 1993
|
Copyright (c) 1988, 1989, 1990, 1992, 1993
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
# keep this compatible with sh and make
|
# keep this compatible with sh and make
|
||||||
_MAKE_VERSION=20250804
|
_MAKE_VERSION=20251111
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
.\" $NetBSD: make.1,v 1.387 2025/07/02 17:11:56 rillig Exp $
|
.\" $NetBSD: make.1,v 1.388 2025/11/12 22:14:07 sjg Exp $
|
||||||
.\"
|
.\"
|
||||||
.\" Copyright (c) 1990, 1993
|
.\" Copyright (c) 1990, 1993
|
||||||
.\" The Regents of the University of California. All rights reserved.
|
.\" The Regents of the University of California. All rights reserved.
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
.\"
|
.\"
|
||||||
.\" from: @(#)make.1 8.4 (Berkeley) 3/19/94
|
.\" from: @(#)make.1 8.4 (Berkeley) 3/19/94
|
||||||
.\"
|
.\"
|
||||||
.Dd July 2, 2025
|
.Dd November 11, 2025
|
||||||
.Dt BMAKE 1
|
.Dt BMAKE 1
|
||||||
.Os
|
.Os
|
||||||
.Sh NAME
|
.Sh NAME
|
||||||
@@ -945,6 +945,11 @@ include additional unexpanded variable references) are shown.
|
|||||||
.It Va .MAKE.EXPORTED
|
.It Va .MAKE.EXPORTED
|
||||||
The list of variables exported by
|
The list of variables exported by
|
||||||
.Nm .
|
.Nm .
|
||||||
|
.It Va MAKE_VERSION
|
||||||
|
This variable indicates the version of
|
||||||
|
.Nm .
|
||||||
|
It is typically the date of last import from NetBSD.
|
||||||
|
It is useful for checking whether certain features are available.
|
||||||
.It Va MAKEFILE
|
.It Va MAKEFILE
|
||||||
The top-level makefile that is currently read,
|
The top-level makefile that is currently read,
|
||||||
as given in the command line.
|
as given in the command line.
|
||||||
@@ -1881,6 +1886,10 @@ The output of running
|
|||||||
is the value.
|
is the value.
|
||||||
.It Cm \&:sh
|
.It Cm \&:sh
|
||||||
The value is run as a command, and the output becomes the new value.
|
The value is run as a command, and the output becomes the new value.
|
||||||
|
.It Cm \&:sh1
|
||||||
|
The value is run as a command, for the first reference only, and
|
||||||
|
the output is cached for subsequent references.
|
||||||
|
This modifier is useful when the result is not expected to change.
|
||||||
.It Cm \&::= Ns Ar str
|
.It Cm \&::= Ns Ar str
|
||||||
The variable is assigned the value
|
The variable is assigned the value
|
||||||
.Ar str
|
.Ar str
|
||||||
|
|||||||
+11
-1
@@ -607,6 +607,11 @@ VVAARRIIAABBLLEE AASSSSIIGGNNMMEENNTTSS
|
|||||||
_._M_A_K_E_._E_X_P_O_R_T_E_D
|
_._M_A_K_E_._E_X_P_O_R_T_E_D
|
||||||
The list of variables exported by bbmmaakkee.
|
The list of variables exported by bbmmaakkee.
|
||||||
|
|
||||||
|
_M_A_K_E___V_E_R_S_I_O_N
|
||||||
|
This variable indicates the version of bbmmaakkee. It is typically
|
||||||
|
the date of last import from NetBSD. It is useful for checking
|
||||||
|
whether certain features are available.
|
||||||
|
|
||||||
_M_A_K_E_F_I_L_E
|
_M_A_K_E_F_I_L_E
|
||||||
The top-level makefile that is currently read, as given in the
|
The top-level makefile that is currently read, as given in the
|
||||||
command line.
|
command line.
|
||||||
@@ -1190,6 +1195,11 @@ VVAARRIIAABBLLEE AASSSSIIGGNNMMEENNTTSS
|
|||||||
|
|
||||||
::sshh The value is run as a command, and the output becomes the new value.
|
::sshh The value is run as a command, and the output becomes the new value.
|
||||||
|
|
||||||
|
::sshh11
|
||||||
|
The value is run as a command, for the first reference only, and the
|
||||||
|
output is cached for subsequent references. This modifier is useful
|
||||||
|
when the result is not expected to change.
|
||||||
|
|
||||||
::::==_s_t_r
|
::::==_s_t_r
|
||||||
The variable is assigned the value _s_t_r after substitution. This
|
The variable is assigned the value _s_t_r after substitution. This
|
||||||
modifier and its variations are useful in obscure situations such as
|
modifier and its variations are useful in obscure situations such as
|
||||||
@@ -1864,4 +1874,4 @@ BBUUGGSS
|
|||||||
attempt to suppress a cascade of unnecessary errors, can result in a
|
attempt to suppress a cascade of unnecessary errors, can result in a
|
||||||
seemingly unexplained `*** Error code 6'
|
seemingly unexplained `*** Error code 6'
|
||||||
|
|
||||||
FreeBSD 14.2-RELEASE-p1 July 2, 2025 FreeBSD 14.2-RELEASE-p1
|
FreeBSD 14.3-RELEASE-p3 November 11, 2025 FreeBSD 14.3-RELEASE-p3
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 94 KiB After Width: | Height: | Size: 95 KiB |
+19
-4
@@ -133,7 +133,7 @@
|
|||||||
# Simon J. Gerraty <sjg@crufty.net>
|
# Simon J. Gerraty <sjg@crufty.net>
|
||||||
|
|
||||||
# RCSid:
|
# RCSid:
|
||||||
# $Id: boot-strap,v 1.61 2024/03/10 17:51:10 sjg Exp $
|
# $Id: boot-strap,v 1.62 2025/11/15 16:53:14 sjg Exp $
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2001 Simon J. Gerraty
|
# @(#) Copyright (c) 2001 Simon J. Gerraty
|
||||||
#
|
#
|
||||||
@@ -179,12 +179,25 @@ source_rc() {
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
have() {
|
||||||
|
case `(type "$1") 2>&1` in
|
||||||
|
*" found") return 1;;
|
||||||
|
esac
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
Env() {
|
||||||
|
have env && env || set
|
||||||
|
}
|
||||||
|
|
||||||
cmd_args="$@"
|
cmd_args="$@"
|
||||||
|
|
||||||
# clear some things from the environment that we care about
|
# clear some things from the environment that we care about
|
||||||
unset MAKEOBJDIR MAKEOBJDIRPREFIX
|
# any variable starting with any of these prefixes will be unset
|
||||||
# or that might be incompatible
|
for p in MAKE OBJ SB WITH
|
||||||
unset MAKE MAKEFLAGS
|
do
|
||||||
|
unset ENV `Env | sed -n "/^$p/s,=.*,,p"`
|
||||||
|
done
|
||||||
|
|
||||||
# --install[-host-target] will set this
|
# --install[-host-target] will set this
|
||||||
INSTALL_PREFIX=
|
INSTALL_PREFIX=
|
||||||
@@ -381,6 +394,8 @@ objdir="${objdir:-$OBJROOT$HOST_TARGET}"
|
|||||||
cd "$objdir" || exit 1
|
cd "$objdir" || exit 1
|
||||||
# make it absolute
|
# make it absolute
|
||||||
objdir=`'pwd'`
|
objdir=`'pwd'`
|
||||||
|
# save a copy of our env for debugging
|
||||||
|
Env > env.out
|
||||||
|
|
||||||
ShareDir() {
|
ShareDir() {
|
||||||
case "/$1" in
|
case "/$1" in
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Guess values for system-dependent variables and create Makefiles.
|
# Guess values for system-dependent variables and create Makefiles.
|
||||||
# Generated by GNU Autoconf 2.72 for bmake 20240711.
|
# Generated by GNU Autoconf 2.72 for bmake 20251111.
|
||||||
#
|
#
|
||||||
# Report bugs to <sjg@NetBSD.org>.
|
# Report bugs to <sjg@NetBSD.org>.
|
||||||
#
|
#
|
||||||
@@ -603,8 +603,8 @@ MAKEFLAGS=
|
|||||||
# Identity of this package.
|
# Identity of this package.
|
||||||
PACKAGE_NAME='bmake'
|
PACKAGE_NAME='bmake'
|
||||||
PACKAGE_TARNAME='bmake'
|
PACKAGE_TARNAME='bmake'
|
||||||
PACKAGE_VERSION='20240711'
|
PACKAGE_VERSION='20251111'
|
||||||
PACKAGE_STRING='bmake 20240711'
|
PACKAGE_STRING='bmake 20251111'
|
||||||
PACKAGE_BUGREPORT='sjg@NetBSD.org'
|
PACKAGE_BUGREPORT='sjg@NetBSD.org'
|
||||||
PACKAGE_URL=''
|
PACKAGE_URL=''
|
||||||
|
|
||||||
@@ -644,6 +644,7 @@ ac_func_c_list=
|
|||||||
ac_subst_vars='LTLIBOBJS
|
ac_subst_vars='LTLIBOBJS
|
||||||
UTC_1
|
UTC_1
|
||||||
_MAKE_VERSION
|
_MAKE_VERSION
|
||||||
|
lua
|
||||||
filemon_h
|
filemon_h
|
||||||
use_filemon
|
use_filemon
|
||||||
use_meta
|
use_meta
|
||||||
@@ -720,6 +721,7 @@ with_makefile
|
|||||||
with_meta
|
with_meta
|
||||||
with_filemon
|
with_filemon
|
||||||
with_bmake_strftime
|
with_bmake_strftime
|
||||||
|
with_lua
|
||||||
with_machine
|
with_machine
|
||||||
with_force_machine
|
with_force_machine
|
||||||
with_force_machine_arch
|
with_force_machine_arch
|
||||||
@@ -1286,7 +1288,7 @@ if test "$ac_init_help" = "long"; then
|
|||||||
# Omit some internal or obsolete options to make the list less imposing.
|
# Omit some internal or obsolete options to make the list less imposing.
|
||||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||||
cat <<_ACEOF
|
cat <<_ACEOF
|
||||||
'configure' configures bmake 20240711 to adapt to many kinds of systems.
|
'configure' configures bmake 20251111 to adapt to many kinds of systems.
|
||||||
|
|
||||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||||
|
|
||||||
@@ -1348,7 +1350,7 @@ fi
|
|||||||
|
|
||||||
if test -n "$ac_init_help"; then
|
if test -n "$ac_init_help"; then
|
||||||
case $ac_init_help in
|
case $ac_init_help in
|
||||||
short | recursive ) echo "Configuration of bmake 20240711:";;
|
short | recursive ) echo "Configuration of bmake 20251111:";;
|
||||||
esac
|
esac
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
|
|
||||||
@@ -1371,6 +1373,7 @@ Optional Packages:
|
|||||||
--without-meta disable use of meta-mode
|
--without-meta disable use of meta-mode
|
||||||
--with-filemon={no,dev,ktrace,path/filemon.h} indicate filemon method for meta-mode. Path to filemon.h implies dev
|
--with-filemon={no,dev,ktrace,path/filemon.h} indicate filemon method for meta-mode. Path to filemon.h implies dev
|
||||||
--with-bmake-strftime force use of bmake strftime
|
--with-bmake-strftime force use of bmake strftime
|
||||||
|
--without-lua do not use check-expect.lua
|
||||||
--with-machine=MACHINE explicitly set MACHINE
|
--with-machine=MACHINE explicitly set MACHINE
|
||||||
--with-force-machine=MACHINE set FORCE_MACHINE
|
--with-force-machine=MACHINE set FORCE_MACHINE
|
||||||
--with-force-machine-arch=MACHINE set FORCE_MACHINE_ARCH
|
--with-force-machine-arch=MACHINE set FORCE_MACHINE_ARCH
|
||||||
@@ -1458,7 +1461,7 @@ fi
|
|||||||
test -n "$ac_init_help" && exit $ac_status
|
test -n "$ac_init_help" && exit $ac_status
|
||||||
if $ac_init_version; then
|
if $ac_init_version; then
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
bmake configure 20240711
|
bmake configure 20251111
|
||||||
generated by GNU Autoconf 2.72
|
generated by GNU Autoconf 2.72
|
||||||
|
|
||||||
Copyright (C) 2023 Free Software Foundation, Inc.
|
Copyright (C) 2023 Free Software Foundation, Inc.
|
||||||
@@ -1981,7 +1984,7 @@ cat >config.log <<_ACEOF
|
|||||||
This file contains any messages produced by compilers while
|
This file contains any messages produced by compilers while
|
||||||
running configure, to aid debugging if configure makes a mistake.
|
running configure, to aid debugging if configure makes a mistake.
|
||||||
|
|
||||||
It was created by bmake $as_me 20240711, which was
|
It was created by bmake $as_me 20251111, which was
|
||||||
generated by GNU Autoconf 2.72. Invocation command line was
|
generated by GNU Autoconf 2.72. Invocation command line was
|
||||||
|
|
||||||
$ $0$ac_configure_args_raw
|
$ $0$ac_configure_args_raw
|
||||||
@@ -2772,6 +2775,13 @@ esac
|
|||||||
. $srcdir/VERSION
|
. $srcdir/VERSION
|
||||||
OS=`uname -s`
|
OS=`uname -s`
|
||||||
|
|
||||||
|
have() {
|
||||||
|
case `(type "$1") 2>&1` in
|
||||||
|
*" found") return 1;;
|
||||||
|
esac
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
use_defshell() {
|
use_defshell() {
|
||||||
case "$defshell_path$DEFSHELL_INDEX" in
|
case "$defshell_path$DEFSHELL_INDEX" in
|
||||||
"") ;;
|
"") ;;
|
||||||
@@ -2867,6 +2877,7 @@ esac
|
|||||||
else case e in #(
|
else case e in #(
|
||||||
e)
|
e)
|
||||||
case "$OS" in
|
case "$OS" in
|
||||||
|
Cygwin*|MINGW*) use_filemon=no;;
|
||||||
NetBSD) filemon_h=no use_filemon=ktrace;;
|
NetBSD) filemon_h=no use_filemon=ktrace;;
|
||||||
*)
|
*)
|
||||||
for d in "/usr/include/dev/filemon" "$prefix/include/dev/filemon" "$srcdir/../../sys/dev/filemon"
|
for d in "/usr/include/dev/filemon" "$prefix/include/dev/filemon" "$srcdir/../../sys/dev/filemon"
|
||||||
@@ -2943,6 +2954,29 @@ do
|
|||||||
PATH=$PATH:$d
|
PATH=$PATH:$d
|
||||||
done
|
done
|
||||||
export PATH
|
export PATH
|
||||||
|
lua=$LUA
|
||||||
|
|
||||||
|
# Check whether --with-lua was given.
|
||||||
|
if test ${with_lua+y}
|
||||||
|
then :
|
||||||
|
withval=$with_lua; case "${withval}" in
|
||||||
|
no) lua=:;;
|
||||||
|
yes) lua= ;;
|
||||||
|
/*lua*) lua=$withval;;
|
||||||
|
*) as_fn_error $? "bad value ${withval} given for lua" "$LINENO" 5;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "x$lua" != x:; then
|
||||||
|
if have lua; then
|
||||||
|
lua_version=`${lua:-lua} -v | sed 's/Lua //;s/ *Copy.*//;'`
|
||||||
|
echo $ECHO_N "checking whether lua version ($lua_version) > 5.2... $ECHO_C" >&6
|
||||||
|
case "$lua_version" in
|
||||||
|
4.*|5.1.*) lua=:; echo no >&6;;
|
||||||
|
*) echo yes >&6;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -7277,6 +7311,7 @@ esac
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
bm_outfiles="Makefile.config unit-tests/Makefile.config make-bootstrap.sh"
|
bm_outfiles="Makefile.config unit-tests/Makefile.config make-bootstrap.sh"
|
||||||
if test $use_makefile = yes; then
|
if test $use_makefile = yes; then
|
||||||
bm_outfiles="makefile $bm_outfiles"
|
bm_outfiles="makefile $bm_outfiles"
|
||||||
@@ -7798,7 +7833,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
|||||||
# report actual input values of CONFIG_FILES etc. instead of their
|
# report actual input values of CONFIG_FILES etc. instead of their
|
||||||
# values after options handling.
|
# values after options handling.
|
||||||
ac_log="
|
ac_log="
|
||||||
This file was extended by bmake $as_me 20240711, which was
|
This file was extended by bmake $as_me 20251111, which was
|
||||||
generated by GNU Autoconf 2.72. Invocation command line was
|
generated by GNU Autoconf 2.72. Invocation command line was
|
||||||
|
|
||||||
CONFIG_FILES = $CONFIG_FILES
|
CONFIG_FILES = $CONFIG_FILES
|
||||||
@@ -7862,7 +7897,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
|
|||||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||||
ac_cs_config='$ac_cs_config_escaped'
|
ac_cs_config='$ac_cs_config_escaped'
|
||||||
ac_cs_version="\\
|
ac_cs_version="\\
|
||||||
bmake config.status 20240711
|
bmake config.status 20251111
|
||||||
configured by $0, generated by GNU Autoconf 2.72,
|
configured by $0, generated by GNU Autoconf 2.72,
|
||||||
with options \\"\$ac_cs_config\\"
|
with options \\"\$ac_cs_config\\"
|
||||||
|
|
||||||
|
|||||||
+34
-2
@@ -1,11 +1,11 @@
|
|||||||
dnl
|
dnl
|
||||||
dnl RCSid:
|
dnl RCSid:
|
||||||
dnl $Id: configure.in,v 1.108 2024/07/13 15:27:00 sjg Exp $
|
dnl $Id: configure.in,v 1.111 2025/11/11 18:43:59 sjg Exp $
|
||||||
dnl
|
dnl
|
||||||
dnl Process this file with autoconf to produce a configure script
|
dnl Process this file with autoconf to produce a configure script
|
||||||
dnl
|
dnl
|
||||||
AC_PREREQ([2.71])
|
AC_PREREQ([2.71])
|
||||||
AC_INIT([bmake],[20240711],[sjg@NetBSD.org])
|
AC_INIT([bmake],[20251111],[sjg@NetBSD.org])
|
||||||
AC_CONFIG_HEADERS(config.h)
|
AC_CONFIG_HEADERS(config.h)
|
||||||
|
|
||||||
dnl make srcdir absolute
|
dnl make srcdir absolute
|
||||||
@@ -18,6 +18,14 @@ dnl get _MAKE_VERSION
|
|||||||
. $srcdir/VERSION
|
. $srcdir/VERSION
|
||||||
OS=`uname -s`
|
OS=`uname -s`
|
||||||
|
|
||||||
|
dnl do not trust return from type
|
||||||
|
have() {
|
||||||
|
case `(type "$1") 2>&1` in
|
||||||
|
*" found") return 1;;
|
||||||
|
esac
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
dnl function to set DEFSHELL_INDEX
|
dnl function to set DEFSHELL_INDEX
|
||||||
use_defshell() {
|
use_defshell() {
|
||||||
case "$defshell_path$DEFSHELL_INDEX" in
|
case "$defshell_path$DEFSHELL_INDEX" in
|
||||||
@@ -107,6 +115,7 @@ esac
|
|||||||
],
|
],
|
||||||
[
|
[
|
||||||
case "$OS" in
|
case "$OS" in
|
||||||
|
Cygwin*|MINGW*) use_filemon=no;;
|
||||||
NetBSD) filemon_h=no use_filemon=ktrace;;
|
NetBSD) filemon_h=no use_filemon=ktrace;;
|
||||||
*)
|
*)
|
||||||
for d in "/usr/include/dev/filemon" "$prefix/include/dev/filemon" "$srcdir/../../sys/dev/filemon"
|
for d in "/usr/include/dev/filemon" "$prefix/include/dev/filemon" "$srcdir/../../sys/dev/filemon"
|
||||||
@@ -187,6 +196,28 @@ do
|
|||||||
PATH=$PATH:$d
|
PATH=$PATH:$d
|
||||||
done
|
done
|
||||||
export PATH
|
export PATH
|
||||||
|
dnl
|
||||||
|
dnl if lua is available check it is version 5.2 or later
|
||||||
|
lua=$LUA
|
||||||
|
AC_ARG_WITH(lua,
|
||||||
|
[ --without-lua do not use check-expect.lua],
|
||||||
|
[case "${withval}" in
|
||||||
|
no) lua=:;;
|
||||||
|
yes) lua= ;;
|
||||||
|
/*lua*) lua=$withval;;
|
||||||
|
*) AC_MSG_ERROR(bad value ${withval} given for lua);;
|
||||||
|
esac])
|
||||||
|
if test "x$lua" != x:; then
|
||||||
|
if have lua; then
|
||||||
|
lua_version=`${lua:-lua} -v | sed 's/Lua //;s/ *Copy.*//;'`
|
||||||
|
echo $ECHO_N "checking whether lua version ($lua_version) > 5.2... $ECHO_C" >&6
|
||||||
|
case "$lua_version" in
|
||||||
|
4.*|5.1.*) lua=:; echo no >&6;;
|
||||||
|
*) echo yes >&6;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
dnl
|
||||||
dnl Solaris's signal.h only privides sigset_t etc if one of
|
dnl Solaris's signal.h only privides sigset_t etc if one of
|
||||||
dnl _EXTENSIONS_ _POSIX_C_SOURCE or _XOPEN_SOURCE are defined.
|
dnl _EXTENSIONS_ _POSIX_C_SOURCE or _XOPEN_SOURCE are defined.
|
||||||
dnl The later two seem to cause more problems than they solve so if we
|
dnl The later two seem to cause more problems than they solve so if we
|
||||||
@@ -580,6 +611,7 @@ AC_SUBST(diff_u)
|
|||||||
AC_SUBST(use_meta)
|
AC_SUBST(use_meta)
|
||||||
AC_SUBST(use_filemon)
|
AC_SUBST(use_filemon)
|
||||||
AC_SUBST(filemon_h)
|
AC_SUBST(filemon_h)
|
||||||
|
AC_SUBST(lua)
|
||||||
AC_SUBST(_MAKE_VERSION)
|
AC_SUBST(_MAKE_VERSION)
|
||||||
AC_SUBST(UTC_1)
|
AC_SUBST(UTC_1)
|
||||||
bm_outfiles="Makefile.config unit-tests/Makefile.config make-bootstrap.sh"
|
bm_outfiles="Makefile.config unit-tests/Makefile.config make-bootstrap.sh"
|
||||||
|
|||||||
+2
-9
@@ -53,19 +53,12 @@
|
|||||||
# Simon J. Gerraty <sjg@crufty.net>
|
# Simon J. Gerraty <sjg@crufty.net>
|
||||||
#
|
#
|
||||||
|
|
||||||
# SPDX-License-Identifier: BSD-2-Clause
|
|
||||||
#
|
|
||||||
# RCSid:
|
# RCSid:
|
||||||
# $Id: install-sh,v 1.26 2024/02/17 17:26:57 sjg Exp $
|
# $Id: install-sh,v 1.27 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 1993-2023 Simon J. Gerraty
|
# @(#) Copyright (c) 1993-2023 Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $NetBSD: main.c,v 1.661 2025/07/06 07:11:31 rillig Exp $ */
|
/* $NetBSD: main.c,v 1.662 2025/08/09 23:13:28 rillig Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1988, 1989, 1990, 1993
|
* Copyright (c) 1988, 1989, 1990, 1993
|
||||||
@@ -111,7 +111,7 @@
|
|||||||
#include "trace.h"
|
#include "trace.h"
|
||||||
|
|
||||||
/* "@(#)main.c 8.3 (Berkeley) 3/19/94" */
|
/* "@(#)main.c 8.3 (Berkeley) 3/19/94" */
|
||||||
MAKE_RCSID("$NetBSD: main.c,v 1.661 2025/07/06 07:11:31 rillig Exp $");
|
MAKE_RCSID("$NetBSD: main.c,v 1.662 2025/08/09 23:13:28 rillig Exp $");
|
||||||
#if defined(MAKE_NATIVE)
|
#if defined(MAKE_NATIVE)
|
||||||
__COPYRIGHT("@(#) Copyright (c) 1988, 1989, 1990, 1993 "
|
__COPYRIGHT("@(#) Copyright (c) 1988, 1989, 1990, 1993 "
|
||||||
"The Regents of the University of California. "
|
"The Regents of the University of California. "
|
||||||
@@ -390,8 +390,8 @@ MainParseArgJobsInternal(const char *argvalue)
|
|||||||
progname, argvalue, curdir);
|
progname, argvalue, curdir);
|
||||||
exit(2);
|
exit(2);
|
||||||
}
|
}
|
||||||
if ((fcntl(tokenPoolReader, F_GETFD, 0) < 0) ||
|
if (fcntl(tokenPoolReader, F_GETFD, 0) < 0 ||
|
||||||
(fcntl(tokenPoolWriter, F_GETFD, 0) < 0)) {
|
fcntl(tokenPoolWriter, F_GETFD, 0) < 0) {
|
||||||
tokenPoolReader = -1;
|
tokenPoolReader = -1;
|
||||||
tokenPoolWriter = -1;
|
tokenPoolWriter = -1;
|
||||||
bogusJflag = true;
|
bogusJflag = true;
|
||||||
@@ -601,7 +601,7 @@ MainParseArgs(int argc, char **argv)
|
|||||||
bool inOption, dashDash = false;
|
bool inOption, dashDash = false;
|
||||||
|
|
||||||
const char *optspecs = "BC:D:I:J:NST:V:WXd:ef:ij:km:nqrstv:w";
|
const char *optspecs = "BC:D:I:J:NST:V:WXd:ef:ij:km:nqrstv:w";
|
||||||
/* Can't actually use getopt(3) because rescanning is not portable */
|
/* Can't actually use getopt(3) because rescanning is not portable */
|
||||||
|
|
||||||
rearg:
|
rearg:
|
||||||
inOption = false;
|
inOption = false;
|
||||||
@@ -1709,7 +1709,7 @@ ReadMakefile(const char *fname)
|
|||||||
* placement of the setting here means it gets set to the last
|
* placement of the setting here means it gets set to the last
|
||||||
* makefile specified, as it is set by SysV make.
|
* makefile specified, as it is set by SysV make.
|
||||||
*/
|
*/
|
||||||
found:
|
found:
|
||||||
if (!doing_depend)
|
if (!doing_depend)
|
||||||
Var_Set(SCOPE_INTERNAL, "MAKEFILE", fname);
|
Var_Set(SCOPE_INTERNAL, "MAKEFILE", fname);
|
||||||
Parse_File(fname, fd);
|
Parse_File(fname, fd);
|
||||||
@@ -1802,7 +1802,6 @@ Cmd_Exec(const char *cmd, char **error)
|
|||||||
|
|
||||||
(void)execv(shellPath, UNCONST(args));
|
(void)execv(shellPath, UNCONST(args));
|
||||||
_exit(1);
|
_exit(1);
|
||||||
/* NOTREACHED */
|
|
||||||
|
|
||||||
case -1:
|
case -1:
|
||||||
*error = str_concat3("Couldn't exec \"", cmd, "\"");
|
*error = str_concat3("Couldn't exec \"", cmd, "\"");
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
.\" $NetBSD: make.1,v 1.387 2025/07/02 17:11:56 rillig Exp $
|
.\" $NetBSD: make.1,v 1.388 2025/11/12 22:14:07 sjg Exp $
|
||||||
.\"
|
.\"
|
||||||
.\" Copyright (c) 1990, 1993
|
.\" Copyright (c) 1990, 1993
|
||||||
.\" The Regents of the University of California. All rights reserved.
|
.\" The Regents of the University of California. All rights reserved.
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
.\"
|
.\"
|
||||||
.\" from: @(#)make.1 8.4 (Berkeley) 3/19/94
|
.\" from: @(#)make.1 8.4 (Berkeley) 3/19/94
|
||||||
.\"
|
.\"
|
||||||
.Dd July 2, 2025
|
.Dd November 11, 2025
|
||||||
.Dt MAKE 1
|
.Dt MAKE 1
|
||||||
.Os
|
.Os
|
||||||
.Sh NAME
|
.Sh NAME
|
||||||
@@ -945,6 +945,11 @@ include additional unexpanded variable references) are shown.
|
|||||||
.It Va .MAKE.EXPORTED
|
.It Va .MAKE.EXPORTED
|
||||||
The list of variables exported by
|
The list of variables exported by
|
||||||
.Nm .
|
.Nm .
|
||||||
|
.It Va MAKE_VERSION
|
||||||
|
This variable indicates the version of
|
||||||
|
.Nm .
|
||||||
|
It is typically the date of last import from NetBSD.
|
||||||
|
It is useful for checking whether certain features are available.
|
||||||
.It Va MAKEFILE
|
.It Va MAKEFILE
|
||||||
The top-level makefile that is currently read,
|
The top-level makefile that is currently read,
|
||||||
as given in the command line.
|
as given in the command line.
|
||||||
@@ -1881,6 +1886,10 @@ The output of running
|
|||||||
is the value.
|
is the value.
|
||||||
.It Cm \&:sh
|
.It Cm \&:sh
|
||||||
The value is run as a command, and the output becomes the new value.
|
The value is run as a command, and the output becomes the new value.
|
||||||
|
.It Cm \&:sh1
|
||||||
|
The value is run as a command, for the first reference only, and
|
||||||
|
the output is cached for subsequent references.
|
||||||
|
This modifier is useful when the result is not expected to change.
|
||||||
.It Cm \&::= Ns Ar str
|
.It Cm \&::= Ns Ar str
|
||||||
The variable is assigned the value
|
The variable is assigned the value
|
||||||
.Ar str
|
.Ar str
|
||||||
|
|||||||
@@ -1,3 +1,52 @@
|
|||||||
|
2025-11-18 Simon J Gerraty <sjg@beast.crufty.net>
|
||||||
|
|
||||||
|
* sys.vars.mk: set MAKE_POSIX_SHELL to 1 if .SHELL is POSIX, 0 if not.
|
||||||
|
set isPOSIX_SHELL for use in target scripts.
|
||||||
|
|
||||||
|
* meta.stage.mk: set MAKE_POSIX_SHELL if needed.
|
||||||
|
|
||||||
|
* install-new.mk: use ${isPOSIX_SHELL:Ufalse} to see if we can
|
||||||
|
avoid running 'expr'.
|
||||||
|
|
||||||
|
* install-new.mk: Allow use of cp or mv - controlled by CPMV_OP
|
||||||
|
(default mv).
|
||||||
|
|
||||||
|
2025-11-13 Simon J Gerraty <sjg@beast.crufty.net>
|
||||||
|
|
||||||
|
* sys.vars.mk: add M_sh1 so we can handle older bmake that does
|
||||||
|
not support :sh1
|
||||||
|
|
||||||
|
2025-11-11 Simon J Gerraty <sjg@beast.crufty.net>
|
||||||
|
|
||||||
|
* install-mk (MK_VERSION): 20251111
|
||||||
|
|
||||||
|
* meta2deps.sh: reset some vars for each new meta file
|
||||||
|
set meta_file to path of meta file.
|
||||||
|
If meta2deps appears in DEBUG_SH set -x.
|
||||||
|
|
||||||
|
2025-09-16 Simon J Gerraty <sjg@beast.crufty.net>
|
||||||
|
|
||||||
|
* options.mk: Add OPTIONS_DEFAULT_DEPENDENT_REQUIRED of the form
|
||||||
|
OPTION/REQUIRED[/VALUE]
|
||||||
|
if OPTION is $VALUE (default is "yes"), then REQUIRED must be too.
|
||||||
|
We add OPTIONS_DEFAULT_DEPENDENT_REQUIRED (sans any /{yes,no}) to
|
||||||
|
OPTIONS_DEFAULT_DEPENDENT so DEPENDENT/REQUIRED follow the same
|
||||||
|
processing.
|
||||||
|
|
||||||
|
Also add OPTIONS_FORCED_VALUES of the form OPTION/{yes,no}
|
||||||
|
we add any OPTIONS_FORCED_NO and OPTIONS_FORCED_YES before
|
||||||
|
processing.
|
||||||
|
|
||||||
|
Simplify the processing of OPTIONS_DEFAULT_VALUES and
|
||||||
|
OPTIONS_DEFAULT_DEPENDENT by splitting the tuples and use two
|
||||||
|
iterator variables in the .for loops.
|
||||||
|
|
||||||
|
2025-08-09 Simon J Gerraty <sjg@beast.crufty.net>
|
||||||
|
|
||||||
|
* install-mk (MK_VERSION): 20250808
|
||||||
|
|
||||||
|
* replace sjg license with just BSD-2-Clause SPDX tag
|
||||||
|
|
||||||
2025-07-24 Simon J Gerraty <sjg@beast.crufty.net>
|
2025-07-24 Simon J Gerraty <sjg@beast.crufty.net>
|
||||||
|
|
||||||
* install-mk (MK_VERSION): 20250724
|
* install-mk (MK_VERSION): 20250724
|
||||||
|
|||||||
+2
-10
@@ -1,16 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: auto.dep.mk,v 1.13 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# RCSid:
|
|
||||||
# $Id: auto.dep.mk,v 1.12 2024/02/17 17:26:57 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2010-2021, Simon J. Gerraty
|
# @(#) Copyright (c) 2010-2021, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+2
-9
@@ -1,15 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: auto.obj.mk,v 1.21 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# $Id: auto.obj.mk,v 1.20 2025/05/17 15:29:55 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2004-2025, Simon J. Gerraty
|
# @(#) Copyright (c) 2004-2025, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+2
-9
@@ -1,15 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: autoconf.mk,v 1.21 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# $Id: autoconf.mk,v 1.20 2024/02/17 17:26:57 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 1996-2024, Simon J. Gerraty
|
# @(#) Copyright (c) 1996-2024, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+2
-10
@@ -1,16 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: autodep.mk,v 1.44 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# RCSid:
|
|
||||||
# $Id: autodep.mk,v 1.43 2024/02/17 17:26:57 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 1999-2024, Simon J. Gerraty
|
# @(#) Copyright (c) 1999-2024, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+2
-9
@@ -1,15 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: cc-wrap.mk,v 1.8 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# $Id: cc-wrap.mk,v 1.7 2024/02/17 17:26:57 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2022, Simon J. Gerraty
|
# @(#) Copyright (c) 2022, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+2
-10
@@ -1,16 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: ccm.dep.mk,v 1.4 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# RCSid:
|
|
||||||
# $Id: ccm.dep.mk,v 1.3 2024/02/17 17:26:57 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2024, Simon J. Gerraty
|
# @(#) Copyright (c) 2024, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+2
-9
@@ -1,15 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: compiler.mk,v 1.15 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# $Id: compiler.mk,v 1.14 2024/02/19 00:05:50 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2019, Simon J. Gerraty
|
# @(#) Copyright (c) 2019, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+2
-10
@@ -1,16 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: cython.mk,v 1.11 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# RCSid:
|
|
||||||
# $Id: cython.mk,v 1.10 2024/09/20 06:16:41 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2014-2024, Simon J. Gerraty
|
# @(#) Copyright (c) 2014-2024, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
@@ -1,15 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: dirdeps-cache-update.mk,v 1.24 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# $Id: dirdeps-cache-update.mk,v 1.23 2024/02/17 17:26:57 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2020, Simon J. Gerraty
|
# @(#) Copyright (c) 2020, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
@@ -1,15 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: dirdeps-options.mk,v 1.23 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# $Id: dirdeps-options.mk,v 1.22 2024/02/17 17:26:57 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2018-2022, Simon J. Gerraty
|
# @(#) Copyright (c) 2018-2022, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+5
-13
@@ -1,19 +1,11 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: dirdeps-targets.mk,v 1.29 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
#
|
||||||
# RCSid:
|
# @(#) Copyright (c) 2019-2020 Simon J. Gerraty
|
||||||
# $Id: dirdeps-targets.mk,v 1.28 2024/10/19 00:47:38 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2019-2020 Simon J. Gerraty
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# Please send copies of changes and bug-fixes to:
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
# sjg@crufty.net
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
|
||||||
# Please send copies of changes and bug-fixes to:
|
|
||||||
# sjg@crufty.net
|
|
||||||
#
|
#
|
||||||
|
|
||||||
##
|
##
|
||||||
|
|||||||
+2
-9
@@ -1,15 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: dpadd.mk,v 1.34 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# $Id: dpadd.mk,v 1.33 2024/02/17 17:26:57 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2004-2023, Simon J. Gerraty
|
# @(#) Copyright (c) 2004-2023, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+2
-9
@@ -1,15 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: files.mk,v 1.9 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# $Id: files.mk,v 1.8 2024/02/17 17:26:57 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2017, Simon J. Gerraty
|
# @(#) Copyright (c) 2017, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+3
-2
@@ -1,4 +1,4 @@
|
|||||||
# $Id: gendirdeps.mk,v 1.53 2025/05/20 17:42:49 sjg Exp $
|
# $Id: gendirdeps.mk,v 1.54 2025/08/12 21:36:43 sjg Exp $
|
||||||
|
|
||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
#
|
#
|
||||||
@@ -298,7 +298,8 @@ M2D_OBJROOTS := ${M2D_OBJROOTS:O:u:[-1..1]}
|
|||||||
# anything we use from an object dir other than ours
|
# anything we use from an object dir other than ours
|
||||||
# needs to be qualified with its .<machine> suffix
|
# needs to be qualified with its .<machine> suffix
|
||||||
# (we used the pseudo machine "host" for the HOST_TARGET).
|
# (we used the pseudo machine "host" for the HOST_TARGET).
|
||||||
skip_ql= ${SRCTOP}* ${_objtops:@o@$o*@}
|
skip_ql = ${SRCTOP}* ${_objtops:@o@$o*@}
|
||||||
|
M_ListToSkip ?= O:u:S,^,N,:ts:
|
||||||
.for o in ${M2D_OBJROOTS:${skip_ql:${M_ListToSkip}}}
|
.for o in ${M2D_OBJROOTS:${skip_ql:${M_ListToSkip}}}
|
||||||
# we need := so only skip_ql to this point applies
|
# we need := so only skip_ql to this point applies
|
||||||
ql.$o := ${dir_list:${skip_ql:${M_ListToSkip}}:M$o*/*/*:C,$o([^/]+)/(.*),\2.\1,:S,.${HOST_TARGET},.host,}
|
ql.$o := ${dir_list:${skip_ql:${M_ListToSkip}}:M$o*/*/*:C,$o([^/]+)/(.*),\2.\1,:S,.${HOST_TARGET},.host,}
|
||||||
|
|||||||
+2
-9
@@ -1,15 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: genfiles.mk,v 1.5 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# $Id: genfiles.mk,v 1.4 2025/04/18 00:04:41 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2024-2025, Simon J. Gerraty
|
# @(#) Copyright (c) 2024-2025, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+2
-10
@@ -1,16 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: host-target.mk,v 1.21 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# RCSid:
|
|
||||||
# $Id: host-target.mk,v 1.20 2024/02/17 17:26:57 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2007-2023 Simon J. Gerraty
|
# @(#) Copyright (c) 2007-2023 Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+2
-7
@@ -1,13 +1,8 @@
|
|||||||
# $Id: host.libnames.mk,v 1.5 2020/08/19 17:51:53 sjg Exp $
|
# $Id: host.libnames.mk,v 1.6 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2007-2009, Simon J. Gerraty
|
# @(#) Copyright (c) 2007-2009, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
@@ -1,15 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: inc.mk,v 1.10 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# $Id: inc.mk,v 1.9 2024/02/17 17:26:57 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2008, Simon J. Gerraty
|
# @(#) Copyright (c) 2008, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+2
-9
@@ -1,15 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: init.mk,v 1.42 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# $Id: init.mk,v 1.41 2025/04/18 20:49:54 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2002-2024, Simon J. Gerraty
|
# @(#) Copyright (c) 2002-2024, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
Executable → Regular
+3
-8
@@ -59,22 +59,17 @@
|
|||||||
# Simon J. Gerraty <sjg@crufty.net>
|
# Simon J. Gerraty <sjg@crufty.net>
|
||||||
|
|
||||||
# RCSid:
|
# RCSid:
|
||||||
# $Id: install-mk,v 1.268 2025/07/24 15:55:48 sjg Exp $
|
# $Id: install-mk,v 1.271 2025/11/11 18:08:02 sjg Exp $
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 1994-2025 Simon J. Gerraty
|
# @(#) Copyright (c) 1994-2025 Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
#
|
#
|
||||||
|
|
||||||
MK_VERSION=20250724
|
MK_VERSION=20251111
|
||||||
OWNER=
|
OWNER=
|
||||||
GROUP=
|
GROUP=
|
||||||
MODE=444
|
MODE=444
|
||||||
|
|||||||
+20
-16
@@ -1,15 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: install-new.mk,v 1.9 2025/11/19 17:44:15 sjg Exp $
|
||||||
#
|
|
||||||
# $Id: install-new.mk,v 1.5 2024/02/17 17:26:57 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2009, Simon J. Gerraty
|
# @(#) Copyright (c) 2009, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
@@ -17,25 +10,32 @@
|
|||||||
|
|
||||||
.if !defined(InstallNew)
|
.if !defined(InstallNew)
|
||||||
|
|
||||||
# copy if src and target are different making a backup if desired
|
# How do we want CmpCpMv to do the final operation?
|
||||||
CmpCp= CmpCp() { \
|
# the backup (if any) will use the opposite.
|
||||||
|
CPMV_OP ?= mv
|
||||||
|
# clear this if not supported
|
||||||
|
CPMV_f ?= -f
|
||||||
|
|
||||||
|
# copy/move if src and target are different making a backup if desired
|
||||||
|
CmpCpMv= CmpCpMv() { \
|
||||||
src=$$1 target=$$2 _bak=$$3; \
|
src=$$1 target=$$2 _bak=$$3; \
|
||||||
if ! test -s $$target || ! cmp -s $$target $$src; then \
|
if ! test -s $$target || ! cmp -s $$target $$src; then \
|
||||||
trap "" 1 2 3 15; \
|
trap "" 1 2 3 15; \
|
||||||
|
case "/${CPMV_OP}" in */cp) bop=mv;; */mv) bop=cp;; esac; \
|
||||||
if test -s $$target; then \
|
if test -s $$target; then \
|
||||||
if test "x$$_bak" != x; then \
|
if test "x$$_bak" != x; then \
|
||||||
rm -f $$target$$_bak; \
|
rm -f $$target$$_bak; \
|
||||||
mv $$target $$target$$_bak; \
|
$$bop ${CPMV_f} $$target $$target$$_bak; \
|
||||||
else \
|
else \
|
||||||
rm -f $$target; \
|
rm -f $$target; \
|
||||||
fi; \
|
fi; \
|
||||||
fi; \
|
fi; \
|
||||||
cp $$src $$target; \
|
${CPMV_OP} ${CPMV_f} $$src $$target; \
|
||||||
fi; }
|
fi; }
|
||||||
|
|
||||||
# If the .new file is different, we want it.
|
# If the .new file is different, we want it.
|
||||||
# Note: this function will work as is for *.new$RANDOM"
|
# Note: this function will work as is for *.new$RANDOM"
|
||||||
InstallNew= ${CmpCp}; InstallNew() { \
|
InstallNew= ${CmpCpMv}; InstallNew() { \
|
||||||
_t=-e; _bak=; \
|
_t=-e; _bak=; \
|
||||||
while :; do \
|
while :; do \
|
||||||
case "$$1" in \
|
case "$$1" in \
|
||||||
@@ -46,8 +46,12 @@ InstallNew= ${CmpCp}; InstallNew() { \
|
|||||||
done; \
|
done; \
|
||||||
for new in "$$@"; do \
|
for new in "$$@"; do \
|
||||||
if test $$_t $$new; then \
|
if test $$_t $$new; then \
|
||||||
target=`expr $$new : '\(.*\).new'`; \
|
if ${isPOSIX_SHELL:Ufalse}; then \
|
||||||
CmpCp $$new $$target $$_bak; \
|
target=$${new%.new}; \
|
||||||
|
else \
|
||||||
|
target=`expr $$new : '\(.*\).new'`; \
|
||||||
|
fi; \
|
||||||
|
CmpCpMv $$new $$target $$_bak; \
|
||||||
fi; \
|
fi; \
|
||||||
rm -f $$new; \
|
rm -f $$new; \
|
||||||
done; :; }
|
done; :; }
|
||||||
|
|||||||
+2
-9
@@ -53,19 +53,12 @@
|
|||||||
# Simon J. Gerraty <sjg@crufty.net>
|
# Simon J. Gerraty <sjg@crufty.net>
|
||||||
#
|
#
|
||||||
|
|
||||||
# SPDX-License-Identifier: BSD-2-Clause
|
|
||||||
#
|
|
||||||
# RCSid:
|
# RCSid:
|
||||||
# $Id: install-sh,v 1.26 2024/02/17 17:26:57 sjg Exp $
|
# $Id: install-sh,v 1.27 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 1993-2023 Simon J. Gerraty
|
# @(#) Copyright (c) 1993-2023 Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+2
-10
@@ -1,16 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: java.mk,v 1.18 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
#
|
||||||
# RCSid:
|
|
||||||
# $Id: java.mk,v 1.17 2024/02/17 17:26:57 sjg Exp $
|
|
||||||
|
|
||||||
# @(#) Copyright (c) 1998-2001, Simon J. Gerraty
|
# @(#) Copyright (c) 1998-2001, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+2
-9
@@ -1,15 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: jobs.mk,v 1.20 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# $Id: jobs.mk,v 1.19 2025/02/03 21:18:44 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2012-2025, Simon J. Gerraty
|
# @(#) Copyright (c) 2012-2025, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+2
-9
@@ -1,15 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: ldorder.mk,v 1.28 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# $Id: ldorder.mk,v 1.27 2024/02/17 17:26:57 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2015, Simon J. Gerraty
|
# @(#) Copyright (c) 2015, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+2
-9
@@ -1,15 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: libnames.mk,v 1.11 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# $Id: libnames.mk,v 1.10 2024/02/17 17:26:57 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2007-2009, Simon J. Gerraty
|
# @(#) Copyright (c) 2007-2009, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+2
-9
@@ -1,15 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: libs.mk,v 1.9 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# $Id: libs.mk,v 1.8 2025/05/19 19:15:22 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2006, Simon J. Gerraty
|
# @(#) Copyright (c) 2006, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+2
-9
@@ -1,15 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: links.mk,v 1.11 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# $Id: links.mk,v 1.10 2024/08/23 21:24:27 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2005-2024, Simon J. Gerraty
|
# @(#) Copyright (c) 2005-2024, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+2
-9
@@ -1,15 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: manifest.mk,v 1.5 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# $Id: manifest.mk,v 1.4 2024/02/17 17:26:57 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2014, Simon J. Gerraty
|
# @(#) Copyright (c) 2014, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+2
-10
@@ -1,16 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: meta.autodep.mk,v 1.71 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# $Id: meta.autodep.mk,v 1.70 2025/05/28 20:03:00 sjg Exp $
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2010-2025, Simon J. Gerraty
|
# @(#) Copyright (c) 2010-2025, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+12
-14
@@ -1,15 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: meta.stage.mk,v 1.74 2025/11/19 17:44:15 sjg Exp $
|
||||||
#
|
|
||||||
# $Id: meta.stage.mk,v 1.71 2025/03/14 20:28:42 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2011-2025, Simon J. Gerraty
|
# @(#) Copyright (c) 2011-2025, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
@@ -38,14 +31,19 @@ CLEANFILES+= .dirdep
|
|||||||
@echo '${_dirdep}' > $@
|
@echo '${_dirdep}' > $@
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
.if defined(NO_POSIX_SHELL) || ${type printf:L:sh:Mbuiltin} == ""
|
.ifndef MAKE_POSIX_SHELL
|
||||||
_stage_file_basename = `basename $$f`
|
MAKE_POSIX_SHELL != (echo $${PATH%:*}) > /dev/null 2>&1 && echo 1 || echo 0
|
||||||
_stage_file_dirname = `dirname $$f`
|
.export MAKE_POSIX_SHELL
|
||||||
_stage_target_dirname = `dirname $$t`
|
.endif
|
||||||
.else
|
|
||||||
|
.if ${MAKE_POSIX_SHELL}
|
||||||
_stage_file_basename = $${f\#\#*/}
|
_stage_file_basename = $${f\#\#*/}
|
||||||
_stage_file_dirname = $${f%/*}
|
_stage_file_dirname = $${f%/*}
|
||||||
_stage_target_dirname = $${t%/*}
|
_stage_target_dirname = $${t%/*}
|
||||||
|
.else
|
||||||
|
_stage_file_basename = `basename $$f`
|
||||||
|
_stage_file_dirname = `dirname $$f`
|
||||||
|
_stage_target_dirname = `dirname $$t`
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
_OBJROOT ?= ${OBJROOT:U${OBJTOP:H}}
|
_OBJROOT ?= ${OBJROOT:U${OBJTOP:H}}
|
||||||
|
|||||||
+2
-10
@@ -1,16 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: meta.subdir.mk,v 1.16 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# $Id: meta.subdir.mk,v 1.15 2024/04/19 15:10:22 sjg Exp $
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2010, Simon J. Gerraty
|
# @(#) Copyright (c) 2010, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+2
-10
@@ -1,16 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: meta.sys.mk,v 1.57 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# $Id: meta.sys.mk,v 1.56 2024/11/22 23:51:48 sjg Exp $
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2010-2023, Simon J. Gerraty
|
# @(#) Copyright (c) 2010-2023, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+18
-6
@@ -77,7 +77,7 @@
|
|||||||
|
|
||||||
|
|
||||||
# RCSid:
|
# RCSid:
|
||||||
# $Id: meta2deps.sh,v 1.24 2025/07/24 15:55:48 sjg Exp $
|
# $Id: meta2deps.sh,v 1.25 2025/11/11 18:08:02 sjg Exp $
|
||||||
|
|
||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
#
|
#
|
||||||
@@ -106,6 +106,10 @@
|
|||||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
case ",$DEBUG_SH," in
|
||||||
|
*,meta2deps*) set -x;;
|
||||||
|
esac
|
||||||
|
|
||||||
meta2src() {
|
meta2src() {
|
||||||
cat /dev/null "$@" |
|
cat /dev/null "$@" |
|
||||||
sed -n '/^R .*\.[chyl]$/s,^..[0-9]* ,,p' |
|
sed -n '/^R .*\.[chyl]$/s,^..[0-9]* ,,p' |
|
||||||
@@ -259,7 +263,14 @@ meta2deps() {
|
|||||||
# first a sanity check - filemon on Linux is not very reliable
|
# first a sanity check - filemon on Linux is not very reliable
|
||||||
# path2 should only be non-empty for op L or M
|
# path2 should only be non-empty for op L or M
|
||||||
# and it should not contain spaces.
|
# and it should not contain spaces.
|
||||||
|
# It will also be non-empty for # Meta line
|
||||||
|
# which tells us which meta_file we are processing
|
||||||
case "$op,$path2" in
|
case "$op,$path2" in
|
||||||
|
\#*,*.meta) # new file, reset some vars
|
||||||
|
version=no epids= xpids= eof_token=no lpid=
|
||||||
|
meta_file=`set -- $path2; echo $2`
|
||||||
|
continue
|
||||||
|
;;
|
||||||
\#*) ;; # ok
|
\#*) ;; # ok
|
||||||
[LM],) error "missing path2 in: '$op $pid $path'";;
|
[LM],) error "missing path2 in: '$op $pid $path'";;
|
||||||
[LMX],*" "*) error "wrong number of words in: '$op $pid $path $path2'";;
|
[LMX],*" "*) error "wrong number of words in: '$op $pid $path $path2'";;
|
||||||
@@ -268,6 +279,7 @@ meta2deps() {
|
|||||||
esac
|
esac
|
||||||
# we track cwd and ldir (of interest) per pid
|
# we track cwd and ldir (of interest) per pid
|
||||||
# CWD is bmake's cwd
|
# CWD is bmake's cwd
|
||||||
|
: lpid=$lpid,pid=$pid
|
||||||
case "$lpid,$pid" in
|
case "$lpid,$pid" in
|
||||||
,C) CWD=$path cwd=$path ldir=$path
|
,C) CWD=$path cwd=$path ldir=$path
|
||||||
if [ -z "$SB" ]; then
|
if [ -z "$SB" ]; then
|
||||||
@@ -276,13 +288,13 @@ meta2deps() {
|
|||||||
SRCTOP=${SRCTOP:-$SB/src}
|
SRCTOP=${SRCTOP:-$SB/src}
|
||||||
case "$verion" in
|
case "$verion" in
|
||||||
no) ;; # ignore
|
no) ;; # ignore
|
||||||
0) error "no filemon data";;
|
0) error "no filemon data: $meta_file";;
|
||||||
*) ;;
|
*) ;;
|
||||||
esac
|
esac
|
||||||
version=0
|
version=0
|
||||||
case "$eof_token" in
|
case "$eof_token" in
|
||||||
no) ;; # ignore
|
no) ;; # ignore
|
||||||
0) error "truncated filemon data";;
|
0) error "truncated filemon data: $meta_file";;
|
||||||
esac
|
esac
|
||||||
eof_token=0
|
eof_token=0
|
||||||
continue
|
continue
|
||||||
@@ -424,18 +436,18 @@ meta2deps() {
|
|||||||
done > $tf.dirdep
|
done > $tf.dirdep
|
||||||
: version=$version
|
: version=$version
|
||||||
case "$version" in
|
case "$version" in
|
||||||
0) error "no filemon data";;
|
0) error "no filemon data: $meta_file";;
|
||||||
esac
|
esac
|
||||||
: eof_token=$eof_token
|
: eof_token=$eof_token
|
||||||
case "$eof_token" in
|
case "$eof_token" in
|
||||||
0) error "truncated filemon data";;
|
0) error "truncated filemon data: $meta_file";;
|
||||||
esac
|
esac
|
||||||
for p in $epids
|
for p in $epids
|
||||||
do
|
do
|
||||||
: p=$p
|
: p=$p
|
||||||
case " $xpids " in
|
case " $xpids " in
|
||||||
*" $p "*) ;;
|
*" $p "*) ;;
|
||||||
*) error "missing eXit for pid $p";;
|
*) error "missing eXit for pid $p: $meta_file";;
|
||||||
esac
|
esac
|
||||||
done ) || exit 1
|
done ) || exit 1
|
||||||
_nl=echo
|
_nl=echo
|
||||||
|
|||||||
+2
-8
@@ -1,17 +1,11 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
# SPDX-License-Identifier: BSD-2-Clause
|
|
||||||
#
|
#
|
||||||
# $Id: mkopt.sh,v 1.17 2025/05/22 22:35:14 sjg Exp $
|
# $Id: mkopt.sh,v 1.18 2025/08/07 21:59:54 sjg Exp $
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2014-2025, Simon J. Gerraty
|
# @(#) Copyright (c) 2014-2025, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+2
-9
@@ -81,18 +81,11 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
# RCSid:
|
# RCSid:
|
||||||
# $Id: newlog.sh,v 1.30 2025/06/01 05:07:48 sjg Exp $
|
# $Id: newlog.sh,v 1.31 2025/08/07 22:07:13 sjg Exp $
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: BSD-2-Clause
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 1993-2025 Simon J. Gerraty
|
# @(#) Copyright (c) 1993-2025 Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
@@ -1,15 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: obj.mk,v 1.20 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# $Id: obj.mk,v 1.19 2024/02/19 00:06:19 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 1999-2010, Simon J. Gerraty
|
# @(#) Copyright (c) 1999-2010, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+102
-46
@@ -1,15 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: options.mk,v 1.25 2025/09/18 05:11:59 sjg Exp $
|
||||||
#
|
#
|
||||||
# $Id: options.mk,v 1.22 2024/10/27 17:33:03 sjg Exp $
|
# @(#) Copyright (c) 2012-2025, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2012, Simon J. Gerraty
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
#
|
|
||||||
# This file is provided in the hope that it will
|
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
@@ -17,6 +10,31 @@
|
|||||||
|
|
||||||
# Inspired by FreeBSD bsd.own.mk, but intentionally simpler and more flexible.
|
# Inspired by FreeBSD bsd.own.mk, but intentionally simpler and more flexible.
|
||||||
|
|
||||||
|
OPTION_PREFIX ?= MK_
|
||||||
|
|
||||||
|
# Options to be forced either "yes" or "no"
|
||||||
|
OPTIONS_FORCED_VALUES += \
|
||||||
|
${OPTIONS_BROKEN:U:O:u:S,$,/no,:N/no} \
|
||||||
|
${OPTIONS_FORCED_NO:U:O:u:S,$,/no,:N/no} \
|
||||||
|
${OPTIONS_FORCED_YES:U:O:u:S,$,/yes,:N/yes} \
|
||||||
|
${OPTIONS_REQUIRED:U:O:u:S,$,/yes,:N/yes} \
|
||||||
|
|
||||||
|
.for o v in ${OPTIONS_FORCED_VALUES:M*/*:S,/, ,g}
|
||||||
|
.if !make(show-options)
|
||||||
|
.if ${v:tl} == "yes"
|
||||||
|
.if defined(WITHOUT_$o)
|
||||||
|
.warning WITHOUT_$o ignored
|
||||||
|
.endif
|
||||||
|
.elif defined(WITH_$o)
|
||||||
|
.warning WITH_$o ignored
|
||||||
|
.endif
|
||||||
|
.endif
|
||||||
|
${OPTION_PREFIX}$o := ${v:tl}
|
||||||
|
.if defined(DEBUG_OPTIONS) && ${DEBUG_OPTIONS:@x@${o:M$x}@} != ""
|
||||||
|
.info ${.INCLUDEDFROMFILE}: ${OPTION_PREFIX}$o=${${OPTION_PREFIX}$o}
|
||||||
|
.endif
|
||||||
|
.endfor
|
||||||
|
|
||||||
# Options are normally listed in either OPTIONS_DEFAULT_{YES,NO}
|
# Options are normally listed in either OPTIONS_DEFAULT_{YES,NO}
|
||||||
# We convert these to ${OPTION}/{yes,no} in OPTIONS_DEFAULT_VALUES.
|
# We convert these to ${OPTION}/{yes,no} in OPTIONS_DEFAULT_VALUES.
|
||||||
# We add the OPTIONS_DEFAULT_NO first so they take precedence.
|
# We add the OPTIONS_DEFAULT_NO first so they take precedence.
|
||||||
@@ -28,72 +46,104 @@
|
|||||||
# User sets WITH_* and WITHOUT_* to indicate what they want.
|
# User sets WITH_* and WITHOUT_* to indicate what they want.
|
||||||
# We set ${OPTION_PREFIX:UMK_}* which is then all we need care about.
|
# We set ${OPTION_PREFIX:UMK_}* which is then all we need care about.
|
||||||
OPTIONS_DEFAULT_VALUES += \
|
OPTIONS_DEFAULT_VALUES += \
|
||||||
${OPTIONS_DEFAULT_NO:U:O:u:S,$,/no,} \
|
${OPTIONS_DEFAULT_NO:U:O:u:S,$,/no,:N/no} \
|
||||||
${OPTIONS_DEFAULT_YES:U:O:u:S,$,/yes,}
|
${OPTIONS_DEFAULT_YES:U:O:u:S,$,/yes,:N/yes} \
|
||||||
|
|
||||||
OPTION_PREFIX ?= MK_
|
|
||||||
|
|
||||||
# NO_* takes precedence
|
# NO_* takes precedence
|
||||||
# If both WITH_* and WITHOUT_* are defined, WITHOUT_ wins unless
|
# If both WITH_* and WITHOUT_* are defined, WITHOUT_ wins unless
|
||||||
# DOMINANT_* is set to "yes"
|
# OPTION_DOMINANT_* is set to "yes"
|
||||||
# Otherwise WITH_* and WITHOUT_* override the default.
|
# Otherwise WITH_* and WITHOUT_* override the default.
|
||||||
.for o in ${OPTIONS_DEFAULT_VALUES:M*/*}
|
.for o v in ${OPTIONS_DEFAULT_VALUES:M*/*:S,/, ,}
|
||||||
.if defined(WITH_${o:H}) && ${WITH_${o:H}} == "no"
|
.if defined(WITH_$o) && ${WITH_$o:tl} == "no"
|
||||||
# a common miss-use - point out correct usage
|
# a common miss-use - point out correct usage
|
||||||
.warning use WITHOUT_${o:H}=1 not WITH_${o:H}=no
|
.warning use WITHOUT_$o=1 not WITH_$o=no
|
||||||
|
WITHOUT_$o = 1
|
||||||
.endif
|
.endif
|
||||||
.if defined(NO_${o:H}) || defined(NO${o:H})
|
.if defined(NO_$o) || defined(NO$o)
|
||||||
# we cannot do it
|
# we cannot do it
|
||||||
${OPTION_PREFIX}${o:H} ?= no
|
${OPTION_PREFIX}$o ?= no
|
||||||
.elif defined(WITH_${o:H}) && defined(WITHOUT_${o:H})
|
.elif defined(WITH_$o) && defined(WITHOUT_$o)
|
||||||
# normally WITHOUT_ wins
|
# normally WITHOUT_ wins
|
||||||
DOMINANT_${o:H} ?= no
|
OPTION_DOMINANT_$o ?= no
|
||||||
${OPTION_PREFIX}${o:H} ?= ${DOMINANT_${o:H}}
|
${OPTION_PREFIX}$o ?= ${OPTION_DOMINANT_$o}
|
||||||
.elif ${o:T:tl} == "no"
|
.elif ${v:tl} == "no"
|
||||||
.if defined(WITH_${o:H})
|
.if defined(WITH_$o)
|
||||||
${OPTION_PREFIX}${o:H} ?= yes
|
${OPTION_PREFIX}$o ?= yes
|
||||||
.else
|
.else
|
||||||
${OPTION_PREFIX}${o:H} ?= no
|
${OPTION_PREFIX}$o ?= no
|
||||||
.endif
|
.endif
|
||||||
.else
|
.else
|
||||||
.if defined(WITHOUT_${o:H})
|
.if defined(WITHOUT_$o)
|
||||||
${OPTION_PREFIX}${o:H} ?= no
|
${OPTION_PREFIX}$o ?= no
|
||||||
.else
|
.else
|
||||||
${OPTION_PREFIX}${o:H} ?= yes
|
${OPTION_PREFIX}$o ?= yes
|
||||||
.endif
|
.endif
|
||||||
.endif
|
.endif
|
||||||
.if defined(DEBUG_OPTIONS) && ${DEBUG_OPTIONS:@x@${o:H:M$x}@} != ""
|
.if defined(DEBUG_OPTIONS) && ${DEBUG_OPTIONS:@x@${o:M$x}@} != ""
|
||||||
.info ${.INCLUDEDFROMFILE}: ${OPTION_PREFIX}${o:H}=${${OPTION_PREFIX}${o:H}}
|
.info ${.INCLUDEDFROMFILE}: ${OPTION_PREFIX}$o=${${OPTION_PREFIX}$o}
|
||||||
.endif
|
.endif
|
||||||
.endfor
|
.endfor
|
||||||
|
|
||||||
# OPTIONS_DEFAULT_DEPENDENT += FOO_UTILS/FOO
|
# OPTIONS_DEFAULT_DEPENDENT += FOO_UTILS/FOO
|
||||||
# If neither WITH[OUT]_FOO_UTILS is set, (see rules above)
|
# If neither WITH[OUT]_FOO_UTILS is set, (see rules above)
|
||||||
# use the value of ${OPTION_PREFIX}FOO
|
# use the value of ${OPTION_PREFIX}FOO
|
||||||
.for o in ${OPTIONS_DEFAULT_DEPENDENT:M*/*:O:u}
|
# Add OPTIONS_DEFAULT_DEPENDENT_REQUIRED (sans any trailing /{yes,no})
|
||||||
.if defined(NO_${o:H}) || defined(NO${o:H})
|
# to OPTIONS_DEFAULT_DEPENDENT to avoid the need to duplicate entries
|
||||||
|
OPTIONS_DEFAULT_DEPENDENT += ${OPTIONS_DEFAULT_DEPENDENT_REQUIRED:U:S,/yes$,,:S,/no$,,}
|
||||||
|
|
||||||
|
.for o d in ${OPTIONS_DEFAULT_DEPENDENT:M*/*:S,/, ,}
|
||||||
|
.if defined(NO_$o) || defined(NO$o)
|
||||||
# we cannot do it
|
# we cannot do it
|
||||||
${OPTION_PREFIX}${o:H} ?= no
|
${OPTION_PREFIX}$o ?= no
|
||||||
.elif defined(WITH_${o:H}) && defined(WITHOUT_${o:H})
|
.elif defined(WITH_$o) && defined(WITHOUT_$o)
|
||||||
# normally WITHOUT_ wins
|
# normally WITHOUT_ wins
|
||||||
DOMINANT_${o:H} ?= no
|
OPTION_DOMINANT_$o ?= no
|
||||||
${OPTION_PREFIX}${o:H} ?= ${DOMINANT_${o:H}}
|
${OPTION_PREFIX}$o ?= ${OPTION_DOMINANT_$o}
|
||||||
.elif defined(WITH_${o:H})
|
.elif defined(WITH_$o)
|
||||||
${OPTION_PREFIX}${o:H} ?= yes
|
${OPTION_PREFIX}$o ?= yes
|
||||||
.elif defined(WITHOUT_${o:H})
|
.elif defined(WITHOUT_$o)
|
||||||
${OPTION_PREFIX}${o:H} ?= no
|
${OPTION_PREFIX}$o ?= no
|
||||||
.else
|
.else
|
||||||
${OPTION_PREFIX}${o:H} ?= ${${OPTION_PREFIX}${o:T}}
|
${OPTION_PREFIX}$o ?= ${${OPTION_PREFIX}$d}
|
||||||
.endif
|
.endif
|
||||||
.if defined(DEBUG_OPTIONS) && ${DEBUG_OPTIONS:@x@${o:H:M$x}@} != ""
|
.if defined(DEBUG_OPTIONS) && ${DEBUG_OPTIONS:@x@${o:M$x}@} != ""
|
||||||
.info ${.INCLUDEDFROMFILE}: ${OPTION_PREFIX}${o:H}=${${OPTION_PREFIX}${o:H}} (${OPTION_PREFIX}${o:T}=${${OPTION_PREFIX}${o:T}})
|
.info ${.INCLUDEDFROMFILE}: ${OPTION_PREFIX}$o=${${OPTION_PREFIX}$o} (${OPTION_PREFIX}$d=${${OPTION_PREFIX}$d})
|
||||||
.endif
|
.endif
|
||||||
.endfor
|
.endfor
|
||||||
|
|
||||||
|
# OPTIONS_DEFAULT_DEPENDENT_REQUIRED += FOO_UTILS/FOO[/{yes,no}]
|
||||||
|
# first processed with OPTIONS_DEFAULT_DEPENDENT above,
|
||||||
|
# but if ${OPTION_PREFIX}${o:H:H} is ${o:T},
|
||||||
|
# then ${OPTION_PREFIX}${o:H:T} must be too
|
||||||
|
.for o in ${OPTIONS_DEFAULT_DEPENDENT_REQUIRED:M*/*:O:u}
|
||||||
|
# This dance allows /{yes,no} to be optional
|
||||||
|
.if ${o:T:tl:Nno:Nyes} == ""
|
||||||
|
$o.H := ${o:H:H}
|
||||||
|
$o.R := ${o:T}
|
||||||
|
$o.T := ${o:H:T}
|
||||||
|
.else
|
||||||
|
$o.H := ${o:H}
|
||||||
|
$o.R := ${OPTION_REQUIRED_${o:H}:Uyes}
|
||||||
|
$o.T := ${o:T}
|
||||||
|
.endif
|
||||||
|
.if defined(DEBUG_OPTIONS) && ${DEBUG_OPTIONS:@x@${$o.H:M$x}@} != ""
|
||||||
|
.info ${.INCLUDEDFROMFILE}: ${OPTION_PREFIX}${$o.H}=${${OPTION_PREFIX}${$o.H}} (${OPTION_PREFIX}${$o.T}=${${OPTION_PREFIX}${$o.T}} require=${$o.R})
|
||||||
|
.endif
|
||||||
|
.if ${${OPTION_PREFIX}${$o.H}} != ${${OPTION_PREFIX}${$o.T}}
|
||||||
|
.if ${${OPTION_PREFIX}${$o.H}} == ${$o.R}
|
||||||
|
.error ${OPTION_PREFIX}${$o.H}=${${OPTION_PREFIX}${$o.H}} requires ${OPTION_PREFIX}${$o.T}=${${OPTION_PREFIX}${$o.H}}
|
||||||
|
.endif
|
||||||
|
.endif
|
||||||
|
.undef $o.H
|
||||||
|
.undef $o.R
|
||||||
|
.undef $o.T
|
||||||
|
.endfor
|
||||||
|
|
||||||
# allow displaying/describing set options
|
# allow displaying/describing set options
|
||||||
.set_options := ${.set_options} \
|
.set_options := ${.set_options} \
|
||||||
${OPTIONS_DEFAULT_VALUES:H:N.} \
|
${OPTIONS_DEFAULT_VALUES:U:H:N.} \
|
||||||
${OPTIONS_DEFAULT_DEPENDENT:U:H:N.} \
|
${OPTIONS_DEFAULT_DEPENDENT:U:H:N.} \
|
||||||
|
${OPTIONS_FORCED_VALUES:U:H:N.} \
|
||||||
|
|
||||||
# this can be used in .info as well as target below
|
# this can be used in .info as well as target below
|
||||||
OPTIONS_SHOW ?= ${.set_options:O:u:@o@${OPTION_PREFIX}$o=${${OPTION_PREFIX}$o}@}
|
OPTIONS_SHOW ?= ${.set_options:O:u:@o@${OPTION_PREFIX}$o=${${OPTION_PREFIX}$o}@}
|
||||||
@@ -114,7 +164,13 @@ describe-options: .NOTMAIN .PHONY
|
|||||||
.endif
|
.endif
|
||||||
|
|
||||||
# we expect to be included more than once
|
# we expect to be included more than once
|
||||||
|
.undef OPTIONS_BROKEN
|
||||||
.undef OPTIONS_DEFAULT_DEPENDENT
|
.undef OPTIONS_DEFAULT_DEPENDENT
|
||||||
|
.undef OPTIONS_DEFAULT_DEPENDENT_REQUIRED
|
||||||
.undef OPTIONS_DEFAULT_NO
|
.undef OPTIONS_DEFAULT_NO
|
||||||
.undef OPTIONS_DEFAULT_VALUES
|
.undef OPTIONS_DEFAULT_VALUES
|
||||||
.undef OPTIONS_DEFAULT_YES
|
.undef OPTIONS_DEFAULT_YES
|
||||||
|
.undef OPTIONS_FORCED_NO
|
||||||
|
.undef OPTIONS_FORCED_VALUES
|
||||||
|
.undef OPTIONS_FORCED_YES
|
||||||
|
.undef OPTIONS_REQUIRED
|
||||||
|
|||||||
+2
-9
@@ -1,15 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: posix.mk,v 1.4 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# $Id: posix.mk,v 1.3 2024/02/17 17:26:57 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2022, Simon J. Gerraty
|
# @(#) Copyright (c) 2022, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+2
-9
@@ -1,15 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: prlist.mk,v 1.7 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# $Id: prlist.mk,v 1.6 2024/02/17 17:26:57 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2006, Simon J. Gerraty
|
# @(#) Copyright (c) 2006, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+2
-9
@@ -1,15 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: progs.mk,v 1.20 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# $Id: progs.mk,v 1.19 2025/05/19 19:15:22 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2006, Simon J. Gerraty
|
# @(#) Copyright (c) 2006, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+2
-9
@@ -1,15 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: rst2htm.mk,v 1.17 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# $Id: rst2htm.mk,v 1.16 2025/04/16 00:42:07 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2009, Simon J. Gerraty
|
# @(#) Copyright (c) 2009, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+2
-10
@@ -1,16 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: rust.mk,v 1.38 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# RCSid:
|
|
||||||
# $Id: rust.mk,v 1.37 2025/01/11 03:17:36 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2024, Simon J. Gerraty
|
# @(#) Copyright (c) 2024, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+2
-9
@@ -1,15 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: scripts.mk,v 1.6 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# $Id: scripts.mk,v 1.5 2024/02/17 17:26:57 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2006, Simon J. Gerraty
|
# @(#) Copyright (c) 2006, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+2
-7
@@ -50,16 +50,11 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
# RCSid:
|
# RCSid:
|
||||||
# $Id: setopts.sh,v 1.15 2025/06/01 02:10:31 sjg Exp $
|
# $Id: setopts.sh,v 1.16 2025/08/07 21:59:54 sjg Exp $
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 1995-2025 Simon J. Gerraty
|
# @(#) Copyright (c) 1995-2025 Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+2
-9
@@ -1,15 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: srctop.mk,v 1.6 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# $Id: srctop.mk,v 1.5 2024/02/17 17:26:57 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2012, Simon J. Gerraty
|
# @(#) Copyright (c) 2012, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+2
-7
@@ -37,18 +37,13 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
# RCSid:
|
# RCSid:
|
||||||
# $Id: stage-install.sh,v 1.11 2024/02/17 17:26:57 sjg Exp $
|
# $Id: stage-install.sh,v 1.12 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
#
|
||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2013-2020, Simon J. Gerraty
|
# @(#) Copyright (c) 2013-2020, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+2
-9
@@ -1,15 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: subdir.mk,v 1.28 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# $Id: subdir.mk,v 1.27 2024/09/01 05:02:43 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2002-2024, Simon J. Gerraty
|
# @(#) Copyright (c) 2002-2024, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+2
-9
@@ -1,15 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: suffixes.mk,v 1.4 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# $Id: suffixes.mk,v 1.3 2024/02/17 17:26:57 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2024, Simon J. Gerraty
|
# @(#) Copyright (c) 2024, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+2
-9
@@ -1,15 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: sys.clean-env.mk,v 1.27 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# $Id: sys.clean-env.mk,v 1.26 2024/02/17 17:26:57 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2009, Simon J. Gerraty
|
# @(#) Copyright (c) 2009, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+2
-9
@@ -1,15 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: sys.debug.mk,v 1.4 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# $Id: sys.debug.mk,v 1.3 2024/02/17 17:26:57 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2009, Simon J. Gerraty
|
# @(#) Copyright (c) 2009, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
@@ -1,15 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: sys.dependfile.mk,v 1.12 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# $Id: sys.dependfile.mk,v 1.11 2024/02/17 17:26:57 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2012-2023, Simon J. Gerraty
|
# @(#) Copyright (c) 2012-2023, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+2
-9
@@ -1,15 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: sys.dirdeps.mk,v 1.16 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# $Id: sys.dirdeps.mk,v 1.15 2024/04/18 17:18:31 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2012-2023, Simon J. Gerraty
|
# @(#) Copyright (c) 2012-2023, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
@@ -1,15 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: sys.mk,v 1.66 2025/11/19 03:38:20 sjg Exp $
|
||||||
#
|
|
||||||
# $Id: sys.mk,v 1.62 2025/05/19 19:15:22 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2003-2023, Simon J. Gerraty
|
# @(#) Copyright (c) 2003-2023, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+26
-10
@@ -1,15 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: sys.vars.mk,v 1.24 2025/11/19 17:44:15 sjg Exp $
|
||||||
#
|
|
||||||
# $Id: sys.vars.mk,v 1.18 2025/03/09 02:47:59 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2003-2023, Simon J. Gerraty
|
# @(#) Copyright (c) 2003-2023, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
@@ -37,6 +30,22 @@ _this = ${.PARSEDIR}/${.PARSEFILE}
|
|||||||
_this = ${.PARSEDIR:tA}/${.PARSEFILE}
|
_this = ${.PARSEDIR:tA}/${.PARSEFILE}
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
|
# This is a boolean we can use in makefiles as below
|
||||||
|
.ifndef MAKE_POSIX_SHELL
|
||||||
|
MAKE_POSIX_SHELL != (echo $${PATH%:*}) > /dev/null 2>&1 && echo 1 || echo 0
|
||||||
|
.export MAKE_POSIX_SHELL
|
||||||
|
.endif
|
||||||
|
|
||||||
|
# This is a boolean we can use in target scripts
|
||||||
|
.ifndef isPOSIX_SHELL
|
||||||
|
.if ${MAKE_POSIX_SHELL}
|
||||||
|
isPOSIX_SHELL = :
|
||||||
|
.else
|
||||||
|
isPOSIX_SHELL = false
|
||||||
|
.endif
|
||||||
|
.export isPOSIX_SHELL
|
||||||
|
.endif
|
||||||
|
|
||||||
# some useful modifiers
|
# some useful modifiers
|
||||||
|
|
||||||
# A useful trick for testing multiple :M's against something
|
# A useful trick for testing multiple :M's against something
|
||||||
@@ -56,8 +65,15 @@ M_ListToSkip= O:u:S,^,N,:ts:
|
|||||||
_type_sh = which
|
_type_sh = which
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
|
# :sh1 evaluates command only once and caches the result.
|
||||||
|
.if ${MAKE_VERSION} < 20251111
|
||||||
|
M_sh1 = sh
|
||||||
|
.else
|
||||||
|
M_sh1 = sh1
|
||||||
|
.endif
|
||||||
|
|
||||||
# AUTOCONF := ${autoconf:L:${M_whence}}
|
# AUTOCONF := ${autoconf:L:${M_whence}}
|
||||||
M_type = @x@(${_type_sh:Utype} $$x) 2> /dev/null; echo;@:sh:[0]:N* found*:[@]:C,[()],,g
|
M_type = @x@(${_type_sh:Utype} $$x) 2> /dev/null; echo;@:${M_sh1:Ush}:[0]:N* found*:[@]:C,[()],,g
|
||||||
M_whence = ${M_type}:M/*:[1]
|
M_whence = ${M_type}:M/*:[1]
|
||||||
|
|
||||||
# produce similar output to jot(1) or seq(1)
|
# produce similar output to jot(1) or seq(1)
|
||||||
|
|||||||
+2
-11
@@ -34,21 +34,12 @@
|
|||||||
#
|
#
|
||||||
# Only works with a make(1) that does nested evaluation correctly.
|
# Only works with a make(1) that does nested evaluation correctly.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# SPDX-License-Identifier: BSD-2-Clause
|
|
||||||
#
|
|
||||||
# RCSid:
|
# RCSid:
|
||||||
# $Id: target-flags.mk,v 1.11 2024/02/17 17:26:57 sjg Exp $
|
# $Id: target-flags.mk,v 1.12 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 1998-2002, Simon J. Gerraty
|
# @(#) Copyright (c) 1998-2002, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+2
-10
@@ -1,16 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: warnings.mk,v 1.19 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# RCSid:
|
|
||||||
# $Id: warnings.mk,v 1.18 2024/02/17 17:26:57 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2002-2023, Simon J. Gerraty
|
# @(#) Copyright (c) 2002-2023, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+2
-9
@@ -1,15 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: whats.mk,v 1.13 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# $Id: whats.mk,v 1.12 2024/02/17 17:26:57 sjg Exp $
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2014-2020, Simon J. Gerraty
|
# @(#) Copyright (c) 2014-2020, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+2
-10
@@ -1,16 +1,8 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# $Id: yacc.mk,v 1.10 2025/08/09 22:42:24 sjg Exp $
|
||||||
#
|
|
||||||
# $Id: yacc.mk,v 1.9 2024/02/17 17:26:57 sjg Exp $
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 1999-2011, Simon J. Gerraty
|
# @(#) Copyright (c) 1999-2011, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
@@ -17,16 +17,11 @@
|
|||||||
# Simon J. Gerraty <sjg@crufty.net>
|
# Simon J. Gerraty <sjg@crufty.net>
|
||||||
|
|
||||||
# RCSid:
|
# RCSid:
|
||||||
# $Id: os.sh,v 1.67 2025/02/13 21:04:34 sjg Exp $
|
# $Id: os.sh,v 1.68 2025/08/07 21:59:54 sjg Exp $
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 1994 Simon J. Gerraty
|
# @(#) Copyright (c) 1994 Simon J. Gerraty
|
||||||
#
|
#
|
||||||
# This file is provided in the hope that it will
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
# be of use. There is absolutely NO WARRANTY.
|
|
||||||
# Permission to copy, redistribute or otherwise
|
|
||||||
# use this file is hereby granted provided that
|
|
||||||
# the above copyright notice and this notice are
|
|
||||||
# left intact.
|
|
||||||
#
|
#
|
||||||
# Please send copies of changes and bug-fixes to:
|
# Please send copies of changes and bug-fixes to:
|
||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
|
|||||||
+3
-11
@@ -104,24 +104,16 @@
|
|||||||
* Simon J. Gerraty <sjg@crufty.net>
|
* Simon J. Gerraty <sjg@crufty.net>
|
||||||
*/
|
*/
|
||||||
/* COPYRIGHT:
|
/* COPYRIGHT:
|
||||||
* @(#)Copyright (c) 1992-2021, Simon J. Gerraty
|
* @(#)Copyright (c) 1992-2025, Simon J. Gerraty
|
||||||
*
|
*
|
||||||
* This is free software. It comes with NO WARRANTY.
|
* SPDX-License-Identifier: BSD-2-Clause
|
||||||
* Permission to use, modify and distribute this source code
|
|
||||||
* is granted subject to the following conditions.
|
|
||||||
* 1/ that that the above copyright notice and this notice
|
|
||||||
* are preserved in all copies and that due credit be given
|
|
||||||
* to the author.
|
|
||||||
* 2/ that any changes to this code are clearly commented
|
|
||||||
* as such so that the author does get blamed for bugs
|
|
||||||
* other than his own.
|
|
||||||
*
|
*
|
||||||
* Please send copies of changes and bug-fixes to:
|
* Please send copies of changes and bug-fixes to:
|
||||||
* sjg@crufty.net
|
* sjg@crufty.net
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
#ifndef lint
|
#ifndef lint
|
||||||
static char *RCSid = "$Id: sigact.c,v 1.8 2021/10/14 19:39:17 sjg Exp $";
|
static char *RCSid = "$Id: sigact.c,v 1.9 2025/08/09 22:11:45 sjg Exp $";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#undef _ANSI_SOURCE /* causes problems */
|
#undef _ANSI_SOURCE /* causes problems */
|
||||||
|
|||||||
+3
-11
@@ -37,17 +37,9 @@
|
|||||||
* Simon J. Gerraty <sjg@crufty.net>
|
* Simon J. Gerraty <sjg@crufty.net>
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* @(#)Copyright (c) 1994, Simon J. Gerraty.
|
* @(#)Copyright (c) 1994-2025, Simon J. Gerraty.
|
||||||
*
|
*
|
||||||
* This is free software. It comes with NO WARRANTY.
|
* SPDX-License-Identifier: BSD-2-Clause
|
||||||
* Permission to use, modify and distribute this source code
|
|
||||||
* is granted subject to the following conditions.
|
|
||||||
* 1/ that the above copyright notice and this notice
|
|
||||||
* are preserved in all copies and that due credit be given
|
|
||||||
* to the author.
|
|
||||||
* 2/ that any changes to this code are clearly commented
|
|
||||||
* as such so that the author does not get blamed for bugs
|
|
||||||
* other than his own.
|
|
||||||
*
|
*
|
||||||
* Please send copies of changes and bug-fixes to:
|
* Please send copies of changes and bug-fixes to:
|
||||||
* sjg@crufty.net
|
* sjg@crufty.net
|
||||||
@@ -104,7 +96,7 @@
|
|||||||
|
|
||||||
#if defined(LIBC_SCCS) && !defined(lint)
|
#if defined(LIBC_SCCS) && !defined(lint)
|
||||||
/*static char *sccsid = "from: @(#)sigcompat.c 5.3 (Berkeley) 2/24/91";*/
|
/*static char *sccsid = "from: @(#)sigcompat.c 5.3 (Berkeley) 2/24/91";*/
|
||||||
static char *rcsid = "$Id: sigcompat.c,v 1.24 2022/09/26 17:38:10 sjg Exp $";
|
static char *rcsid = "$Id: sigcompat.c,v 1.25 2025/08/09 22:11:45 sjg Exp $";
|
||||||
#endif /* LIBC_SCCS and not lint */
|
#endif /* LIBC_SCCS and not lint */
|
||||||
|
|
||||||
#undef signal
|
#undef signal
|
||||||
|
|||||||
+25
-6
@@ -1,6 +1,6 @@
|
|||||||
# $Id: Makefile,v 1.245 2025/08/05 16:18:07 sjg Exp $
|
# $Id: Makefile,v 1.251 2025/11/15 17:17:18 sjg Exp $
|
||||||
#
|
#
|
||||||
# $NetBSD: Makefile,v 1.372 2025/08/04 22:44:49 sjg Exp $
|
# $NetBSD: Makefile,v 1.373 2025/11/12 22:14:08 sjg Exp $
|
||||||
#
|
#
|
||||||
# Unit tests for make(1)
|
# Unit tests for make(1)
|
||||||
#
|
#
|
||||||
@@ -403,6 +403,7 @@ TESTS+= varmod-shell
|
|||||||
TESTS+= varmod-subst
|
TESTS+= varmod-subst
|
||||||
TESTS+= varmod-subst-regex
|
TESTS+= varmod-subst-regex
|
||||||
TESTS+= varmod-sun-shell
|
TESTS+= varmod-sun-shell
|
||||||
|
TESTS+= varmod-sun-shell1
|
||||||
TESTS+= varmod-sysv
|
TESTS+= varmod-sysv
|
||||||
TESTS+= varmod-tail
|
TESTS+= varmod-tail
|
||||||
TESTS+= varmod-to-abs
|
TESTS+= varmod-to-abs
|
||||||
@@ -519,6 +520,14 @@ BROKEN_TESTS+= \
|
|||||||
|
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
|
.if ${.MAKE.OS:NMINGW*} == ""
|
||||||
|
BROKEN_TESTS+= \
|
||||||
|
cmdline \
|
||||||
|
objdir-writable \
|
||||||
|
varname-dot-make-level \
|
||||||
|
|
||||||
|
.endif
|
||||||
|
|
||||||
.if ${.MAKE.OS} == "SCO_SV"
|
.if ${.MAKE.OS} == "SCO_SV"
|
||||||
BROKEN_TESTS+= \
|
BROKEN_TESTS+= \
|
||||||
opt-debug-graph[23] \
|
opt-debug-graph[23] \
|
||||||
@@ -594,8 +603,12 @@ SED_CMDS.directive-include-guard= \
|
|||||||
-e '/^ParseEOF:/d'
|
-e '/^ParseEOF:/d'
|
||||||
SED_CMDS.export= -e '/^[^=_A-Za-z0-9]*=/d'
|
SED_CMDS.export= -e '/^[^=_A-Za-z0-9]*=/d'
|
||||||
SED_CMDS.export+= -e '/^DIFF/d'
|
SED_CMDS.export+= -e '/^DIFF/d'
|
||||||
.if ${.MAKE.OS:NCygwin} == ""
|
.if ${.MAKE.OS:NCygwin:NMINGW*} == ""
|
||||||
SED_CMDS.export+= -e '/^WINDIR=/d' -e '/^SYSTEMROOT=/d'
|
SED_CMDS.export+= \
|
||||||
|
-e '/MSYSTEM=/d' \
|
||||||
|
-e '/^SYSTEMROOT=/d' \
|
||||||
|
-e '/^WINDIR=/d' \
|
||||||
|
|
||||||
.endif
|
.endif
|
||||||
SED_CMDS.export-all= ${SED_CMDS.export}
|
SED_CMDS.export-all= ${SED_CMDS.export}
|
||||||
SED_CMDS.export-env= ${SED_CMDS.export}
|
SED_CMDS.export-env= ${SED_CMDS.export}
|
||||||
@@ -847,6 +860,12 @@ _SED_CMDS+= -e 's,${.CURDIR},<curdir>,g'
|
|||||||
# which we get depending on how MAKEOBJDIR is set.
|
# which we get depending on how MAKEOBJDIR is set.
|
||||||
_SED_CMDS+= -e 's,${.OBJDIR},<curdir>,g' -e 's,${.OBJDIR:tA},<curdir>,g'
|
_SED_CMDS+= -e 's,${.OBJDIR},<curdir>,g' -e 's,${.OBJDIR:tA},<curdir>,g'
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
|
# At the end, make sure we cleanup any dregs...
|
||||||
|
.for d in ${MAKEOBJDIRPREFIX:S,/$,,} /usr/obj
|
||||||
|
_SED_CMDS_LAST+= -e 's,$d,,'
|
||||||
|
.endfor
|
||||||
|
|
||||||
# always pretend .MAKE was called 'make'
|
# always pretend .MAKE was called 'make'
|
||||||
_SED_CMDS+= -e 's,^${TEST_MAKE:T:S,.,\\.,g}[][0-9]*:,make:,'
|
_SED_CMDS+= -e 's,^${TEST_MAKE:T:S,.,\\.,g}[][0-9]*:,make:,'
|
||||||
_SED_CMDS+= -e 's,${TEST_MAKE:S,.,\\.,g},make,'
|
_SED_CMDS+= -e 's,${TEST_MAKE:S,.,\\.,g},make,'
|
||||||
@@ -868,7 +887,7 @@ SED_CMDS.opt-debug-jobs+= -e 's,Command: <shell> -v,Command: <shell>,'
|
|||||||
.endif
|
.endif
|
||||||
|
|
||||||
.rawout.out:
|
.rawout.out:
|
||||||
@${TOOL_SED} ${_SED_CMDS} ${SED_CMDS.${.PREFIX:T}} \
|
@${TOOL_SED} ${_SED_CMDS} ${SED_CMDS.${.PREFIX:T}} ${_SED_CMDS_LAST} \
|
||||||
< ${.IMPSRC} > ${.TARGET}.tmp
|
< ${.IMPSRC} > ${.TARGET}.tmp
|
||||||
@${POSTPROC.${.PREFIX:T}:D \
|
@${POSTPROC.${.PREFIX:T}:D \
|
||||||
${POSTPROC.${.PREFIX:T}} < ${.TARGET}.tmp > ${.TARGET}.post \
|
${POSTPROC.${.PREFIX:T}} < ${.TARGET}.tmp > ${.TARGET}.post \
|
||||||
@@ -895,7 +914,7 @@ test: ${OUTFILES} .PHONY
|
|||||||
echo "Failed tests: $${failed}" ; false ; \
|
echo "Failed tests: $${failed}" ; false ; \
|
||||||
else \
|
else \
|
||||||
echo "All tests passed" ; \
|
echo "All tests passed" ; \
|
||||||
lua=${LUA:Ulua} ; \
|
lua=${LUA} ; lua=$${lua:-lua}; \
|
||||||
have_lua=$$("$$lua" -e 'print "yes"' 2>&1) ; \
|
have_lua=$$("$$lua" -e 'print "yes"' 2>&1) ; \
|
||||||
if [ "$$have_lua" = "yes" -a -s ${.CURDIR}/check-expect.lua ]; then \
|
if [ "$$have_lua" = "yes" -a -s ${.CURDIR}/check-expect.lua ]; then \
|
||||||
(cd ${.CURDIR} && "$$lua" ./check-expect.lua *.mk); \
|
(cd ${.CURDIR} && "$$lua" ./check-expect.lua *.mk); \
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
# $Id: Makefile.config.in,v 1.4 2022/09/09 18:44:56 sjg Exp $
|
# $Id: Makefile.config.in,v 1.5 2025/10/22 23:20:41 sjg Exp $
|
||||||
|
|
||||||
srcdir= @srcdir@
|
|
||||||
EGREP= @egrep@
|
|
||||||
TOOL_DIFF?= @diff@
|
|
||||||
DIFF_FLAGS?= @diff_u@
|
DIFF_FLAGS?= @diff_u@
|
||||||
|
EGREP= @egrep@
|
||||||
|
LUA?= @lua@
|
||||||
|
TOOL_DIFF?= @diff@
|
||||||
UTC_1= @UTC_1@
|
UTC_1= @UTC_1@
|
||||||
|
srcdir= @srcdir@
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
# Errors that are not related to opening the file are still reported.
|
# Errors that are not related to opening the file are still reported.
|
||||||
# expect: make: directive-dinclude-error.inc:1: Invalid line "syntax error"
|
# expect: make: directive-dinclude-error.inc:1: Invalid line "syntax error"
|
||||||
_!= echo 'syntax error' > directive-dinclude-error.inc
|
_!= echo 'syntax error' > directive-dinclude-error.inc
|
||||||
.dinclude "${.CURDIR}/directive-dinclude-error.inc"
|
.dinclude "${.OBJDIR}/directive-dinclude-error.inc"
|
||||||
_!= rm directive-dinclude-error.inc
|
_!= rm directive-dinclude-error.inc
|
||||||
|
|
||||||
all: .PHONY
|
all: .PHONY
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
# Errors that are not related to opening the file are still reported.
|
# Errors that are not related to opening the file are still reported.
|
||||||
# expect: make: directive-hyphen-include-error.inc:1: Invalid line "syntax error"
|
# expect: make: directive-hyphen-include-error.inc:1: Invalid line "syntax error"
|
||||||
_!= echo 'syntax error' > directive-hyphen-include-error.inc
|
_!= echo 'syntax error' > directive-hyphen-include-error.inc
|
||||||
.-include "${.CURDIR}/directive-hyphen-include-error.inc"
|
.-include "${.OBJDIR}/directive-hyphen-include-error.inc"
|
||||||
_!= rm directive-hyphen-include-error.inc
|
_!= rm directive-hyphen-include-error.inc
|
||||||
|
|
||||||
all: .PHONY
|
all: .PHONY
|
||||||
|
|||||||
@@ -636,9 +636,9 @@ LINES.multiline= \
|
|||||||
_:= ${fname:H:N.:@dir@${:!mkdir -p ${dir}!}@}
|
_:= ${fname:H:N.:@dir@${:!mkdir -p ${dir}!}@}
|
||||||
_!= printf '%s\n' ${LINES.$i} > ${fname}
|
_!= printf '%s\n' ${LINES.$i} > ${fname}
|
||||||
.MAKEFLAGS: -dp
|
.MAKEFLAGS: -dp
|
||||||
.include "${.CURDIR}/${fname}"
|
.include "${.OBJDIR}/${fname}"
|
||||||
.undef ${UNDEF_BETWEEN.$i:U}
|
.undef ${UNDEF_BETWEEN.$i:U}
|
||||||
.include "${.CURDIR}/${fname}"
|
.include "${.OBJDIR}/${fname}"
|
||||||
.MAKEFLAGS: -d0
|
.MAKEFLAGS: -d0
|
||||||
_!= rm ${fname}
|
_!= rm ${fname}
|
||||||
_:= ${fname:H:N.:@dir@${:!rmdir ${dir}!}@}
|
_:= ${fname:H:N.:@dir@${:!rmdir ${dir}!}@}
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ include
|
|||||||
# Buf_InitSize, which assumes that bmake_malloc never returns NULL, just like
|
# Buf_InitSize, which assumes that bmake_malloc never returns NULL, just like
|
||||||
# all other places in the code.
|
# all other places in the code.
|
||||||
_!= > directive-include-empty
|
_!= > directive-include-empty
|
||||||
.include "${.CURDIR}/directive-include-empty"
|
.include "${.OBJDIR}/directive-include-empty"
|
||||||
_!= rm directive-include-empty
|
_!= rm directive-include-empty
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
# Errors that are not related to opening the file are still reported.
|
# Errors that are not related to opening the file are still reported.
|
||||||
# expect: make: directive-include-error.inc:1: Invalid line "syntax error"
|
# expect: make: directive-include-error.inc:1: Invalid line "syntax error"
|
||||||
_!= echo 'syntax error' > directive-include-error.inc
|
_!= echo 'syntax error' > directive-include-error.inc
|
||||||
.sinclude "${.CURDIR}/directive-include-error.inc"
|
.sinclude "${.OBJDIR}/directive-include-error.inc"
|
||||||
_!= rm directive-include-error.inc
|
_!= rm directive-include-error.inc
|
||||||
|
|
||||||
all: .PHONY
|
all: .PHONY
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
make: opt-debug-file.mk:54: This goes to stderr only, once.
|
make: opt-debug-file.mk:54: This goes to stdout only, once.
|
||||||
make: opt-debug-file.mk:57: This goes to stderr only, once.
|
make: opt-debug-file.mk:57: This goes to stderr only, once.
|
||||||
make: opt-debug-file.mk:60: This goes to stderr, and in addition to the debug log.
|
make: opt-debug-file.mk:60: This goes to stderr, and in addition to the debug log.
|
||||||
CondParser_Eval: ${:!cat opt-debug-file.debuglog!:Maddition:[#]} != 1
|
CondParser_Eval: ${:!cat opt-debug-file.debuglog!:Maddition:[#]} != 1
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# $NetBSD: opt-debug-file.mk,v 1.12 2025/07/06 08:48:34 rillig Exp $
|
# $NetBSD: opt-debug-file.mk,v 1.13 2025/08/09 23:09:55 rillig Exp $
|
||||||
#
|
#
|
||||||
# Tests for the -dF command line option, which redirects the debug log
|
# Tests for the -dF command line option, which redirects the debug log
|
||||||
# to a file instead of writing it to stderr.
|
# to a file instead of writing it to stderr.
|
||||||
@@ -50,8 +50,8 @@ DEBUG_OUTPUT:= ${:!cat opt-debug-file.debuglog!:S,\$,\$\$,g}
|
|||||||
|
|
||||||
# See Parse_Error.
|
# See Parse_Error.
|
||||||
.MAKEFLAGS: -dFstdout
|
.MAKEFLAGS: -dFstdout
|
||||||
# expect+1: This goes to stderr only, once.
|
# expect+1: This goes to stdout only, once.
|
||||||
. info This goes to stderr only, once.
|
. info This goes to stdout only, once.
|
||||||
.MAKEFLAGS: -dFstderr
|
.MAKEFLAGS: -dFstderr
|
||||||
# expect+1: This goes to stderr only, once.
|
# expect+1: This goes to stderr only, once.
|
||||||
. info This goes to stderr only, once.
|
. info This goes to stderr only, once.
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
Global: _ = # (empty)
|
||||||
|
Var_Parse: ${THE_ANSWER} (eval-keep-dollar-and-undefined)
|
||||||
|
Var_Parse: ${ANSWER:sh1} (eval-keep-dollar-and-undefined)
|
||||||
|
Evaluating modifier ${ANSWER:s...} on value "echo 42; (exit 13)" (eval-keep-dollar-and-undefined, regular)
|
||||||
|
Capturing the output of command "echo 42; (exit 13)"
|
||||||
|
Global: ignoring delete '.SHELL' as it is not found
|
||||||
|
Command: .SHELL = /bin/sh
|
||||||
|
make: varmod-sun-shell1.mk:17: warning: Command "echo 42; (exit 13)" exited with status 13
|
||||||
|
Global: .MAKE.SH1.ANSWER = 42
|
||||||
|
Result of ${ANSWER:sh1} is "42" (eval-keep-dollar-and-undefined, regular)
|
||||||
|
Global: _ = 42
|
||||||
|
Global: .MAKEFLAGS = -r -k -d v -d
|
||||||
|
Global: .MAKEFLAGS = -r -k -d v -d 0
|
||||||
|
exit status 0
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
# $NetBSD: varmod-sun-shell1.mk,v 1.1 2025/11/12 22:14:08 sjg Exp $
|
||||||
|
#
|
||||||
|
# Tests for the :sh1 variable modifier, which runs the shell command
|
||||||
|
# given by the variable value only on first reference and caches its output.
|
||||||
|
#
|
||||||
|
# This modifier has been added on 2025-11-11
|
||||||
|
#
|
||||||
|
# See also:
|
||||||
|
# ApplyModifier_SunShell1
|
||||||
|
|
||||||
|
ANSWER= echo 42; (exit 13)
|
||||||
|
THE_ANSWER= ${ANSWER:sh1}
|
||||||
|
|
||||||
|
# first reference will warn
|
||||||
|
.MAKEFLAGS: -dv # to see the "Capturing" debug output
|
||||||
|
# expect+1: warning: Command "echo 42; (exit 13)" exited with status 13
|
||||||
|
_:= ${THE_ANSWER}
|
||||||
|
.MAKEFLAGS: -d0
|
||||||
|
|
||||||
|
# subsequent references will not, since we do not execute a command
|
||||||
|
.if ${THE_ANSWER} != "42"
|
||||||
|
. error
|
||||||
|
.endif
|
||||||
|
|
||||||
|
all:
|
||||||
@@ -1,7 +1,9 @@
|
|||||||
# $NetBSD: varname-circumflex.mk,v 1.1 2025/06/27 20:20:56 rillig Exp $
|
# $NetBSD: varname-circumflex.mk,v 1.2 2025/08/09 23:13:29 rillig Exp $
|
||||||
#
|
#
|
||||||
# Tests for the target-local variable "^", which is required by POSIX 2024
|
# Tests for the target-local variable "^", which is required by POSIX 2024
|
||||||
# and provided by GNU make.
|
# and provided by GNU make.
|
||||||
|
#
|
||||||
|
# https://gnats.netbsd.org/59018
|
||||||
|
|
||||||
# TODO: Support $^.
|
# TODO: Support $^.
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $NetBSD: var.c,v 1.1171 2025/06/29 11:02:17 rillig Exp $ */
|
/* $NetBSD: var.c,v 1.1173 2025/11/12 22:14:07 sjg Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1988, 1989, 1990, 1993
|
* Copyright (c) 1988, 1989, 1990, 1993
|
||||||
@@ -143,7 +143,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* "@(#)var.c 8.3 (Berkeley) 3/19/94" */
|
/* "@(#)var.c 8.3 (Berkeley) 3/19/94" */
|
||||||
MAKE_RCSID("$NetBSD: var.c,v 1.1171 2025/06/29 11:02:17 rillig Exp $");
|
MAKE_RCSID("$NetBSD: var.c,v 1.1173 2025/11/12 22:14:07 sjg Exp $");
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Variables are defined using one of the VAR=value assignments. Their
|
* Variables are defined using one of the VAR=value assignments. Their
|
||||||
@@ -1866,7 +1866,7 @@ QuoteShell(const char *str, bool quoteDollar, LazyBuf *buf)
|
|||||||
static char *
|
static char *
|
||||||
Hash(const char *str)
|
Hash(const char *str)
|
||||||
{
|
{
|
||||||
static const char hexdigits[16] = "0123456789abcdef";
|
static const char hexdigits[] = "0123456789abcdef";
|
||||||
const unsigned char *ustr = (const unsigned char *)str;
|
const unsigned char *ustr = (const unsigned char *)str;
|
||||||
|
|
||||||
uint32_t h = 0x971e137bU;
|
uint32_t h = 0x971e137bU;
|
||||||
@@ -3810,6 +3810,44 @@ ApplyModifier_SunShell(const char **pp, ModChain *ch)
|
|||||||
return AMR_OK;
|
return AMR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* :sh1 */
|
||||||
|
static ApplyModifierResult
|
||||||
|
ApplyModifier_SunShell1(const char **pp, ModChain *ch)
|
||||||
|
{
|
||||||
|
Expr *expr = ch->expr;
|
||||||
|
const char *p = *pp;
|
||||||
|
|
||||||
|
if (!(p[1] == 'h' && p[2] == '1' && IsDelimiter(p[3], ch)))
|
||||||
|
return AMR_UNKNOWN;
|
||||||
|
*pp = p + 3;
|
||||||
|
|
||||||
|
if (Expr_ShouldEval(expr)) {
|
||||||
|
char *cache_varname;
|
||||||
|
Var *v;
|
||||||
|
|
||||||
|
cache_varname = str_concat2(".MAKE.SH1.", expr->name);
|
||||||
|
v = VarFind(cache_varname, SCOPE_GLOBAL, false);
|
||||||
|
if (v == NULL) {
|
||||||
|
char *output, *error;
|
||||||
|
|
||||||
|
output = Cmd_Exec(Expr_Str(expr), &error);
|
||||||
|
if (error != NULL) {
|
||||||
|
Parse_Error(PARSE_WARNING, "%s", error);
|
||||||
|
free(error);
|
||||||
|
}
|
||||||
|
Var_SetWithFlags(SCOPE_GLOBAL, cache_varname, output,
|
||||||
|
VAR_SET_NO_EXPORT);
|
||||||
|
Expr_SetValueOwn(expr, output);
|
||||||
|
} else {
|
||||||
|
Expr_SetValueRefer(expr, v->val.data);
|
||||||
|
}
|
||||||
|
free(cache_varname);
|
||||||
|
}
|
||||||
|
|
||||||
|
return AMR_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* In cases where the evaluation mode and the definedness are the "standard"
|
* In cases where the evaluation mode and the definedness are the "standard"
|
||||||
* ones, don't log them, to keep the logs readable.
|
* ones, don't log them, to keep the logs readable.
|
||||||
@@ -3925,6 +3963,8 @@ ApplyModifier(const char **pp, ModChain *ch)
|
|||||||
case 'S':
|
case 'S':
|
||||||
return ApplyModifier_Subst(pp, ch);
|
return ApplyModifier_Subst(pp, ch);
|
||||||
case 's':
|
case 's':
|
||||||
|
if ((*pp)[1] == 'h' && (*pp)[2] == '1')
|
||||||
|
return ApplyModifier_SunShell1(pp, ch);
|
||||||
return ApplyModifier_SunShell(pp, ch);
|
return ApplyModifier_SunShell(pp, ch);
|
||||||
case 'T':
|
case 'T':
|
||||||
return ApplyModifier_WordFunc(pp, ch, ModifyWord_Tail);
|
return ApplyModifier_WordFunc(pp, ch, ModifyWord_Tail);
|
||||||
|
|||||||
@@ -6,19 +6,11 @@
|
|||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* RCSid:
|
* RCSid:
|
||||||
* $Id: wait.h,v 1.6 2002/11/26 07:53:06 sjg Exp $
|
* $Id: wait.h,v 1.7 2025/08/09 22:11:45 sjg Exp $
|
||||||
*
|
*
|
||||||
* @(#)Copyright (c) 1994, Simon J. Gerraty.
|
* @(#)Copyright (c) 1994-2025, Simon J. Gerraty.
|
||||||
*
|
*
|
||||||
* This is free software. It comes with NO WARRANTY.
|
* SPDX-License-Identifier: BSD-2-Clause
|
||||||
* Permission to use, modify and distribute this source code
|
|
||||||
* is granted subject to the following conditions.
|
|
||||||
* 1/ that the above copyright notice and this notice
|
|
||||||
* are preserved in all copies and that due credit be given
|
|
||||||
* to the author.
|
|
||||||
* 2/ that any changes to this code are clearly commented
|
|
||||||
* as such so that the author does not get blamed for bugs
|
|
||||||
* other than his own.
|
|
||||||
*
|
*
|
||||||
* Please send copies of changes and bug-fixes to:
|
* Please send copies of changes and bug-fixes to:
|
||||||
* sjg@crufty.net
|
* sjg@crufty.net
|
||||||
|
|||||||
Reference in New Issue
Block a user