I would like to contribute bmake. Also present in Debian, Fedora,
FreeBSD, Ubuntu, ...
I occasionally use it to check whether Makefiles are compatible with
non-GNU versions of make.
SUMMARY="Portable version of the NetBSD 'make' utility"
DESCRIPTION="\
bmake is a portable version of the NetBSD make(1) utility. It is similar
to GNU make, even though the syntax for the advanced features supported
in Makefiles is very different."
bmake_extras_SUMMARY="${SUMMARY} (additional support files)"
bmake_extras_DESCRIPTION="${DESCRIPTION}
This package contains many additional *.mk files and some support scripts
which are only required if used in Makefiles."
bmake-20240301-1.tar.xz:
usr/bin/bmake.exe
usr/share/doc/bmake/*
usr/share/man/man1/bmake.1.gz
usr/share/bmake/mk/host-target.mk
usr/share/bmake/mk/suffixes.mk
usr/share/bmake/mk/sys.mk
usr/share/bmake/mk/sys.*.mk
usr/share/bmake/mk/sys/Generic.mk
bmake-extras-20240301-1.tar.xz:
usr/share/bmake/mk/*.mk
usr/share/bmake/mk/install-sh
usr/share/bmake/mk/meta2deps.py
usr/share/bmake/mk/meta2deps.sh
usr/share/bmake/mk/mkopt.sh
usr/share/bmake/mk/stage-install.sh
usr/share/bmake/mk/sys/*.mk
--
Regards,
Christian
# cygport script for bmake
NAME=bmake
VERSION=20240301
RELEASE=1
SOURCE_DATE="2024-03-09 12:00:00 UTC"
SUMMARY="Portable version of the NetBSD 'make' utility"
DESCRIPTION="\
bmake is a portable version of the NetBSD make(1) utility. It is similar
to GNU make, even though the syntax for the advanced features supported
in Makefiles is very different."
LICENSE="BSD-3-Clause"
CATEGORY="Devel"
PKG_NAMES="bmake bmake-extras"
bmake_extras_SUMMARY="${SUMMARY} (additional support files)"
bmake_extras_DESCRIPTION="${DESCRIPTION}
This package contains many additional *.mk files and some support scripts
which are only required if used in Makefiles."
REQUIRES=""
bmake_extras_REQUIRES="bmake" # bash python3
BUILD_REQUIRES="binutils gcc-core" # "make" not required
HOMEPAGE="https://www.crufty.net/help/sjg/bmake.htm";
SRC_URI="https://www.crufty.net/ftp/pub/sjg/bmake-${PV}.tar.gz
https://www.crufty.net/ftp/pub/sjg/bmake-${PV}.tar.gz.asc";
SRC_DIR="bmake"
bmake_CONTENTS="
usr/bin
usr/share/doc
usr/share/man
usr/share/${PN}/mk/host-target.mk
usr/share/${PN}/mk/suffixes.mk
usr/share/${PN}/mk/sys.mk
usr/share/${PN}/mk/sys.*.mk
usr/share/${PN}/mk/sys/Generic.mk
"
bmake_extras_CONTENTS="
--exclude=usr/share/${PN}/mk/host-target.mk
--exclude=usr/share/${PN}/mk/suffixes.mk
--exclude=usr/share/${PN}/mk/sys.mk
--exclude=usr/share/${PN}/mk/sys.*.mk
--exclude=usr/share/${PN}/mk/sys/Generic.mk
usr/share/${PN}
"
SOURCE_DATE_EPOCH=$(date -d "$SOURCE_DATE" +%s) # 'export' not needed
src_compile() {
cd ${B}
${S}/boot-strap --prefix=/usr \
--with-default-sys-path=/usr/share/${PN}/mk \
--skip-test op=build
}
src_test() {
cd ${B}
${S}/boot-strap op=test
if false; then # BROKEN_TESTS (all harmless)
TESTS='export opt-chdir opt-keep-going-indirect' \
${S}/boot-strap op=test
fi
}
src_install() {
cd ${B}
# Don't use 'install -s' for bmake.exe.
STRIP_FLAG="" \
${S}/boot-strap --prefix=/usr \
--install-destdir=${D} \
--skip-test op=install
}
--- origsrc/bmake/Makefile 2024-03-09 12:00:00.0 +
+++ src/bmake/Makefile 2024-03-09 12:00:00.0 +
@@ -90,7 +90,7 @@ OS := ${.MAKE.OS:U${uname -s:L:sh}}
# are we 4.4BSD ?
isBSD44:=${BSD44_LIST:M${OS}}
-.if ${isBSD44} == "" && ${OS:NDarwin:NLinux} != ""
+.if ${isBSD44} == "" && ${OS:NCYGWIN*:NDarwin:NLinux} != ""
MANTARGET= cat
INSTALL?=${srcdir}/install-sh
.if ${MACHINE} == "sun386"
@@ -192,7 +192,7 @@ CONFIGURE_ARGS += --without-makefile
AUTOCONF_GENERATED_MAKEFILE = Makefile.config
.include
.endif
-SHARE_MK ?= ${SHAREDIR}/mk
+SHARE_MK ?= ${DEFAULT_SYS_PATH}
MKSRC = ${srcdir}/mk
INSTALL ?= ${srcdir}/install-sh
--- origsrc/bmake/boot-strap2024-03-09 12:00:00.0 +
+++ src/bmake/boot-strap2024-03-09 12:00:00.0 +
@@ -69,6 +69,9 @@
# This is useful when $prefix/ is shared by multiple
# machines.
#
+# --skip-test
+# Don't run test after build or before install.
+#
# Flags relevant when installing:
#
# -DWITHOUT_INSTALL_MK
@@ -212,6 +215,7 @@ srcdir=$Mydir
mksrc=$Mydir/mk
objdir=
quiet=:
+skip_test=false
${SKIP_RC:+:} source_rc .bmake-boot-strap.rc . "$Mydir/.." "$HOME"
@@ -249,6 +253,7 @@ do
INSTALL_BIN=$HOST_TARGET/bin;;
--install-destdir=*) INSTALL_DESTDIR=`get_optarg "$1"`;;
--install-prefix=*) INSTALL_PREFIX=`get_optarg "$1"`;;
+ --skip-test) skip_test=true;;
-DWITH*) INSTALL_ARGS="$INSTALL_ARGS $1";;
-s|--src) srcdir=