aboutsummaryrefslogtreecommitdiffstats
path: root/.builds
diff options
context:
space:
mode:
authorRobin Jarry <robin@jarry.cc>2023-08-02 21:37:25 +0200
committerRobin Jarry <robin@jarry.cc>2023-08-11 21:13:39 +0200
commitd725defa07b544eef09fe17e24b6fb52255846a4 (patch)
tree98bb5e4affd86b75cc31941643fee5335153eaf3 /.builds
parent2788078187c21e1713cbb86368ea4d91b2823bae (diff)
downloadaerc-d725defa07b544eef09fe17e24b6fb52255846a4.tar.gz
mk: deprecate BSD make in favor of GNU make
Being portable between BSD and GNU make is a nightmare. It restricts features to a very minimal surface and in turn requires a lot of code duplication and manual updating of file lists. Worse, aerc's makefile relies on the shell assignment operator (!=) which has been supported by BSD make 2.2 since 1997 but GNU make 4.0 since 2013. Unfortunately, MacOS runs GNU make 3.8 which does not have that feature. Reducing the feature set even more. Stop that nonsense and remove BSD make compatibility. The majority of aerc's users either run a GNU Linux distribution or MacOS. For those who run any *BSD variant, it is easy for them to install GNU make (gmake) if they don't have it installed already. Use GNU make constructs to generate build and install rules dynamically based on source files discovery. GNU make will use "GNUmakefile" in priority over "Makefile" if possible. Leverage this to display an explicit message when other flavours of make are used. Leave a "Makefile" with a .DEFAULT: target and rename the actual file to "GNUmakefile". Signed-off-by: Robin Jarry <robin@jarry.cc> Acked-by: Moritz Poldrack <moritz@poldrack.dev>
Diffstat (limited to '.builds')
-rw-r--r--.builds/openbsd.yml10
1 files changed, 6 insertions, 4 deletions
diff --git a/.builds/openbsd.yml b/.builds/openbsd.yml
index 811fbf7a..b83670bb 100644
--- a/.builds/openbsd.yml
+++ b/.builds/openbsd.yml
@@ -1,8 +1,10 @@
---
image: openbsd/latest
packages:
- - go
+ - base64
+ - gmake
- gnupg
+ - go
- scdoc
sources:
- "https://git.sr.ht/~rjarry/aerc"
@@ -11,8 +13,8 @@ environment:
tasks:
- build: |
cd aerc
- make
+ gmake
- install: |
cd aerc
- make install
- make checkinstall
+ gmake install
+ gmake checkinstall