commit: 4322b41789f3d265256449fa1d451096b1fa6ae6
parent ecab359fa1a688e73c05d8c0517d9b08a54d723b
Author: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
Date: Thu, 23 May 2024 23:53:40 +0200
Use pdpmake as main make implementation
Diffstat:
5 files changed, 36 insertions(+), 23 deletions(-)
diff --git a/README.md b/README.md
@@ -85,8 +85,13 @@ Meanwhile:
### (One True) awk
Reference implementation and AFAIK the one used in BSDs, can be built with only a Yacc implementation and a C Compiler.
-### bmake
-NetBSD make(1) made portable, uses an autotools configure script but much simpler than the GNU Make one.
+### pdpmake
+Public Domain POSIX make, trivial to compile without an existing make, features future POSIX additions and common extensions.
+
+Meanwhile:
+- bmake (NetBSD make port): autotools configure script, simpler than the one in GNU make but still unreviewable
+- OpenBSD make, port at <https://github.com/ibara/make> is incomplete and likely outdated
+- (OpenOffice) dmake: Horribly massive
### bzip2
Builds with C Compiler + bmake.
diff --git a/distfiles.SHA512SUM b/distfiles.SHA512SUM
@@ -41,6 +41,7 @@ d74d86400cb5a772f8652d3c08fd041ae7999475eeef500aa8bca6c11109389d6604764184136a4b
05d97e8c9f1428e5d391bcaa010f0883997f955d302531b602b943732e474aac534b671d6a20792894432c9eef1de94c8fd4e319449e655e83e166eee5a02f33 distfiles/musl-libintl-1.2.5-r0.apk.x86
dacee8ce46c236fcc09ae767bd2f1bc1dfcba026a49134cb8f915d2d4ad31eb089fc8edeb8b1027276a9450ca14be56043747c93acbcbab334efa1bd20069084 distfiles/musl-libintl-1.2.5-r0.apk.x86_64
3d5626b0d6033a9eb8f3d81acbe0b30842e99f4c40563ca3f906ecfebdb72d754de18cd180345131868ad325fead4a6e66bfb765af45267180e256f46a76f316 distfiles/nawk-20240422.tar.gz
+3f43685eeaeea15d55d4a6e7ca6f8a36d344e4f5096aca19f56b696db79dcf6a7d9593cef1d99b15d1a025ee45c23a4e1c217800bbc6006afacf20468c547d31 distfiles/pdpmake-1.4.2.tgz
ae3d9d593e1645d65f9ab77aa828600c9af4bb30d0a073da7ae3dd805e65b87efaf6a0efb980f2d0168e475ae506eba194547d6479956dabb9d88293a9078a7f distfiles/pigz-2.8.tar.gz
0ca21e4e390c57c3ad8bfeb9f8d92e65c6a60f28c2a962c1b64e268610b8d88fd502febad23264aed45db68a67dd83321b10f4e896718ab869d4ae743d769676 distfiles/pkgconf-2.2.0.tar.gz
b050d22a0446e3e2439f59762f3b40104bc1c8361c6ac17a410c0d13c06af497470d468ba50de97b50181a959ae3189b2dba089162dbade536803c8ff96b2d83 distfiles/sbase-b30fb568.tar.gz
diff --git a/fetch.sh b/fetch.sh
@@ -1,6 +1,7 @@
#!/bin/sh
URLS="
https://hacktivis.me/releases/utils-std/utils-std-f2842f4.tar.gz
+ https://frippery.org/make/pdpmake-1.4.2.tgz
https://www.crufty.net/ftp/pub/sjg/bmake-20240508.tar.gz
https://www.crufty.net/ftp/pub/sjg/mk-20240408.tar.gz
https://sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz
diff --git a/init.sh b/init.sh
@@ -35,6 +35,11 @@ build_stubs() {
ln /utils-std-*/cmd/cat /usr/bin/sort || die
}
+build_pdpmake() {
+ cd /pdpmake-*/
+ $CC $CFLAGS -o /bin/pdpmake *.c
+}
+
build_bmake() {
cd /bmake/
./configure \
@@ -49,9 +54,9 @@ build_bmake() {
build_bzip2() {
cd /bzip2-*/
- bmake -f Makefile-libbz2_so CC=$CC || die
+ pdpmake -f Makefile-libbz2_so CC=$CC || die
ln -s libbz2.so.1.0.8 libbz2.so
- bmake -f Makefile bzip2 CC=$CC || die
+ pdpmake -f Makefile bzip2 CC=$CC || die
ln libbz2.so.1.0.8 /lib/libbz2.so.1.0.8
ln -s libbz2.so.1.0.8 /lib/libbz2.so
@@ -59,14 +64,14 @@ build_bzip2() {
ln bzip2 /bin/bzip2
ln -s bzip2 /bin/bunzip2
ln -s bzip2 /bin/bzcat
- bmake clean
+ pdpmake clean
}
build_zlib_libs() {
cd /zlib-*/
./configure </dev/null
- bmake install
- bmake clean
+ pdpmake install
+ pdpmake clean
}
build_pigz() {
@@ -75,24 +80,24 @@ build_pigz() {
# Makefile placeholders for zopfli/deflate.h and zopfli/util.h
touch deflate.h util.h
- bmake CC=$CC ZOP= ZOPFLI= CFLAGS="${CFLAGS} -DNOZOPFLI"
+ pdpmake CC=$CC ZOP= ZOPFLI= CFLAGS="${CFLAGS} -DNOZOPFLI"
cp -p pigz /bin
ln -s pigz /bin/unpigz
ln -s pigz /bin/gzip
ln -s pigz /bin/ungzip
- bmake clean
+ pdpmake clean
}
build_hierloom_devtools() {
cd /heirloom-devtools-*/
for cmd in lex m4
do
- bmake "$cmd/Makefile"
- bmake RANLIB=true -C "$cmd"
- bmake RANLIB=true -C "$cmd" install
- bmake RANLIB=true -C "$cmd" clean
+ pdpmake "$cmd"/Makefile
+ pdpmake -C "$cmd" RANLIB=true
+ pdpmake -C "$cmd" RANLIB=true install
+ pdpmake -C "$cmd" RANLIB=true clean
done
}
@@ -102,10 +107,10 @@ build_hierloom() {
for cmd in libcommon diff tar sort split comm cut find stty\
libuxre ed
do
- bmake "$cmd/Makefile"
- bmake CC=$CC AR="ar" RANLIB=true -C "$cmd"
- bmake CC=$CC AR="ar" RANLIB=true -C "$cmd" install
- bmake CC=$CC AR="ar" RANLIB=true -C "$cmd" clean
+ pdpmake "$cmd"/Makefile
+ pdpmake -C "$cmd" CC=$CC AR="ar" RANLIB=true
+ pdpmake -C "$cmd" CC=$CC AR="ar" RANLIB=true install
+ pdpmake -C "$cmd" CC=$CC AR="ar" RANLIB=true clean
done
ln -fs /usr/5bin/sort /bin/sort
mv /usr/5bin/ed /usr/bin/ed
@@ -116,9 +121,9 @@ build_utils_std() {
# Proper install so you get /usr/bin/env
cd /utils-std-*/
./configure PREFIX=/usr
- bmake
- bmake install
- bmake clean
+ pdpmake
+ pdpmake install
+ pdpmake clean
}
build_sbase_sed() {
@@ -173,12 +178,12 @@ EOF
chmod +x /bin/hostname
-build_bmake || die
-profile_export MAKE="bmake"
+build_pdpmake || die
+profile_export MAKE="pdpmake"
build_hierloom_devtools || die
-# Needs bmake + m4
+# Needs make + m4
build_utils_std || die
build_hierloom || die
diff --git a/make-root.sh b/make-root.sh
@@ -8,6 +8,7 @@ tarballs="
loksh-7.5.tar.gz
yacc-oyacc-6.6.tar.gz
utils-std-f2842f4.tar.gz
+ pdpmake-1.4.2.tgz
mk-20240408.tar.gz
bmake-20240508.tar.gz
nawk-20240422.tar.gz