SYNOPSIS and usage say [NAME=value] while multiple assigments are fine:

        $ make -p FOO=1 BAR=2 | grep -e^FOO -e^BAR
        BAR              = 2
        FOO              = 1

I'm sure ports(7) wouldn't work if only one was accepted, hence it suprises
me that none of the BSDs document it with triple dots, like targets.

Am I missing some detail here or is this just a very old oversight?


Index: main.c
===================================================================
RCS file: /cvs/src/usr.bin/make/main.c,v
retrieving revision 1.128
diff -u -p -r1.128 main.c
--- main.c      4 Dec 2022 23:50:48 -0000       1.128
+++ main.c      16 Jan 2023 21:52:48 -0000
@@ -891,7 +891,7 @@ usage()
        (void)fprintf(stderr,
 "usage: make [-BeiknpqrSst] [-C directory] [-D variable] [-d flags] [-f mk]\n\
            [-I directory] [-j max_processes] [-m directory] [-V variable]\n\
-           [NAME=value] [target ...]\n");
+           [NAME=value ...] [target ...]\n");
        exit(2);
 }
 
Index: make.1
===================================================================
RCS file: /cvs/src/usr.bin/make/make.1,v
retrieving revision 1.138
diff -u -p -r1.138 make.1
--- make.1      28 Dec 2022 13:00:57 -0000      1.138
+++ make.1      16 Jan 2023 21:57:18 -0000
@@ -47,7 +47,7 @@
 .Op Fl j Ar max_processes
 .Op Fl m Ar directory
 .Op Fl V Ar variable
-.Op Ar NAME Ns = Ns Ar value
+.Op Ar NAME Ns = Ns Ar value ...
 .Bk -words
 .Op Ar target ...
 .Ek

Reply via email to