From fcbcb2c6b82f65c2acd8743cd99faa9169457a52 Mon Sep 17 00:00:00 2001 From: Frank Halasz Date: Mon, 9 Mar 2026 00:45:09 -0700 Subject: [PATCH] Updating all linux makefiles to use the libbsd-overlay scheme properly --- bin/makefile-init-linux.aarch64 | 10 +++++++--- bin/makefile-init-linux.x86_64 | 10 +++++++--- bin/makefile-linux-check-prerequisites | 20 ++++++++++++++++++++ bin/makefile-linux.386-sdl | 10 +++++++--- bin/makefile-linux.386-x | 10 +++++++--- bin/makefile-linux.aarch64-sdl | 10 +++++++--- bin/makefile-linux.aarch64-x | 10 +++++++--- bin/makefile-linux.armv7l-sdl | 10 +++++++--- bin/makefile-linux.armv7l-x | 10 +++++++--- bin/makefile-linux.x86_64-sdl | 10 +++++++--- bin/makefile-linux.x86_64-x | 10 +++++++--- 11 files changed, 90 insertions(+), 30 deletions(-) create mode 100644 bin/makefile-linux-check-prerequisites diff --git a/bin/makefile-init-linux.aarch64 b/bin/makefile-init-linux.aarch64 index 5b4ce1d..5ba7fd2 100644 --- a/bin/makefile-init-linux.aarch64 +++ b/bin/makefile-init-linux.aarch64 @@ -16,13 +16,17 @@ XFILES = $(OBJECTDIR)xmkicon.o \ XFLAGS = -DXWINDOW +include makefile-linux-check-prerequisites +BSD_CFLAGS = $(shell pkg-config --cflags libbsd-overlay) +BSD_LDFLAGS = $(shell pkg-config --libs libbsd-overlay) + # OPTFLAGS is normally -O2, for INIT we want unoptimized in case we need to debug it OPTFLAGS = -O0 -g DEBUGFLAGS = -DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=$(RELEASE) -DNOVERSION -DINIT +DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=$(RELEASE) -DNOVERSION -DINIT $(BSD_CFLAGS) -LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lbsd -LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lbsd +LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm $(BSD_LDFLAGS) +LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm $(BSD_LDFLAGS) OBJECTDIR = ../$(RELEASENAME)/ diff --git a/bin/makefile-init-linux.x86_64 b/bin/makefile-init-linux.x86_64 index ae6e2cf..14f142e 100644 --- a/bin/makefile-init-linux.x86_64 +++ b/bin/makefile-init-linux.x86_64 @@ -16,13 +16,17 @@ XFILES = $(OBJECTDIR)xmkicon.o \ XFLAGS = -DXWINDOW +include makefile-linux-check-prerequisites +BSD_CFLAGS = $(shell pkg-config --cflags libbsd-overlay) +BSD_LDFLAGS = $(shell pkg-config --libs libbsd-overlay) + # OPTFLAGS is normally -O2, for INIT we want unoptimized in case we need to debug it OPTFLAGS = -O0 -g DEBUGFLAGS = -DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=$(RELEASE) -DNOVERSION -DINIT +DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=$(RELEASE) -DNOVERSION -DINIT $(BSD_CFLAGS) -LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lbsd -LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lbsd +LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm $(BSD_LDFLAGS) +LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm $(BSD_LDFLAGS) OBJECTDIR = ../$(RELEASENAME)/ diff --git a/bin/makefile-linux-check-prerequisites b/bin/makefile-linux-check-prerequisites new file mode 100644 index 0000000..352fc55 --- /dev/null +++ b/bin/makefile-linux-check-prerequisites @@ -0,0 +1,20 @@ +# Check that pkg-config is available and that the libbsd-dev package is installed +# If one of these is missing, error out +# FGH 2026-03-08 +ifneq ($(MAKECMDGOALS),clean) + ifneq ($(MAKECMDGOALS),cleanup) + + CHK_PKG_CONFIG := $(shell command -v pkg-config) + ifeq ($(CHK_PKG_CONFIG),) + # pkg-config not found, print an error + $(error "pkg-config not found. Please install it to build this project.") + endif + + CHK_LIBBSD_DEV := $(shell pkg-config --exists libbsd-overlay && echo true) + ifneq ($(CHK_LIBBSD_DEV),true) + $(error "libbsd-dev (or libbsd-devel) package not found. Please install it to build this project.") + endif + endif +endif + + diff --git a/bin/makefile-linux.386-sdl b/bin/makefile-linux.386-sdl index 40f2706..f47ea44 100644 --- a/bin/makefile-linux.386-sdl +++ b/bin/makefile-linux.386-sdl @@ -13,12 +13,16 @@ XFILES = $(OBJECTDIR)sdl.o # XFLAGS = -DSDL=2 +include makefile-linux-check-prerequisites +BSD_CFLAGS = $(shell pkg-config --cflags libbsd-overlay) +BSD_LDFLAGS = $(shell pkg-config --libs libbsd-overlay) + # OPTFLAGS is normally -O2. OPTFLAGS = -O2 -g3 -DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) +DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) $(BSD_CFLAGS) -LDFLAGS = -lm -lSDL2 -lbsd -LDELDFLAGS = -lbsd +LDFLAGS = -lm -lSDL2 $(BSD_LDFLAGS) +LDELDFLAGS = $(BSD_LDFLAGS) OBJECTDIR = ../$(RELEASENAME)/ diff --git a/bin/makefile-linux.386-x b/bin/makefile-linux.386-x index 62c0bc4..8c97572 100644 --- a/bin/makefile-linux.386-x +++ b/bin/makefile-linux.386-x @@ -15,12 +15,16 @@ XFILES = $(OBJECTDIR)xmkicon.o \ XFLAGS = -DXWINDOW +include makefile-linux-check-prerequisites +BSD_CFLAGS = $(shell pkg-config --cflags libbsd-overlay) +BSD_LDFLAGS = $(shell pkg-config --libs libbsd-overlay) + # OPTFLAGS is normally -O2. OPTFLAGS = -O2 -g3 -DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) +DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) $(BSD_CFLAGS) -LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lbsd -LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lbsd +LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm $(BSD_LDFLAGS) +LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm $(BSD_LDFLAGS) OBJECTDIR = ../$(RELEASENAME)/ diff --git a/bin/makefile-linux.aarch64-sdl b/bin/makefile-linux.aarch64-sdl index 6d450be..2559f21 100644 --- a/bin/makefile-linux.aarch64-sdl +++ b/bin/makefile-linux.aarch64-sdl @@ -13,12 +13,16 @@ XFILES = $(OBJECTDIR)sdl.o # SDLFLAGS = -DSDL=2 +include makefile-linux-check-prerequisites +BSD_CFLAGS = $(shell pkg-config --cflags libbsd-overlay) +BSD_LDFLAGS = $(shell pkg-config --libs libbsd-overlay) + # OPTFLAGS is normally -O2. OPTFLAGS = -O2 -g3 -DFLAGS = $(SDLFLAGS) -DRELEASE=$(RELEASE) +DFLAGS = $(SDLFLAGS) -DRELEASE=$(RELEASE) $(BSD_CFLAGS) -LDFLAGS = -lSDL2 -lm -lbsd -LDELDFLAGS = -lbsd +LDFLAGS = -lSDL2 -lm $(BSD_LDFLAGS) +LDELDFLAGS = $(BSD_LDFLAGS) OBJECTDIR = ../$(RELEASENAME)/ diff --git a/bin/makefile-linux.aarch64-x b/bin/makefile-linux.aarch64-x index a001209..99a58ca 100644 --- a/bin/makefile-linux.aarch64-x +++ b/bin/makefile-linux.aarch64-x @@ -15,12 +15,16 @@ XFILES = $(OBJECTDIR)xmkicon.o \ XFLAGS = -DXWINDOW +include makefile-linux-check-prerequisites +BSD_CFLAGS = $(shell pkg-config --cflags libbsd-overlay) +BSD_LDFLAGS = $(shell pkg-config --libs libbsd-overlay) + # OPTFLAGS is normally -O2. OPTFLAGS = -O2 -g3 -DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) +DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) $(BSD_CFLAGS) -LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lbsd -LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lbsd +LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm $(BSD_LDFLAGS) +LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm $(BSD_LDFLAGS) OBJECTDIR = ../$(RELEASENAME)/ diff --git a/bin/makefile-linux.armv7l-sdl b/bin/makefile-linux.armv7l-sdl index 86e4f47..47a87a6 100644 --- a/bin/makefile-linux.armv7l-sdl +++ b/bin/makefile-linux.armv7l-sdl @@ -13,12 +13,16 @@ XFILES = $(OBJECTDIR)sdl.o # XFLAGS = -DSDL=2 +include makefile-linux-check-prerequisites +BSD_CFLAGS = $(shell pkg-config --cflags libbsd-overlay) +BSD_LDFLAGS = $(shell pkg-config --libs libbsd-overlay) + # OPTFLAGS is normally -O2. OPTFLAGS = -O2 -g3 -DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) +DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) $(BSD_CFLAGS) -LDFLAGS = -lm -lSDL2 -lbsd -LDELDFLAGS = -lbsd +LDFLAGS = -lm -lSDL2 $(BSD_LDFLAGS) +LDELDFLAGS = $(BSD_LDFLAGS) OBJECTDIR = ../$(RELEASENAME)/ diff --git a/bin/makefile-linux.armv7l-x b/bin/makefile-linux.armv7l-x index 1e3740c..fa787fb 100644 --- a/bin/makefile-linux.armv7l-x +++ b/bin/makefile-linux.armv7l-x @@ -15,12 +15,16 @@ XFILES = $(OBJECTDIR)xmkicon.o \ XFLAGS = -DXWINDOW +include makefile-linux-check-prerequisites +BSD_CFLAGS = $(shell pkg-config --cflags libbsd-overlay) +BSD_LDFLAGS = $(shell pkg-config --libs libbsd-overlay) + # OPTFLAGS is normally -O2. OPTFLAGS = -O2 -g3 -DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) +DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) $(BSD_CFLAGS) -LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lbsd -LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lbsd +LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm $(BSD_LDFLAGS) +LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm $(BSD_LDFLAGS) OBJECTDIR = ../$(RELEASENAME)/ diff --git a/bin/makefile-linux.x86_64-sdl b/bin/makefile-linux.x86_64-sdl index c57dca0..640a59c 100644 --- a/bin/makefile-linux.x86_64-sdl +++ b/bin/makefile-linux.x86_64-sdl @@ -13,12 +13,16 @@ XFILES = $(OBJECTDIR)sdl.o # XFLAGS = -DSDL=2 +include makefile-linux-check-prerequisites +BSD_CFLAGS = $(shell pkg-config --cflags libbsd-overlay) +BSD_LDFLAGS = $(shell pkg-config --libs libbsd-overlay) + # OPTFLAGS is normally -O2. OPTFLAGS = -O2 -g3 -DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) +DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) $(BSD_CFLAGS) -LDFLAGS = -lm -lSDL2 -lbsd -LDELDFLAGS = -lbsd +LDFLAGS = -lm -lSDL2 $(BSD_LDFLAGS) +LDELDFLAGS = $(BSD_LDFLAGS) OBJECTDIR = ../$(RELEASENAME)/ diff --git a/bin/makefile-linux.x86_64-x b/bin/makefile-linux.x86_64-x index 5cb63bb..87016b4 100644 --- a/bin/makefile-linux.x86_64-x +++ b/bin/makefile-linux.x86_64-x @@ -16,12 +16,16 @@ XFILES = $(OBJECTDIR)xmkicon.o \ XFLAGS = -DXWINDOW +include makefile-linux-check-prerequisites +BSD_CFLAGS = $(shell pkg-config --cflags libbsd-overlay) +BSD_LDFLAGS = $(shell pkg-config --libs libbsd-overlay) + # OPTFLAGS is normally -O2. OPTFLAGS = -O2 -g3 -DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) +DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) $(BSD_CFLAGS) -LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lbsd -LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lbsd +LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm $(BSD_LDFLAGS) +LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm $(BSD_LDFLAGS) OBJECTDIR = ../$(RELEASENAME)/