From 993d7bac8a016a6543e5fc332246e8f48398d1ab Mon Sep 17 00:00:00 2001
From: "Rob Swindell (on macOS)" <rob@synchro.net>
Date: Sat, 28 Dec 2024 20:43:47 -0800
Subject: [PATCH] Add build targets for test utils: sopenfile, lockfile,
 showlocks

These are useful for trouble-shooting/experimenting with file share modes
and region locks, so make them easier to build.
---
 src/xpdev/GNUmakefile | 12 ++++++++++++
 src/xpdev/targets.mk  |  5 ++++-
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/src/xpdev/GNUmakefile b/src/xpdev/GNUmakefile
index 4d9b9e3a51..019a20e01c 100644
--- a/src/xpdev/GNUmakefile
+++ b/src/xpdev/GNUmakefile
@@ -21,6 +21,18 @@ $(WRAPTEST): $(MTOBJODIR)/wraptest.o $(DEPS) | $(EXEODIR)
 	@echo Linking $@
 	$(QUIET)$(CC) -o $@ $(LDFLAGS) $(MT_LDFLAGS) $^ $(XPDEV-MT_LIB_BUILD) -lm $(XPDEV-MT_LIBS)
 
+$(SOPENFILE): $(MTOBJODIR)/sopenfile.o $(DEPS) | $(EXEODIR)
+	@echo Linking $@
+	$(QUIET)$(CC) -o $@ $(LDFLAGS) $(MT_LDFLAGS) $^ $(XPDEV-MT_LIB_BUILD) -lm $(XPDEV-MT_LIBS)
+
+$(LOCKFILE): $(OBJODIR)/lockfile.o $(DEPS) | $(EXEODIR)
+	@echo Linking $@
+	$(QUIET)$(CC) -o $@ $(LDFLAGS) $^ $(XPDEV_LIB_BUILD) -lm $(XPDEV-LIBS)
+
+$(SHOWLOCKS): $(OBJODIR)/showlocks.o $(DEPS) | $(EXEODIR)
+	@echo Linking $@
+	$(QUIET)$(CC) -o $@ $(LDFLAGS) $^ $(XPDEV_LIB_BUILD) -lm $(XPDEV-LIBS)
+
 $(XPTIME): $(OBJODIR)/xptime.o $(XPDEV_LIB_BUILD)
 	@echo Linking $@
 	$(QUIET)$(CC) -o $@ $(LDFLAGS) $^ $(XPDEV_LIB_BUILD) -lm
diff --git a/src/xpdev/targets.mk b/src/xpdev/targets.mk
index 1da192231d..3905375b0f 100644
--- a/src/xpdev/targets.mk
+++ b/src/xpdev/targets.mk
@@ -7,6 +7,9 @@
 # ODIR, DIRSEP, LIBFILE, EXEFILE, and DELETE must be pre-defined
 
 WRAPTEST		= $(EXEODIR)$(DIRSEP)wraptest$(EXEFILE)
+SOPENFILE		= $(EXEODIR)$(DIRSEP)sopenfile$(EXEFILE)
+LOCKFILE		= $(EXEODIR)$(DIRSEP)lockfile$(EXEFILE)
+SHOWLOCKS		= $(EXEODIR)$(DIRSEP)showlocks$(EXEFILE)
 XPTIME			= $(EXEODIR)$(DIRSEP)xptime$(EXEFILE)
 XPDEV_LIB_BUILD	= $(LIBODIR)$(DIRSEP)$(LIBPREFIX)xpdev$(LIBFILE)
 XPDEV-MT_LIB_BUILD	= $(LIBODIR)$(DIRSEP)$(LIBPREFIX)xpdev_mt$(LIBFILE)
@@ -15,7 +18,7 @@ XPDEV-MT_SHLIB_BUILD	= $(LIBODIR)$(DIRSEP)$(LIBPREFIX)xpdev_mt$(SOFILE)
 
 all: lib mtlib
 
-tests: $(MTOBJODIR) $(LIBODIR) $(EXEODIR) $(WRAPTEST)
+tests: $(MTOBJODIR) $(LIBODIR) $(EXEODIR) $(WRAPTEST) $(SOPENFILE) $(LOCKFILE) $(SHOWLOCKS)
 
 dl: dl-lib dl-mtlib
 
-- 
GitLab