Here is an update to GNU make 4.4.1. Some tests were fixed. Now they all pass.
BTW, I just happened to come across this post searching the list archive.. https://marc.info/?l=openbsd-ports&m=156090361230940&w=2 So I looked into getting it fixed upstream. So now the default is c++ instead of g++. https://git.savannah.gnu.org/cgit/make.git/commit/?id=ffa28f3914ff402b3915f75e4fed86ac6fb1449d Index: Makefile =================================================================== RCS file: /home/cvs/ports/devel/gmake/Makefile,v retrieving revision 1.65 diff -u -p -u -p -r1.65 Makefile --- Makefile 11 Mar 2022 18:50:08 -0000 1.65 +++ Makefile 5 Mar 2023 15:39:16 -0000 @@ -1,6 +1,6 @@ COMMENT= GNU make -DISTNAME= make-4.3 +DISTNAME= make-4.4.1 PKGNAME= g${DISTNAME} CATEGORIES= devel MASTER_SITES= ${MASTER_SITE_GNU:=make/} @@ -26,8 +26,9 @@ MODGNU_CONFIG_GUESS_DIRS= ${WRKSRC}/buil TEST_ENV= SHELL=$$SHELL -# Known test failures: -# output-sync can fail due to a race condition in the test itself -# https://lists.gnu.org/archive/html/bug-make/2020-01/msg00075.html +.include <bsd.port.arch.mk> +.if !${PROPERTIES:Mclang} +CFLAGS+= -std=gnu99 +.endif .include <bsd.port.mk> Index: distinfo =================================================================== RCS file: /home/cvs/ports/devel/gmake/distinfo,v retrieving revision 1.10 diff -u -p -u -p -r1.10 distinfo --- distinfo 1 Feb 2020 15:29:24 -0000 1.10 +++ distinfo 5 Mar 2023 15:39:19 -0000 @@ -1,2 +1,2 @@ -SHA256 (make-4.3.tar.lz) = 3hpEHE7flSUh2zC/yoC6roag/xrNCgBAKZk0TwTEXoI= -SIZE (make-4.3.tar.lz) = 1266180 +SHA256 (make-4.4.1.tar.lz) = iBS6ByGCtgXRVtdYnBmkO4n8WOpHm5NVFGFglG+M9uk= +SIZE (make-4.4.1.tar.lz) = 1305648 Index: patches/patch-Makefile_in =================================================================== RCS file: /home/cvs/ports/devel/gmake/patches/patch-Makefile_in,v retrieving revision 1.6 diff -u -p -u -p -r1.6 patch-Makefile_in --- patches/patch-Makefile_in 11 Mar 2022 18:50:08 -0000 1.6 +++ patches/patch-Makefile_in 5 Mar 2023 15:43:51 -0000 @@ -1,12 +1,12 @@ Index: Makefile.in --- Makefile.in.orig +++ Makefile.in -@@ -1039,7 +1039,7 @@ make_SOURCES = $(make_SRCS) $(am__append_1) $(am__appe - $(am__append_4) $(am__append_5) - EXTRA_make_SOURCES = $(amiga_SRCS) $(vms_SRCS) - make_LDADD = $(LIBOBJS) $(GUILE_LIBS) lib/libgnu.a $(GETLOADAVG_LIBS) \ +@@ -566,7 +566,7 @@ EXTRA_make_SOURCES = $(amiga_SRCS) $(vms_SRCS) + @HAVE_GUILE_FALSE@_GUILE_LIBS = + @HAVE_GUILE_TRUE@_GUILE_LIBS = $(GUILE_LIBS) + make_LDADD = $(LIBOBJS) $(_GUILE_LIBS) lib/libgnu.a $(GETLOADAVG_LIBS) \ - @LIBINTL@ + @LTLIBINTL@ AM_CPPFLAGS = -Isrc -I$(top_srcdir)/src -Ilib -I$(top_srcdir)/lib \ - -DLIBDIR=\"$(libdir)\" -DINCLUDEDIR=\"$(includedir)\" \ + -DLIBDIR=\"$(libdir)\" -DLOCALEDIR=\"$(localedir)\" \ Index: patches/patch-doc_make_1 =================================================================== RCS file: /home/cvs/ports/devel/gmake/patches/patch-doc_make_1,v retrieving revision 1.2 diff -u -p -u -p -r1.2 patch-doc_make_1 --- patches/patch-doc_make_1 11 Mar 2022 18:50:08 -0000 1.2 +++ patches/patch-doc_make_1 5 Mar 2023 15:43:48 -0000 @@ -5,11 +5,11 @@ Index: doc/make.1 --- doc/make.1.orig +++ doc/make.1 @@ -1,13 +1,13 @@ --.TH MAKE 1 "28 February 2016" "GNU" "User Commands" -+.TH GMAKE 1 "28 February 2016" "GNU" "User Commands" +-.TH MAKE 1 "26 May 2023" "GNU" "User Commands" ++.TH GMAKE 1 "31 May 2022" "GNU" "User Commands" .SH NAME --make \- GNU make utility to maintain groups of programs -+gmake \- GNU make utility to maintain groups of programs +-make \- GNU Make utility to maintain groups of programs ++gmake \- GNU Make utility to maintain groups of programs .SH SYNOPSIS -.B make +.B gmake @@ -40,7 +40,7 @@ Index: doc/make.1 +.BR gmake , you must write a file called the .I makefile - that describes the relationships among files in your program, and the states + that describes the relationships among files in your program, and provides @@ -35,17 +35,17 @@ Once a suitable makefile exists, each time you change this simple shell command: .sp 1 @@ -61,7 +61,7 @@ Index: doc/make.1 +.B gmake executes commands in the .I makefile - to update one or more target + to update one or more @@ -56,7 +56,7 @@ is typically a program. If no .B \-f @@ -71,7 +71,7 @@ Index: doc/make.1 will look for the makefiles .IR GNUmakefile , .IR makefile , -@@ -84,7 +84,7 @@ If +@@ -83,7 +83,7 @@ If .I makefile is '\-', the standard input is read. .LP @@ -80,7 +80,7 @@ Index: doc/make.1 updates a target if it depends on prerequisite files that have been modified since the target was last modified, or if the target does not exist. -@@ -111,7 +111,7 @@ previous one: +@@ -110,7 +110,7 @@ previous one: is equivalent to .BR "\-C " /etc. This is typically used with recursive invocations of @@ -89,7 +89,7 @@ Index: doc/make.1 .TP 0.5i .B \-d Print debugging information in addition to normal processing. -@@ -119,7 +119,7 @@ The debugging information says which files are being c +@@ -118,7 +118,7 @@ The debugging information says which files are being c remaking, which file-times are being compared and with what results, which files actually need to be remade, which implicit rules are considered and which are applied---everything interesting about how @@ -98,7 +98,7 @@ Index: doc/make.1 decides what to do. .TP 0.5i .BI \-\-debug "[=FLAGS]" -@@ -172,7 +172,7 @@ If several +@@ -178,7 +178,7 @@ If several options are used to specify several directories, the directories are searched in the order specified. Unlike the arguments to other flags of @@ -107,7 +107,7 @@ Index: doc/make.1 directories given with .B \-I flags may come directly after the flag: -@@ -195,7 +195,7 @@ option, the last one is effective. +@@ -201,7 +201,7 @@ option, the last one is effective. If the .B \-j option is given without an argument, @@ -115,8 +115,8 @@ Index: doc/make.1 +.BR gmake will not limit the number of jobs that can run simultaneously. .TP 0.5i - \fB\-k\fR, \fB\-\-keep\-going\fR -@@ -256,7 +256,7 @@ This also prints the version information given by the + \fB\--jobserver-style=\fR\fIstyle\fR +@@ -272,7 +272,7 @@ This also prints the version information given by the .B \-v switch (see below). To print the data base without trying to remake any files, use @@ -125,7 +125,7 @@ Index: doc/make.1 .TP 0.5i \fB\-q\fR, \fB\-\-question\fR ``Question mode''. -@@ -287,7 +287,7 @@ Touch files (mark them up to date without really chang +@@ -303,7 +303,7 @@ Touch files (mark them up to date without really chang instead of running their commands. This is used to pretend that the commands were done, in order to fool future invocations of @@ -134,7 +134,7 @@ Index: doc/make.1 .TP 0.5i .B \-\-trace Information about the disposition of each target is printed (why the target is -@@ -295,7 +295,7 @@ being rebuilt and what commands are run to rebuild it) +@@ -311,7 +311,7 @@ being rebuilt and what commands are run to rebuild it) .TP 0.5i \fB\-v\fR, \fB\-\-version\fR Print the version of the @@ -143,7 +143,7 @@ Index: doc/make.1 program plus a copyright, a list of authors and a notice that there is no warranty. .TP 0.5i -@@ -304,7 +304,7 @@ Print a message containing the working directory +@@ -320,7 +320,7 @@ Print a message containing the working directory before and after other processing. This may be useful for tracking down errors from complicated nests of recursive @@ -152,7 +152,7 @@ Index: doc/make.1 commands. .TP 0.5i .B \-\-no\-print\-directory -@@ -324,33 +324,33 @@ Without +@@ -360,9 +360,9 @@ Without it is almost the same as running a .I touch command on the given file before running @@ -164,12 +164,7 @@ Index: doc/make.1 .TP 0.5i .B \-\-warn\-undefined\-variables Warn when an undefined variable is referenced. - .SH "EXIT STATUS" - GNU --.B make -+.B gmake - exits with a status of zero if all makefiles were successfully parsed - and no targets that were built failed. A status of one will be returned +@@ -372,19 +372,19 @@ and no targets that were built failed. A status of on if the .B \-q flag was used and Index: patches/patch-src_makeint_h =================================================================== RCS file: patches/patch-src_makeint_h diff -N patches/patch-src_makeint_h --- patches/patch-src_makeint_h 11 Mar 2022 18:50:08 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,12 +0,0 @@ -Index: src/makeint.h ---- src/makeint.h.orig -+++ src/makeint.h -@@ -115,7 +115,7 @@ extern int errno; - #endif - - /* Some systems define _POSIX_VERSION but are not really POSIX.1. */ --#if (defined (butterfly) || defined (__arm) || (defined (__mips) && defined (_SYSTYPE_SVR3)) || (defined (sequent) && defined (i386))) -+#if (defined (butterfly) || (defined (__mips) && defined (_SYSTYPE_SVR3)) || (defined (sequent) && defined (i386))) - # undef POSIX - #endif - Index: patches/patch-tests_scripts_features_archives =================================================================== RCS file: patches/patch-tests_scripts_features_archives diff -N patches/patch-tests_scripts_features_archives --- patches/patch-tests_scripts_features_archives 11 Mar 2022 18:50:08 -0000 1.4 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,12 +0,0 @@ -Index: tests/scripts/features/archives ---- tests/scripts/features/archives.orig -+++ tests/scripts/features/archives -@@ -184,7 +184,7 @@ $mk_string = q! - DIR = artest - vpath % $(DIR) - default: lib(foo) --(%): %.vhd ; @cd $(DIR) && touch $(*F) && $(AR) $(ARFLAGS) $@ $(*F) >/dev/null 2>&1 && rm $(*F) -+(%): %.vhd ; @cd $(DIR) && echo foo >$(*F) && $(AR) $(ARFLAGS) $@ $(*F) >/dev/null 2>&1 && rm $(*F) - .PHONY: default - !; - if ($port_type eq 'VMS-DCL') { Index: pkg/PLIST =================================================================== RCS file: /home/cvs/ports/devel/gmake/pkg/PLIST,v retrieving revision 1.18 diff -u -p -u -p -r1.18 PLIST --- pkg/PLIST 11 Mar 2022 18:50:08 -0000 1.18 +++ pkg/PLIST 31 Oct 2022 17:39:14 -0000 @@ -25,6 +25,7 @@ share/locale/nl/LC_MESSAGES/make.mo share/locale/pl/LC_MESSAGES/make.mo share/locale/pt/LC_MESSAGES/make.mo share/locale/pt_BR/LC_MESSAGES/make.mo +share/locale/ro/LC_MESSAGES/make.mo share/locale/ru/LC_MESSAGES/make.mo share/locale/sr/LC_MESSAGES/make.mo share/locale/sv/LC_MESSAGES/make.mo