Module Name: src
Committed By: rillig
Date: Sun Sep 27 21:35:16 UTC 2020
Modified Files:
src/usr.bin/make: arch.c compat.c cond.c dir.c dir.h for.c hash.c
hash.h job.c job.h lst.c main.c make.c make.h parse.c suff.c targ.c
var.c
src/usr.bin/make/unit-tests: cond-func-defined.mk cond-func.mk
posix1.mk
Log Message:
make(1): normalize whitespace in source code
There is no more space tab. Either only tabs or only spaces or tabs
followed by spaces, but not spaces followed by tabs.
To generate a diff of this commit:
cvs rdiff -u -r1.123 -r1.124 src/usr.bin/make/arch.c
cvs rdiff -u -r1.155 -r1.156 src/usr.bin/make/compat.c
cvs rdiff -u -r1.152 -r1.153 src/usr.bin/make/cond.c
cvs rdiff -u -r1.148 -r1.149 src/usr.bin/make/dir.c
cvs rdiff -u -r1.25 -r1.26 src/usr.bin/make/dir.h
cvs rdiff -u -r1.87 -r1.88 src/usr.bin/make/for.c
cvs rdiff -u -r1.33 -r1.34 src/usr.bin/make/hash.c
cvs rdiff -u -r1.24 -r1.25 src/usr.bin/make/hash.h
cvs rdiff -u -r1.245 -r1.246 src/usr.bin/make/job.c
cvs rdiff -u -r1.50 -r1.51 src/usr.bin/make/job.h
cvs rdiff -u -r1.72 -r1.73 src/usr.bin/make/lst.c
cvs rdiff -u -r1.350 -r1.351 src/usr.bin/make/main.c
cvs rdiff -u -r1.150 -r1.151 src/usr.bin/make/make.c
cvs rdiff -u -r1.147 -r1.148 src/usr.bin/make/make.h
cvs rdiff -u -r1.337 -r1.338 src/usr.bin/make/parse.c
cvs rdiff -u -r1.169 -r1.170 src/usr.bin/make/suff.c
cvs rdiff -u -r1.105 -r1.106 src/usr.bin/make/targ.c
cvs rdiff -u -r1.545 -r1.546 src/usr.bin/make/var.c
cvs rdiff -u -r1.3 -r1.4 src/usr.bin/make/unit-tests/cond-func-defined.mk
cvs rdiff -u -r1.2 -r1.3 src/usr.bin/make/unit-tests/cond-func.mk
cvs rdiff -u -r1.4 -r1.5 src/usr.bin/make/unit-tests/posix1.mk
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/usr.bin/make/arch.c
diff -u src/usr.bin/make/arch.c:1.123 src/usr.bin/make/arch.c:1.124
--- src/usr.bin/make/arch.c:1.123 Sat Sep 26 16:00:12 2020
+++ src/usr.bin/make/arch.c Sun Sep 27 21:35:16 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: arch.c,v 1.123 2020/09/26 16:00:12 rillig Exp $ */
+/* $NetBSD: arch.c,v 1.124 2020/09/27 21:35:16 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -79,41 +79,42 @@
* is referenced.
*
* The interface to this module is:
- * Arch_ParseArchive Given an archive specification, return a list
- * of GNode's, one for each member in the spec.
- * FALSE is returned if the specification is
- * invalid for some reason.
- *
- * Arch_Touch Alter the modification time of the archive
- * member described by the given node to be
- * the current time.
- *
- * Arch_TouchLib Update the modification time of the library
- * described by the given node. This is special
- * because it also updates the modification time
- * of the library's table of contents.
- *
- * Arch_MTime Find the modification time of a member of
- * an archive *in the archive*. The time is also
- * placed in the member's GNode. Returns the
- * modification time.
- *
- * Arch_MemTime Find the modification time of a member of
- * an archive. Called when the member doesn't
- * already exist. Looks in the archive for the
- * modification time. Returns the modification
- * time.
- *
- * Arch_FindLib Search for a library along a path. The
- * library name in the GNode should be in
- * -l<name> format.
+ * Arch_ParseArchive
+ * Given an archive specification, return a list
+ * of GNode's, one for each member in the spec.
+ * FALSE is returned if the specification is
+ * invalid for some reason.
+ *
+ * Arch_Touch Alter the modification time of the archive
+ * member described by the given node to be
+ * the current time.
+ *
+ * Arch_TouchLib Update the modification time of the library
+ * described by the given node. This is special
+ * because it also updates the modification time
+ * of the library's table of contents.
+ *
+ * Arch_MTime Find the modification time of a member of
+ * an archive *in the archive*. The time is also
+ * placed in the member's GNode. Returns the
+ * modification time.
+ *
+ * Arch_MemTime Find the modification time of a member of
+ * an archive. Called when the member doesn't
+ * already exist. Looks in the archive for the
+ * modification time. Returns the modification
+ * time.
+ *
+ * Arch_FindLib Search for a library along a path. The
+ * library name in the GNode should be in
+ * -l<name> format.
*
- * Arch_LibOODate Special function to decide if a library node
- * is out-of-date.
+ * Arch_LibOODate Special function to decide if a library node
+ * is out-of-date.
*
- * Arch_Init Initialize this module.
+ * Arch_Init Initialize this module.
*
- * Arch_End Cleanup this module.
+ * Arch_End Cleanup this module.
*/
#include <sys/types.h>
@@ -133,7 +134,7 @@
#include "config.h"
/* "@(#)arch.c 8.2 (Berkeley) 1/2/94" */
-MAKE_RCSID("$NetBSD: arch.c,v 1.123 2020/09/26 16:00:12 rillig Exp $");
+MAKE_RCSID("$NetBSD: arch.c,v 1.124 2020/09/27 21:35:16 rillig Exp $");
#ifdef TARGET_MACHINE
#undef MAKE_MACHINE
@@ -208,13 +209,13 @@ ArchFree(void *ap)
Boolean
Arch_ParseArchive(char **linePtr, GNodeList *nodeLst, GNode *ctxt)
{
- char *cp; /* Pointer into line */
- GNode *gn; /* New node */
- char *libName; /* Library-part of specification */
- char *memName; /* Member-part of specification */
- char saveChar; /* Ending delimiter of member-name */
- Boolean subLibName; /* TRUE if libName should have/had
- * variable substitution performed on it */
+ char *cp; /* Pointer into line */
+ GNode *gn; /* New node */
+ char *libName; /* Library-part of specification */
+ char *memName; /* Member-part of specification */
+ char saveChar; /* Ending delimiter of member-name */
+ Boolean subLibName; /* TRUE if libName should have/had
+ * variable substitution performed on it */
libName = *linePtr;
@@ -946,7 +947,7 @@ Arch_TouchLib(GNode *gn)
{
#ifdef RANLIBMAG
FILE * arch; /* Stream open to archive */
- struct ar_hdr arh; /* Header describing table of contents */
+ struct ar_hdr arh; /* Header describing table of contents */
struct utimbuf times; /* Times for utime() call */
arch = ArchFindMember(gn->path, RANLIBMAG, &arh, "r+");
@@ -1104,7 +1105,7 @@ Arch_FindLib(GNode *gn, SearchPath *path
Boolean
Arch_LibOODate(GNode *gn)
{
- Boolean oodate;
+ Boolean oodate;
if (gn->type & OP_PHONY) {
oodate = TRUE;
@@ -1116,8 +1117,8 @@ Arch_LibOODate(GNode *gn)
oodate = TRUE;
} else {
#ifdef RANLIBMAG
- struct ar_hdr *arhPtr; /* Header for __.SYMDEF */
- int modTimeTOC; /* The table-of-contents's mod time */
+ struct ar_hdr *arhPtr; /* Header for __.SYMDEF */
+ int modTimeTOC; /* The table-of-contents's mod time */
arhPtr = ArchStatMember(gn->path, RANLIBMAG, FALSE);
Index: src/usr.bin/make/compat.c
diff -u src/usr.bin/make/compat.c:1.155 src/usr.bin/make/compat.c:1.156
--- src/usr.bin/make/compat.c:1.155 Sun Sep 27 11:43:46 2020
+++ src/usr.bin/make/compat.c Sun Sep 27 21:35:16 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: compat.c,v 1.155 2020/09/27 11:43:46 rillig Exp $ */
+/* $NetBSD: compat.c,v 1.156 2020/09/27 21:35:16 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -78,8 +78,8 @@
* - friendly variable substitution.
*
* Interface:
- * Compat_Run Initialize things for this module and recreate
- * thems as need creatin'
+ * Compat_Run Initialize things for this module and recreate
+ * thems as need creatin'
*/
#include <sys/types.h>
@@ -99,7 +99,7 @@
#include "pathnames.h"
/* "@(#)compat.c 8.2 (Berkeley) 3/19/94" */
-MAKE_RCSID("$NetBSD: compat.c,v 1.155 2020/09/27 11:43:46 rillig Exp $");
+MAKE_RCSID("$NetBSD: compat.c,v 1.156 2020/09/27 21:35:16 rillig Exp $");
static GNode *curTarg = NULL;
static void CompatInterrupt(int);
@@ -187,21 +187,21 @@ CompatInterrupt(int signo)
int
Compat_RunCommand(const char *cmdp, struct GNode *gn)
{
- char *cmdStart; /* Start of expanded command */
- char *bp;
- Boolean silent, /* Don't print command */
- doIt; /* Execute even if -n */
- volatile Boolean errCheck; /* Check errors */
- int reason; /* Reason for child's death */
- int status; /* Description of child's death */
- pid_t cpid; /* Child actually found */
- pid_t retstat; /* Result of wait */
- StringListNode *cmdNode; /* Node where current command is located */
- const char ** volatile av; /* Argument vector for thing to exec */
- char ** volatile mav;/* Copy of the argument vector for freeing */
- Boolean useShell; /* TRUE if command should be executed
+ char *cmdStart; /* Start of expanded command */
+ char *bp;
+ Boolean silent; /* Don't print command */
+ Boolean doIt; /* Execute even if -n */
+ volatile Boolean errCheck; /* Check errors */
+ int reason; /* Reason for child's death */
+ int status; /* Description of child's death */
+ pid_t cpid; /* Child actually found */
+ pid_t retstat; /* Result of wait */
+ StringListNode *cmdNode; /* Node where current command is located */
+ const char **volatile av; /* Argument vector for thing to exec */
+ char **volatile mav; /* Copy of the argument vector for freeing */
+ Boolean useShell; /* TRUE if command should be executed
* using a shell */
- const char * volatile cmd = cmdp;
+ const char *volatile cmd = cmdp;
silent = (gn->type & OP_SILENT) != 0;
errCheck = !(gn->type & OP_IGNORE);
@@ -664,8 +664,8 @@ cohorts:
void
Compat_Run(GNodeList *targs)
{
- GNode *gn = NULL;/* Current root target */
- int errors; /* Number of targets not remade due to errors */
+ GNode *gn = NULL; /* Current root target */
+ int errors; /* Number of targets not remade due to errors */
if (!shellName)
Shell_Init();
@@ -712,11 +712,11 @@ Compat_Run(GNodeList *targs)
* For each entry in the list of targets to create, call Compat_Make on
* it to create the thing. Compat_Make will leave the 'made' field of gn
* in one of several states:
- * UPTODATE gn was already up-to-date
- * MADE gn was recreated successfully
- * ERROR An error occurred while gn was being created
- * ABORTED gn was not remade because one of its inferiors
- * could not be made due to errors.
+ * UPTODATE gn was already up-to-date
+ * MADE gn was recreated successfully
+ * ERROR An error occurred while gn was being created
+ * ABORTED gn was not remade because one of its inferiors
+ * could not be made due to errors.
*/
errors = 0;
while (!Lst_IsEmpty(targs)) {
Index: src/usr.bin/make/cond.c
diff -u src/usr.bin/make/cond.c:1.152 src/usr.bin/make/cond.c:1.153
--- src/usr.bin/make/cond.c:1.152 Sat Sep 26 16:00:12 2020
+++ src/usr.bin/make/cond.c Sun Sep 27 21:35:16 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: cond.c,v 1.152 2020/09/26 16:00:12 rillig Exp $ */
+/* $NetBSD: cond.c,v 1.153 2020/09/27 21:35:16 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -72,7 +72,7 @@
/* Handling of conditionals in a makefile.
*
* Interface:
- * Cond_EvalLine Evaluate the conditional in the passed line.
+ * Cond_EvalLine Evaluate the conditional in the passed line.
*
* Cond_EvalCondition
* Evaluate the conditional in the passed line, which
@@ -93,7 +93,7 @@
#include "dir.h"
/* "@(#)cond.c 8.2 (Berkeley) 1/2/94" */
-MAKE_RCSID("$NetBSD: cond.c,v 1.152 2020/09/26 16:00:12 rillig Exp $");
+MAKE_RCSID("$NetBSD: cond.c,v 1.153 2020/09/27 21:35:16 rillig Exp $");
/*
* The parsing of conditional expressions is based on this grammar:
@@ -1007,7 +1007,7 @@ CondParser_Eval(CondParser *par, Boolean
*
* Results:
* COND_PARSE if the condition was valid grammatically
- * COND_INVALID if not a valid conditional.
+ * COND_INVALID if not a valid conditional.
*
* (*value) is set to the boolean value of the condition
*/
@@ -1069,7 +1069,7 @@ Cond_EvalCondition(const char *cond, Boo
* COND_SKIP to skip the lines after the conditional
* (when .if or .elif returns FALSE, or when a previous
* branch has already been taken)
- * COND_INVALID if the conditional was not valid, either because of
+ * COND_INVALID if the conditional was not valid, either because of
* a syntax error or because some variable was undefined
* or because the condition could not be evaluated
*/
Index: src/usr.bin/make/dir.c
diff -u src/usr.bin/make/dir.c:1.148 src/usr.bin/make/dir.c:1.149
--- src/usr.bin/make/dir.c:1.148 Sat Sep 26 17:15:20 2020
+++ src/usr.bin/make/dir.c Sun Sep 27 21:35:16 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: dir.c,v 1.148 2020/09/26 17:15:20 rillig Exp $ */
+/* $NetBSD: dir.c,v 1.149 2020/09/27 21:35:16 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -76,47 +76,49 @@
* implicit sources.
*
* The interface for this module is:
- * Dir_Init Initialize the module.
+ * Dir_Init Initialize the module.
*
- * Dir_InitCur Set the cur CachedDir.
+ * Dir_InitCur Set the cur CachedDir.
*
- * Dir_InitDot Set the dot CachedDir.
+ * Dir_InitDot Set the dot CachedDir.
*
- * Dir_End Cleanup the module.
+ * Dir_End Cleanup the module.
*
- * Dir_SetPATH Set ${.PATH} to reflect state of dirSearchPath.
+ * Dir_SetPATH Set ${.PATH} to reflect state of dirSearchPath.
*
- * Dir_HasWildcards Returns TRUE if the name given it needs to
- * be wildcard-expanded.
+ * Dir_HasWildcards
+ * Returns TRUE if the name given it needs to
+ * be wildcard-expanded.
*
- * Dir_Expand Given a pattern and a path, return a Lst of names
- * which match the pattern on the search path.
+ * Dir_Expand Given a pattern and a path, return a Lst of names
+ * which match the pattern on the search path.
*
- * Dir_FindFile Searches for a file on a given search path.
- * If it exists, the entire path is returned.
- * Otherwise NULL is returned.
+ * Dir_FindFile Searches for a file on a given search path.
+ * If it exists, the entire path is returned.
+ * Otherwise NULL is returned.
*
- * Dir_FindHereOrAbove Search for a path in the current directory and
- * then all the directories above it in turn until
- * the path is found or we reach the root ("/").
+ * Dir_FindHereOrAbove
+ * Search for a path in the current directory and
+ * then all the directories above it in turn until
+ * the path is found or we reach the root ("/").
*
- * Dir_MTime Return the modification time of a node. The file
- * is searched for along the default search path.
- * The path and mtime fields of the node are filled
- * in.
+ * Dir_MTime Return the modification time of a node. The file
+ * is searched for along the default search path.
+ * The path and mtime fields of the node are filled in.
*
- * Dir_AddDir Add a directory to a search path.
+ * Dir_AddDir Add a directory to a search path.
*
- * Dir_MakeFlags Given a search path and a command flag, create
- * a string with each of the directories in the path
- * preceded by the command flag and all of them
- * separated by a space.
+ * Dir_MakeFlags Given a search path and a command flag, create
+ * a string with each of the directories in the path
+ * preceded by the command flag and all of them
+ * separated by a space.
*
- * Dir_Destroy Destroy an element of a search path. Frees up all
- * things that can be freed for the element as long
- * as the element is no longer referenced by any other
- * search path.
- * Dir_ClearPath Resets a search path to the empty list.
+ * Dir_Destroy Destroy an element of a search path. Frees up all
+ * things that can be freed for the element as long
+ * as the element is no longer referenced by any other
+ * search path.
+ *
+ * Dir_ClearPath Resets a search path to the empty list.
*
* For debugging:
* Dir_PrintDirectories Print stats about the directory cache.
@@ -134,7 +136,7 @@
#include "job.h"
/* "@(#)dir.c 8.2 (Berkeley) 1/2/94" */
-MAKE_RCSID("$NetBSD: dir.c,v 1.148 2020/09/26 17:15:20 rillig Exp $");
+MAKE_RCSID("$NetBSD: dir.c,v 1.149 2020/09/27 21:35:16 rillig Exp $");
#define DIR_DEBUG0(fmt) \
if (!DEBUG(DIR)) (void) 0; else fprintf(debug_file, fmt)
@@ -548,7 +550,7 @@ Dir_HasWildcards(const char *name)
/*-
*-----------------------------------------------------------------------
* DirMatchFiles --
- * Given a pattern and a CachedDir structure, see if any files
+ * Given a pattern and a CachedDir structure, see if any files
* match the pattern and add their names to the 'expansions' list if
* any do. This is incomplete -- it doesn't take care of patterns like
* src / *src / *.c properly (just *.c on any of the directories), but it
Index: src/usr.bin/make/dir.h
diff -u src/usr.bin/make/dir.h:1.25 src/usr.bin/make/dir.h:1.26
--- src/usr.bin/make/dir.h:1.25 Tue Sep 22 04:05:41 2020
+++ src/usr.bin/make/dir.h Sun Sep 27 21:35:16 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: dir.h,v 1.25 2020/09/22 04:05:41 rillig Exp $ */
+/* $NetBSD: dir.h,v 1.26 2020/09/27 21:35:16 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -78,11 +78,11 @@
/* A cache of a directory, remembering all the files that exist in that
* directory. */
typedef struct CachedDir {
- char *name; /* Name of directory */
- int refCount; /* Number of paths with this directory */
- int hits; /* the number of times a file in this
+ char *name; /* Name of directory */
+ int refCount; /* Number of paths with this directory */
+ int hits; /* the number of times a file in this
* directory has been found */
- Hash_Table files; /* Hash set of files in directory */
+ Hash_Table files; /* Hash set of files in directory */
} CachedDir;
struct make_stat {
Index: src/usr.bin/make/for.c
diff -u src/usr.bin/make/for.c:1.87 src/usr.bin/make/for.c:1.88
--- src/usr.bin/make/for.c:1.87 Sun Sep 27 16:52:22 2020
+++ src/usr.bin/make/for.c Sun Sep 27 21:35:16 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: for.c,v 1.87 2020/09/27 16:52:22 rillig Exp $ */
+/* $NetBSD: for.c,v 1.88 2020/09/27 21:35:16 rillig Exp $ */
/*
* Copyright (c) 1992, The Regents of the University of California.
@@ -52,7 +52,8 @@
* ${:Uvalue}, and then this modified body is "included" as a special file.
*
* Interface:
- * For_Eval Evaluate the loop in the passed line.
+ * For_Eval Evaluate the loop in the passed line.
+ *
* For_Run Run accumulated loop
*/
@@ -60,7 +61,7 @@
#include "strlist.h"
/* "@(#)for.c 8.1 (Berkeley) 6/6/93" */
-MAKE_RCSID("$NetBSD: for.c,v 1.87 2020/09/27 16:52:22 rillig Exp $");
+MAKE_RCSID("$NetBSD: for.c,v 1.88 2020/09/27 21:35:16 rillig Exp $");
typedef enum {
FOR_SUB_ESCAPE_CHAR = 0x0001,
Index: src/usr.bin/make/hash.c
diff -u src/usr.bin/make/hash.c:1.33 src/usr.bin/make/hash.c:1.34
--- src/usr.bin/make/hash.c:1.33 Sat Sep 26 14:48:31 2020
+++ src/usr.bin/make/hash.c Sun Sep 27 21:35:16 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: hash.c,v 1.33 2020/09/26 14:48:31 rillig Exp $ */
+/* $NetBSD: hash.c,v 1.34 2020/09/27 21:35:16 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -69,17 +69,17 @@
* SUCH DAMAGE.
*/
-/* hash.c --
- *
- * This module contains routines to manipulate a hash table.
- * See hash.h for a definition of the structure of the hash
- * table. Hash tables grow automatically as the amount of
- * information increases.
+/*
+ * This module contains routines to manipulate a hash table.
+ * See hash.h for a definition of the structure of the hash
+ * table. Hash tables grow automatically as the amount of
+ * information increases.
*/
+
#include "make.h"
/* "@(#)hash.c 8.1 (Berkeley) 6/6/93" */
-MAKE_RCSID("$NetBSD: hash.c,v 1.33 2020/09/26 14:48:31 rillig Exp $");
+MAKE_RCSID("$NetBSD: hash.c,v 1.34 2020/09/27 21:35:16 rillig Exp $");
/*
* Forward references to local procedures that are used before they're
Index: src/usr.bin/make/hash.h
diff -u src/usr.bin/make/hash.h:1.24 src/usr.bin/make/hash.h:1.25
--- src/usr.bin/make/hash.h:1.24 Sat Sep 26 14:48:31 2020
+++ src/usr.bin/make/hash.h Sun Sep 27 21:35:16 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: hash.h,v 1.24 2020/09/26 14:48:31 rillig Exp $ */
+/* $NetBSD: hash.h,v 1.25 2020/09/27 21:35:16 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -90,10 +90,10 @@ typedef struct Hash_Entry {
typedef struct Hash_Table {
Hash_Entry **buckets; /* Pointers to Hash_Entry, one
* for each bucket in the table. */
- int bucketsSize;
- int numEntries; /* Number of entries in the table. */
- int bucketsMask; /* Used to select the bucket for a hash. */
- int maxchain; /* max length of chain detected */
+ int bucketsSize;
+ int numEntries; /* Number of entries in the table. */
+ int bucketsMask; /* Used to select the bucket for a hash. */
+ int maxchain; /* max length of chain detected */
} Hash_Table;
/*
@@ -101,9 +101,9 @@ typedef struct Hash_Table {
* to record where we are in the search.
*/
typedef struct Hash_Search {
- Hash_Table *table; /* Table being searched. */
- int nextBucket; /* Next bucket to check (after current). */
- Hash_Entry *entry; /* Next entry to check in current bucket. */
+ Hash_Table *table; /* Table being searched. */
+ int nextBucket; /* Next bucket to check (after current). */
+ Hash_Entry *entry; /* Next entry to check in current bucket. */
} Hash_Search;
static inline MAKE_ATTR_UNUSED void *
Index: src/usr.bin/make/job.c
diff -u src/usr.bin/make/job.c:1.245 src/usr.bin/make/job.c:1.246
--- src/usr.bin/make/job.c:1.245 Sun Sep 27 19:13:46 2020
+++ src/usr.bin/make/job.c Sun Sep 27 21:35:16 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: job.c,v 1.245 2020/09/27 19:13:46 rillig Exp $ */
+/* $NetBSD: job.c,v 1.246 2020/09/27 21:35:16 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -74,50 +74,53 @@
* handle the creation etc. of our child processes.
*
* Interface:
- * Job_Make Start the creation of the given target.
+ * Job_Make Start the creation of the given target.
*
- * Job_CatchChildren Check for and handle the termination of any
- * children. This must be called reasonably
- * frequently to keep the whole make going at
- * a decent clip, since job table entries aren't
- * removed until their process is caught this way.
- *
- * Job_CatchOutput Print any output our children have produced.
- * Should also be called fairly frequently to
- * keep the user informed of what's going on.
- * If no output is waiting, it will block for
- * a time given by the SEL_* constants, below,
- * or until output is ready.
- *
- * Job_Init Called to initialize this module. in addition,
- * any commands attached to the .BEGIN target
- * are executed before this function returns.
- * Hence, the makefile must have been parsed
- * before this function is called.
- *
- * Job_End Cleanup any memory used.
- *
- * Job_ParseShell Given the line following a .SHELL target, parse
- * the line as a shell specification. Returns
- * FALSE if the spec was incorrect.
- *
- * Job_Finish Perform any final processing which needs doing.
- * This includes the execution of any commands
- * which have been/were attached to the .END
- * target. It should only be called when the
- * job table is empty.
- *
- * Job_AbortAll Abort all currently running jobs. It doesn't
- * handle output or do anything for the jobs,
- * just kills them. It should only be called in
- * an emergency, as it were.
+ * Job_CatchChildren
+ * Check for and handle the termination of any
+ * children. This must be called reasonably
+ * frequently to keep the whole make going at
+ * a decent clip, since job table entries aren't
+ * removed until their process is caught this way.
+ *
+ * Job_CatchOutput
+ * Print any output our children have produced.
+ * Should also be called fairly frequently to
+ * keep the user informed of what's going on.
+ * If no output is waiting, it will block for
+ * a time given by the SEL_* constants, below,
+ * or until output is ready.
+ *
+ * Job_Init Called to initialize this module. in addition,
+ * any commands attached to the .BEGIN target
+ * are executed before this function returns.
+ * Hence, the makefile must have been parsed
+ * before this function is called.
+ *
+ * Job_End Cleanup any memory used.
+ *
+ * Job_ParseShell Given the line following a .SHELL target, parse
+ * the line as a shell specification. Returns
+ * FALSE if the spec was incorrect.
+ *
+ * Job_Finish Perform any final processing which needs doing.
+ * This includes the execution of any commands
+ * which have been/were attached to the .END
+ * target. It should only be called when the
+ * job table is empty.
+ *
+ * Job_AbortAll Abort all currently running jobs. It doesn't
+ * handle output or do anything for the jobs,
+ * just kills them. It should only be called in
+ * an emergency, as it were.
+ *
+ * Job_CheckCommands
+ * Verify that the commands for a target are
+ * ok. Provide them if necessary and possible.
*
- * Job_CheckCommands Verify that the commands for a target are
- * ok. Provide them if necessary and possible.
+ * Job_Touch Update a target without really updating it.
*
- * Job_Touch Update a target without really updating it.
- *
- * Job_Wait Wait for all currently-running jobs to finish.
+ * Job_Wait Wait for all currently-running jobs to finish.
*/
#include <sys/types.h>
@@ -140,19 +143,19 @@
#include "trace.h"
/* "@(#)job.c 8.2 (Berkeley) 3/19/94" */
-MAKE_RCSID("$NetBSD: job.c,v 1.245 2020/09/27 19:13:46 rillig Exp $");
+MAKE_RCSID("$NetBSD: job.c,v 1.246 2020/09/27 21:35:16 rillig Exp $");
# define STATIC static
/*
* error handling variables
*/
-static int errors = 0; /* number of errors reported */
-static int aborting = 0; /* why is the make aborting? */
-#define ABORT_ERROR 1 /* Because of an error */
-#define ABORT_INTERRUPT 2 /* Because it was interrupted */
-#define ABORT_WAIT 3 /* Waiting for jobs to finish */
-#define JOB_TOKENS "+EI+" /* Token to requeue for each abort state */
+static int errors = 0; /* number of errors reported */
+static int aborting = 0; /* why is the make aborting? */
+#define ABORT_ERROR 1 /* Because of an error */
+#define ABORT_INTERRUPT 2 /* Because it was interrupted */
+#define ABORT_WAIT 3 /* Waiting for jobs to finish */
+#define JOB_TOKENS "+EI+" /* Token to requeue for each abort state */
/*
* this tracks the number of tokens currently "out" to build jobs.
@@ -173,14 +176,14 @@ int jobTokensRunning = 0;
* XXX: Why printed? Shouldn't that be run/printed instead, depending on the
* command line options?
* Should this number be 0, no shell will be executed. */
-static int numCommands;
+static int numCommands;
/*
* Return values from JobStart.
*/
-#define JOB_RUNNING 0 /* Job is running */
-#define JOB_ERROR 1 /* Error in starting the job */
-#define JOB_FINISHED 2 /* The job is already finished */
+#define JOB_RUNNING 0 /* Job is running */
+#define JOB_ERROR 1 /* Error in starting the job */
+#define JOB_FINISHED 2 /* The job is already finished */
/*
* Descriptions for various shells.
@@ -302,7 +305,7 @@ static void watchfd(Job *);
static void clearfd(Job *);
static int readyfd(Job *);
-STATIC GNode *lastNode; /* The node for which output was most recently
+STATIC GNode *lastNode; /* The node for which output was most recently
* produced. */
static char *targPrefix = NULL; /* What we print at the start of TARG_FMT */
static Job tokenWaitJob; /* token wait pseudo-job */
@@ -601,20 +604,20 @@ JobFindPid(int pid, int status, Boolean
static int
JobPrintCommand(void *cmdp, void *jobp)
{
- Boolean noSpecials; /* true if we shouldn't worry about
- * inserting special commands into
- * the input stream. */
- Boolean shutUp = FALSE; /* true if we put a no echo command
- * into the command file */
- Boolean errOff = FALSE; /* true if we turned error checking
- * off before printing the command
- * and need to turn it back on */
- const char *cmdTemplate; /* Template to use when printing the
- * command */
- char *cmdStart; /* Start of expanded command */
- char *escCmd = NULL; /* Command with quotes/backticks escaped */
- char *cmd = (char *)cmdp;
- Job *job = (Job *)jobp;
+ Boolean noSpecials; /* true if we shouldn't worry about
+ * inserting special commands into
+ * the input stream. */
+ Boolean shutUp = FALSE; /* true if we put a no echo command
+ * into the command file */
+ Boolean errOff = FALSE; /* true if we turned error checking
+ * off before printing the command
+ * and need to turn it back on */
+ const char *cmdTemplate; /* Template to use when printing the
+ * command */
+ char *cmdStart; /* Start of expanded command */
+ char *escCmd = NULL; /* Command with quotes/backticks escaped */
+ char *cmd = (char *)cmdp;
+ Job *job = (Job *)jobp;
noSpecials = NoExecute(job->node);
@@ -629,7 +632,7 @@ JobPrintCommand(void *cmdp, void *jobp)
}
#define DBPRINTF(fmt, arg) if (DEBUG(JOB)) { \
- (void)fprintf(debug_file, fmt, arg); \
+ (void)fprintf(debug_file, fmt, arg); \
} \
(void)fprintf(job->cmdFILE, fmt, arg); \
(void)fflush(job->cmdFILE);
@@ -869,7 +872,7 @@ JobClose(Job *job)
static void
JobFinish(Job *job, int status)
{
- Boolean done, return_job_token;
+ Boolean done, return_job_token;
if (DEBUG(JOB)) {
fprintf(debug_file, "Jobfinish: %d [%s], status %d\n",
@@ -1035,7 +1038,7 @@ JobFinish(Job *job, int status)
void
Job_Touch(GNode *gn, Boolean silent)
{
- int streamID; /* ID of stream opened to do the touch */
+ int streamID; /* ID of stream opened to do the touch */
struct utimbuf times; /* Times for utime() call */
if (gn->type & (OP_JOIN|OP_USE|OP_USEBEFORE|OP_EXEC|OP_OPTIONAL|
@@ -1170,13 +1173,13 @@ Job_CheckCommands(GNode *gn, void (*abor
static void
JobExec(Job *job, char **argv)
{
- int cpid; /* ID of new child */
+ int cpid; /* ID of new child */
sigset_t mask;
job->flags &= ~JOB_TRACED;
if (DEBUG(JOB)) {
- int i;
+ int i;
(void)fprintf(debug_file, "Running %s %sly\n", job->node->name, "local");
(void)fprintf(debug_file, "\tCommand: ");
@@ -1341,8 +1344,8 @@ JobExec(Job *job, char **argv)
static void
JobMakeArgv(Job *job, char **argv)
{
- int argc;
- static char args[10]; /* For merged arguments */
+ int argc;
+ static char args[10]; /* For merged arguments */
argv[0] = UNCONST(shellName);
argc = 1;
@@ -1408,11 +1411,11 @@ JobMakeArgv(Job *job, char **argv)
static int
JobStart(GNode *gn, int flags)
{
- Job *job; /* new job descriptor */
- char *argv[10]; /* Argument vector to shell */
- Boolean cmdsOK; /* true if the nodes commands were all right */
- Boolean noExec; /* Set true if we decide not to run the job */
- int tfd; /* File descriptor to the temp file */
+ Job *job; /* new job descriptor */
+ char *argv[10]; /* Argument vector to shell */
+ Boolean cmdsOK; /* true if the nodes commands were all right */
+ Boolean noExec; /* Set true if we decide not to run the job */
+ int tfd; /* File descriptor to the temp file */
for (job = job_table; job < job_table_end; job++) {
if (job->job_state == JOB_ST_FREE)
@@ -1670,12 +1673,12 @@ JobOutput(Job *job, char *cp, char *endp
STATIC void
JobDoOutput(Job *job, Boolean finish)
{
- Boolean gotNL = FALSE; /* true if got a newline */
- Boolean fbuf; /* true if our buffer filled up */
- int nr; /* number of bytes read */
- int i; /* auxiliary index into outBuf */
- int max; /* limit for i (end of current data) */
- int nRead; /* (Temporary) number of bytes read */
+ Boolean gotNL = FALSE; /* true if got a newline */
+ Boolean fbuf; /* true if our buffer filled up */
+ int nr; /* number of bytes read */
+ int i; /* auxiliary index into outBuf */
+ int max; /* limit for i (end of current data) */
+ int nRead; /* (Temporary) number of bytes read */
/*
* Read as many bytes as will fit in the buffer.
@@ -1843,8 +1846,8 @@ JobRun(GNode *targ)
void
Job_CatchChildren(void)
{
- int pid; /* pid of dead child */
- int status; /* Exit/termination status */
+ int pid; /* pid of dead child */
+ int status; /* Exit/termination status */
/*
* Don't even bother if we know there's no one around.
@@ -1868,7 +1871,7 @@ Job_CatchChildren(void)
void
JobReapChild(pid_t pid, int status, Boolean isJobs)
{
- Job *job; /* job descriptor for dead child */
+ Job *job; /* job descriptor for dead child */
/*
* Don't even bother if we know there's no one around.
@@ -2067,10 +2070,10 @@ Job_Init(void)
job_table_end = job_table + maxJobs;
wantToken = 0;
- aborting = 0;
- errors = 0;
+ aborting = 0;
+ errors = 0;
- lastNode = NULL;
+ lastNode = NULL;
/*
* There is a non-zero chance that we already have children.
@@ -2203,24 +2206,24 @@ JobMatchShell(const char *name)
* provides the functionality it does in C. Each word consists of
* keyword and value separated by an equal sign. There should be no
* unnecessary spaces in the word. The keywords are as follows:
- * name Name of shell.
- * path Location of shell.
- * quiet Command to turn off echoing.
- * echo Command to turn echoing on
- * filter Result of turning off echoing that shouldn't be
- * printed.
- * echoFlag Flag to turn echoing on at the start
- * errFlag Flag to turn error checking on at the start
- * hasErrCtl True if shell has error checking control
- * newline String literal to represent a newline char
- * check Command to turn on error checking if hasErrCtl
- * is TRUE or template of command to echo a command
- * for which error checking is off if hasErrCtl is
- * FALSE.
- * ignore Command to turn off error checking if hasErrCtl
- * is TRUE or template of command to execute a
- * command so as to ignore any errors it returns if
- * hasErrCtl is FALSE.
+ * name Name of shell.
+ * path Location of shell.
+ * quiet Command to turn off echoing.
+ * echo Command to turn echoing on
+ * filter Result of turning off echoing that shouldn't be
+ * printed.
+ * echoFlag Flag to turn echoing on at the start
+ * errFlag Flag to turn error checking on at the start
+ * hasErrCtl True if shell has error checking control
+ * newline String literal to represent a newline char
+ * check Command to turn on error checking if hasErrCtl
+ * is TRUE or template of command to echo a command
+ * for which error checking is off if hasErrCtl is
+ * FALSE.
+ * ignore Command to turn off error checking if hasErrCtl
+ * is TRUE or template of command to execute a
+ * command so as to ignore any errors it returns if
+ * hasErrCtl is FALSE.
*
*-----------------------------------------------------------------------
*/
Index: src/usr.bin/make/job.h
diff -u src/usr.bin/make/job.h:1.50 src/usr.bin/make/job.h:1.51
--- src/usr.bin/make/job.h:1.50 Sun Sep 27 19:17:03 2020
+++ src/usr.bin/make/job.h Sun Sep 27 21:35:16 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: job.h,v 1.50 2020/09/27 19:17:03 rillig Exp $ */
+/* $NetBSD: job.h,v 1.51 2020/09/27 21:35:16 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -141,34 +141,34 @@ struct pollfd;
#define JOB_BUFSIZE 1024
typedef struct Job {
- int pid; /* The child's process ID */
- GNode *node; /* The target the child is making */
- StringListNode *tailCmds; /* The node of the first command to be
- * saved when the job has been run */
- FILE *cmdFILE; /* When creating the shell script, this is
- * where the commands go */
- int exit_status; /* from wait4() in signal handler */
- char job_state; /* status of the job entry */
+ int pid; /* The child's process ID */
+ GNode *node; /* The target the child is making */
+ StringListNode *tailCmds; /* The node of the first command to be
+ * saved when the job has been run */
+ FILE *cmdFILE; /* When creating the shell script, this is
+ * where the commands go */
+ int exit_status; /* from wait4() in signal handler */
+ char job_state; /* status of the job entry */
#define JOB_ST_FREE 0 /* Job is available */
#define JOB_ST_SETUP 1 /* Job is allocated but otherwise invalid */
#define JOB_ST_RUNNING 3 /* Job is running, pid valid */
#define JOB_ST_FINISHED 4 /* Job is done (ie after SIGCHILD) */
- char job_suspended;
- short flags; /* Flags to control treatment of job */
+ char job_suspended;
+ short flags; /* Flags to control treatment of job */
#define JOB_IGNERR 0x001 /* Ignore non-zero exits */
#define JOB_SILENT 0x002 /* no output */
#define JOB_SPECIAL 0x004 /* Target is a special one. i.e. run it locally
* if we can't export it and maxLocal is 0 */
-#define JOB_IGNDOTS 0x008 /* Ignore "..." lines when processing
+#define JOB_IGNDOTS 0x008 /* Ignore "..." lines when processing
* commands */
#define JOB_TRACED 0x400 /* we've sent 'set -x' */
- int jobPipe[2]; /* Pipe for reading output from job */
+ int jobPipe[2]; /* Pipe for reading output from job */
struct pollfd *inPollfd; /* pollfd associated with inPipe */
- char outBuf[JOB_BUFSIZE + 1];
+ char outBuf[JOB_BUFSIZE + 1];
/* Buffer for storing the output of the
* job, line by line */
- int curPos; /* Current position in op_outBuf */
+ int curPos; /* Current position in op_outBuf */
#ifdef USE_META
struct BuildMon bm;
@@ -209,28 +209,28 @@ typedef struct Job {
* echo "%s\n" as a template.
*/
typedef struct Shell {
- const char *name; /* the name of the shell. For Bourne and C
+ const char *name; /* the name of the shell. For Bourne and C
* shells, this is used only to find the
* shell description when used as the single
* source of a .SHELL target. For user-defined
* shells, this is the full path of the shell.
*/
- Boolean hasEchoCtl; /* True if both echoOff and echoOn defined */
- const char *echoOff; /* command to turn off echo */
- const char *echoOn; /* command to turn it back on again */
- const char *noPrint; /* command to skip when printing output from
+ Boolean hasEchoCtl; /* True if both echoOff and echoOn defined */
+ const char *echoOff; /* command to turn off echo */
+ const char *echoOn; /* command to turn it back on again */
+ const char *noPrint; /* command to skip when printing output from
* shell. This is usually the command which
* was executed to turn off echoing */
- size_t noPLen; /* length of noPrint command */
- Boolean hasErrCtl; /* set if can control error checking for
+ size_t noPLen; /* length of noPrint command */
+ Boolean hasErrCtl; /* set if can control error checking for
* individual commands */
- const char *errCheck; /* string to turn error checking on */
- const char *ignErr; /* string to turn off error checking */
- const char *errOut; /* string to use for testing exit code */
- const char *newline; /* string literal that results in a newline
+ const char *errCheck; /* string to turn error checking on */
+ const char *ignErr; /* string to turn off error checking */
+ const char *errOut; /* string to use for testing exit code */
+ const char *newline; /* string literal that results in a newline
* character when it appears outside of any
* 'quote' or "quote" characters */
- char commentChar; /* character used by shell for comment lines */
+ char commentChar; /* character used by shell for comment lines */
/*
* command-line flags
Index: src/usr.bin/make/lst.c
diff -u src/usr.bin/make/lst.c:1.72 src/usr.bin/make/lst.c:1.73
--- src/usr.bin/make/lst.c:1.72 Sat Sep 26 17:15:20 2020
+++ src/usr.bin/make/lst.c Sun Sep 27 21:35:16 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: lst.c,v 1.72 2020/09/26 17:15:20 rillig Exp $ */
+/* $NetBSD: lst.c,v 1.73 2020/09/27 21:35:16 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -34,7 +34,7 @@
#include "make.h"
-MAKE_RCSID("$NetBSD: lst.c,v 1.72 2020/09/26 17:15:20 rillig Exp $");
+MAKE_RCSID("$NetBSD: lst.c,v 1.73 2020/09/27 21:35:16 rillig Exp $");
/* Allocate and initialize a list node.
*
@@ -347,7 +347,7 @@ Lst_ForEachUntil(List *list, LstActionUn
* Take care of having the current element deleted out from under
* us.
*/
- ListNode *next = tln->next;
+ ListNode *next = tln->next;
/*
* We're done with the traversal if
Index: src/usr.bin/make/main.c
diff -u src/usr.bin/make/main.c:1.350 src/usr.bin/make/main.c:1.351
--- src/usr.bin/make/main.c:1.350 Sun Sep 27 16:52:22 2020
+++ src/usr.bin/make/main.c Sun Sep 27 21:35:16 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: main.c,v 1.350 2020/09/27 16:52:22 rillig Exp $ */
+/* $NetBSD: main.c,v 1.351 2020/09/27 21:35:16 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -126,7 +126,7 @@
#endif
/* "@(#)main.c 8.3 (Berkeley) 3/19/94" */
-MAKE_RCSID("$NetBSD: main.c,v 1.350 2020/09/27 16:52:22 rillig Exp $");
+MAKE_RCSID("$NetBSD: main.c,v 1.351 2020/09/27 21:35:16 rillig Exp $");
#if defined(MAKE_NATIVE) && !defined(lint)
__COPYRIGHT("@(#) Copyright (c) 1988, 1989, 1990, 1993\
The Regents of the University of California. All rights reserved.");
@@ -665,10 +665,10 @@ noarg:
/*-
* Main_ParseArgLine --
- * Used by the parse module when a .MFLAGS or .MAKEFLAGS target
+ * Used by the parse module when a .MFLAGS or .MAKEFLAGS target
* is encountered and by main() when reading the .MAKEFLAGS envariable.
* Takes a line of arguments and breaks it into its
- * component words and passes those words and the number of them to the
+ * component words and passes those words and the number of them to the
* MainParseArgs function.
* The line should have all its leading whitespace removed.
*
@@ -896,7 +896,7 @@ static Boolean
runTargets(void)
{
GNodeList *targs; /* target nodes to create -- passed to Make_Init */
- Boolean outOfDate; /* FALSE if all targets up to date */
+ Boolean outOfDate; /* FALSE if all targets up to date */
/*
* Have now read the entire graph and need to make a list of
@@ -977,7 +977,7 @@ InitVarTargets(void)
int
main(int argc, char **argv)
{
- Boolean outOfDate; /* FALSE if all targets up to date */
+ Boolean outOfDate; /* FALSE if all targets up to date */
struct stat sb, sa;
char *p1, *path;
char mdpath[MAXPATHLEN];
@@ -1588,10 +1588,10 @@ found:
char *
Cmd_Exec(const char *cmd, const char **errfmt)
{
- const char *args[4]; /* Args for invoking the shell */
- int fds[2]; /* Pipe streams */
- int cpid; /* Child PID */
- int pid; /* PID from wait() */
+ const char *args[4]; /* Args for invoking the shell */
+ int fds[2]; /* Pipe streams */
+ int cpid; /* Child PID */
+ int pid; /* PID from wait() */
int status; /* command exit status */
Buffer buf; /* buffer to store the result */
ssize_t bytes_read;
Index: src/usr.bin/make/make.c
diff -u src/usr.bin/make/make.c:1.150 src/usr.bin/make/make.c:1.151
--- src/usr.bin/make/make.c:1.150 Sun Sep 27 13:27:50 2020
+++ src/usr.bin/make/make.c Sun Sep 27 21:35:16 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: make.c,v 1.150 2020/09/27 13:27:50 rillig Exp $ */
+/* $NetBSD: make.c,v 1.151 2020/09/27 21:35:16 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -74,32 +74,32 @@
* their suitability for creation
*
* Interface:
- * Make_Run Initialize things for the module and recreate
- * whatever needs recreating. Returns TRUE if
- * work was (or would have been) done and FALSE
- * otherwise.
- *
- * Make_Update Update all parents of a given child. Performs
- * various bookkeeping chores like the updating
- * of the cmgn field of the parent, filling
- * of the IMPSRC context variable, etc. It will
- * place the parent on the toBeMade queue if it
- * should be.
- *
- * Make_TimeStamp Function to set the parent's cmgn field
- * based on a child's modification time.
- *
- * Make_DoAllVar Set up the various local variables for a
- * target, including the .ALLSRC variable, making
- * sure that any variable that needs to exist
- * at the very least has the empty value.
+ * Make_Run Initialize things for the module and recreate
+ * whatever needs recreating. Returns TRUE if
+ * work was (or would have been) done and FALSE
+ * otherwise.
+ *
+ * Make_Update Update all parents of a given child. Performs
+ * various bookkeeping chores like the updating
+ * of the cmgn field of the parent, filling
+ * of the IMPSRC context variable, etc. It will
+ * place the parent on the toBeMade queue if it
+ * should be.
+ *
+ * Make_TimeStamp Function to set the parent's cmgn field
+ * based on a child's modification time.
+ *
+ * Make_DoAllVar Set up the various local variables for a
+ * target, including the .ALLSRC variable, making
+ * sure that any variable that needs to exist
+ * at the very least has the empty value.
*
- * Make_OODate Determine if a target is out-of-date.
+ * Make_OODate Determine if a target is out-of-date.
*
- * Make_HandleUse See if a child is a .USE node for a parent
- * and perform the .USE actions if so.
+ * Make_HandleUse See if a child is a .USE node for a parent
+ * and perform the .USE actions if so.
*
- * Make_ExpandUse Expand .USE nodes
+ * Make_ExpandUse Expand .USE nodes
*/
#include "make.h"
@@ -107,7 +107,7 @@
#include "job.h"
/* "@(#)make.c 8.1 (Berkeley) 6/6/93" */
-MAKE_RCSID("$NetBSD: make.c,v 1.150 2020/09/27 13:27:50 rillig Exp $");
+MAKE_RCSID("$NetBSD: make.c,v 1.151 2020/09/27 21:35:16 rillig Exp $");
/* Sequence # to detect recursion. */
static unsigned int checked = 1;
@@ -390,7 +390,7 @@ MakeFindChild(void *gnp, void *pgnp)
void
Make_HandleUse(GNode *cgn, GNode *pgn)
{
- GNodeListNode *ln; /* An element in the children list */
+ GNodeListNode *ln; /* An element in the children list */
#ifdef DEBUG_SRC
if ((cgn->type & (OP_USE|OP_USEBEFORE|OP_TRANSFORM)) == 0) {
@@ -505,10 +505,10 @@ Make_Recheck(GNode *gn)
* parse.h : parse.o
*
* parse.o : parse.y
- * yacc -d parse.y
- * cc -c y.tab.c
- * mv y.tab.o parse.o
- * cmp -s y.tab.h parse.h || mv y.tab.h parse.h
+ * yacc -d parse.y
+ * cc -c y.tab.c
+ * mv y.tab.o parse.o
+ * cmp -s y.tab.h parse.h || mv y.tab.h parse.h
*
* In this case, if the definitions produced by yacc haven't changed
* from before, parse.h won't have been updated and gn->mtime will
@@ -588,8 +588,8 @@ Make_Recheck(GNode *gn)
void
Make_Update(GNode *cgn)
{
- GNode *pgn; /* the parent node */
- const char *cname; /* the child's name */
+ GNode *pgn; /* the parent node */
+ const char *cname; /* the child's name */
GNodeListNode *ln;
time_t mtime = -1;
char *p1;
@@ -1055,8 +1055,8 @@ MakePrintStatusOrder(void *ognp, void *g
static int
MakePrintStatus(void *gnp, void *v_errors)
{
- GNode *gn = (GNode *)gnp;
- int *errors = v_errors;
+ GNode *gn = (GNode *)gnp;
+ int *errors = v_errors;
if (gn->flags & DONECYCLE)
/* We've completely processed this node before, don't do it again. */
@@ -1240,7 +1240,7 @@ Make_ProcessWait(GNodeList *targs)
GNode *pgn; /* 'parent' node we are examining */
GNode *cgn; /* Each child in turn */
GNodeListNode *owln; /* Previous .WAIT node */
- GNodeList *examine; /* List of targets to examine */
+ GNodeList *examine; /* List of targets to examine */
GNodeListNode *ln;
/*
@@ -1320,7 +1320,7 @@ Make_ProcessWait(GNodeList *targs)
Boolean
Make_Run(GNodeList *targs)
{
- int errors; /* Number of errors the Job module reports */
+ int errors; /* Number of errors the Job module reports */
/* Start trying to make the current targets... */
toBeMade = Lst_Init();
Index: src/usr.bin/make/make.h
diff -u src/usr.bin/make/make.h:1.147 src/usr.bin/make/make.h:1.148
--- src/usr.bin/make/make.h:1.147 Sat Sep 26 16:00:12 2020
+++ src/usr.bin/make/make.h Sun Sep 27 21:35:16 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: make.h,v 1.147 2020/09/26 16:00:12 rillig Exp $ */
+/* $NetBSD: make.h,v 1.148 2020/09/27 21:35:16 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -200,7 +200,7 @@ typedef enum {
OP_USE = 1 << 4,
/* Target is never out of date, but always execute commands anyway.
* Its time doesn't matter, so it has none...sort of */
- OP_EXEC = 1 << 5,
+ OP_EXEC = 1 << 5,
/* Ignore errors when creating the node */
OP_IGNORE = 1 << 6,
/* Don't remove the target when interrupted */
@@ -387,43 +387,45 @@ typedef enum {
/*
* Definitions for the "local" variables. Used only for clarity.
*/
-#define TARGET "@" /* Target of dependency */
-#define OODATE "?" /* All out-of-date sources */
-#define ALLSRC ">" /* All sources */
-#define IMPSRC "<" /* Source implied by transformation */
-#define PREFIX "*" /* Common prefix */
-#define ARCHIVE "!" /* Archive in "archive(member)" syntax */
-#define MEMBER "%" /* Member in "archive(member)" syntax */
-
-#define FTARGET "@F" /* file part of TARGET */
-#define DTARGET "@D" /* directory part of TARGET */
-#define FIMPSRC "<F" /* file part of IMPSRC */
-#define DIMPSRC "<D" /* directory part of IMPSRC */
-#define FPREFIX "*F" /* file part of PREFIX */
-#define DPREFIX "*D" /* directory part of PREFIX */
+#define TARGET "@" /* Target of dependency */
+#define OODATE "?" /* All out-of-date sources */
+#define ALLSRC ">" /* All sources */
+#define IMPSRC "<" /* Source implied by transformation */
+#define PREFIX "*" /* Common prefix */
+#define ARCHIVE "!" /* Archive in "archive(member)" syntax */
+#define MEMBER "%" /* Member in "archive(member)" syntax */
+
+#define FTARGET "@F" /* file part of TARGET */
+#define DTARGET "@D" /* directory part of TARGET */
+#define FIMPSRC "<F" /* file part of IMPSRC */
+#define DIMPSRC "<D" /* directory part of IMPSRC */
+#define FPREFIX "*F" /* file part of PREFIX */
+#define DPREFIX "*D" /* directory part of PREFIX */
/*
* Global Variables
*/
-extern StringList *create; /* The list of target names specified on the
+extern StringList *create; /* The list of target names specified on the
* command line. used to resolve #if
* make(...) statements */
-extern SearchPath *dirSearchPath; /* The list of directories to search when
+extern SearchPath *dirSearchPath;
+ /* The list of directories to search when
* looking for targets */
extern Boolean compatMake; /* True if we are make compatible */
-extern Boolean ignoreErrors; /* True if should ignore all errors */
-extern Boolean beSilent; /* True if should print no commands */
-extern Boolean noExecute; /* True if should execute nothing */
-extern Boolean noRecursiveExecute; /* True if should execute nothing */
-extern Boolean allPrecious; /* True if every target is precious */
+extern Boolean ignoreErrors; /* True if should ignore all errors */
+extern Boolean beSilent; /* True if should print no commands */
+extern Boolean noExecute; /* True if should execute nothing */
+extern Boolean noRecursiveExecute;
+ /* True if should execute nothing */
+extern Boolean allPrecious; /* True if every target is precious */
extern Boolean deleteOnError; /* True if failed targets should be deleted */
-extern Boolean keepgoing; /* True if should continue on unaffected
+extern Boolean keepgoing; /* True if should continue on unaffected
* portions of the graph when have an error
* in one portion */
-extern Boolean touchFlag; /* TRUE if targets should just be 'touched'
+extern Boolean touchFlag; /* TRUE if targets should just be 'touched'
* if out of date. Set by the -t flag */
-extern Boolean queryFlag; /* TRUE if we aren't supposed to really make
+extern Boolean queryFlag; /* TRUE if we aren't supposed to really make
* anything, just see if the targets are out-
* of-date */
extern Boolean doing_depend; /* TRUE if processing .depend */
@@ -437,24 +439,24 @@ extern Boolean parseWarnFatal; /* TRUE i
extern Boolean varNoExportEnv; /* TRUE if we should not export variables
* set on the command line to the env. */
-extern GNode *DEFAULT; /* .DEFAULT rule */
+extern GNode *DEFAULT; /* .DEFAULT rule */
extern GNode *VAR_INTERNAL; /* Variables defined internally by make
* which should not override those set by
* makefiles.
*/
-extern GNode *VAR_GLOBAL; /* Variables defined in a global context, e.g
+extern GNode *VAR_GLOBAL; /* Variables defined in a global context, e.g
* in the Makefile itself */
-extern GNode *VAR_CMD; /* Variables defined on the command line */
-extern char var_Error[]; /* Value returned by Var_Parse when an error
+extern GNode *VAR_CMD; /* Variables defined on the command line */
+extern char var_Error[]; /* Value returned by Var_Parse when an error
* is encountered. It actually points to
* an empty string, so naive callers needn't
* worry about it. */
-extern time_t now; /* The time at the start of this whole
+extern time_t now; /* The time at the start of this whole
* process */
-extern Boolean oldVars; /* Do old-style variable substitution */
+extern Boolean oldVars; /* Do old-style variable substitution */
extern SearchPath *sysIncPath; /* The system include path. */
extern SearchPath *defIncPath; /* The default include path. */
@@ -540,7 +542,7 @@ int str2Lst_Append(StringList *, char *,
void GNode_FprintDetails(FILE *, const char *, const GNode *, const char *);
#ifdef __GNUC__
-#define UNCONST(ptr) ({ \
+#define UNCONST(ptr) ({ \
union __unconst { \
const void *__cp; \
void *__p; \
Index: src/usr.bin/make/parse.c
diff -u src/usr.bin/make/parse.c:1.337 src/usr.bin/make/parse.c:1.338
--- src/usr.bin/make/parse.c:1.337 Sun Sep 27 12:42:09 2020
+++ src/usr.bin/make/parse.c Sun Sep 27 21:35:16 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: parse.c,v 1.337 2020/09/27 12:42:09 rillig Exp $ */
+/* $NetBSD: parse.c,v 1.338 2020/09/27 21:35:16 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -87,27 +87,28 @@
* messages can be more meaningful.
*
* Interface:
- * Parse_Init Initialization function which must be
- * called before anything else in this module
- * is used.
- *
- * Parse_End Cleanup the module
- *
- * Parse_File Function used to parse a makefile. It must
- * be given the name of the file, which should
- * already have been opened, and a function
- * to call to read a character from the file.
- *
- * Parse_IsVar Returns TRUE if the given line is a
- * variable assignment. Used by MainParseArgs
- * to determine if an argument is a target
- * or a variable assignment. Used internally
- * for pretty much the same thing...
- *
- * Parse_Error Function called when an error occurs in
- * parsing. Used by the variable and
- * conditional modules.
- * Parse_MainName Returns a Lst of the main target to create.
+ * Parse_Init Initialization function which must be
+ * called before anything else in this module
+ * is used.
+ *
+ * Parse_End Cleanup the module
+ *
+ * Parse_File Function used to parse a makefile. It must
+ * be given the name of the file, which should
+ * already have been opened, and a function
+ * to call to read a character from the file.
+ *
+ * Parse_IsVar Returns TRUE if the given line is a
+ * variable assignment. Used by MainParseArgs
+ * to determine if an argument is a target
+ * or a variable assignment. Used internally
+ * for pretty much the same thing...
+ *
+ * Parse_Error Function called when an error occurs in
+ * parsing. Used by the variable and
+ * conditional modules.
+ *
+ * Parse_MainName Returns a Lst of the main target to create.
*/
#include <sys/types.h>
@@ -131,7 +132,7 @@
#include "pathnames.h"
/* "@(#)parse.c 8.3 (Berkeley) 3/19/94" */
-MAKE_RCSID("$NetBSD: parse.c,v 1.337 2020/09/27 12:42:09 rillig Exp $");
+MAKE_RCSID("$NetBSD: parse.c,v 1.338 2020/09/27 21:35:16 rillig Exp $");
/* types and constants */
@@ -139,18 +140,18 @@ MAKE_RCSID("$NetBSD: parse.c,v 1.337 202
* Structure for a file being read ("included file")
*/
typedef struct IFile {
- char *fname; /* name of file */
- Boolean fromForLoop; /* simulated .include by the .for loop */
- int lineno; /* current line number in file */
- int first_lineno; /* line number of start of text */
- int cond_depth; /* 'if' nesting when file opened */
- Boolean depending; /* state of doing_depend on EOF */
- char *P_str; /* point to base of string buffer */
- char *P_ptr; /* point to next char of string buffer */
- char *P_end; /* point to the end of string buffer */
- char *(*nextbuf)(void *, size_t *); /* Function to get more data */
- void *nextbuf_arg; /* Opaque arg for nextbuf() */
- struct loadedfile *lf; /* loadedfile object, if any */
+ char *fname; /* name of file */
+ Boolean fromForLoop; /* simulated .include by the .for loop */
+ int lineno; /* current line number in file */
+ int first_lineno; /* line number of start of text */
+ int cond_depth; /* 'if' nesting when file opened */
+ Boolean depending; /* state of doing_depend on EOF */
+ char *P_str; /* point to base of string buffer */
+ char *P_ptr; /* point to next char of string buffer */
+ char *P_end; /* point to the end of string buffer */
+ char *(*nextbuf)(void *, size_t *); /* Function to get more data */
+ void *nextbuf_arg; /* Opaque arg for nextbuf() */
+ struct loadedfile *lf; /* loadedfile object, if any */
} IFile;
@@ -166,42 +167,42 @@ typedef struct IFile {
* Tokens for target attributes
*/
typedef enum {
- Begin, /* .BEGIN */
- Default, /* .DEFAULT */
- DeleteOnError, /* .DELETE_ON_ERROR */
- End, /* .END */
- dotError, /* .ERROR */
- Ignore, /* .IGNORE */
- Includes, /* .INCLUDES */
- Interrupt, /* .INTERRUPT */
- Libs, /* .LIBS */
- Meta, /* .META */
- MFlags, /* .MFLAGS or .MAKEFLAGS */
- Main, /* .MAIN and we don't have anything user-specified to
- * make */
- NoExport, /* .NOEXPORT */
- NoMeta, /* .NOMETA */
- NoMetaCmp, /* .NOMETA_CMP */
- NoPath, /* .NOPATH */
- Not, /* Not special */
- NotParallel, /* .NOTPARALLEL */
- Null, /* .NULL */
- ExObjdir, /* .OBJDIR */
- Order, /* .ORDER */
- Parallel, /* .PARALLEL */
- ExPath, /* .PATH */
- Phony, /* .PHONY */
+ Begin, /* .BEGIN */
+ Default, /* .DEFAULT */
+ DeleteOnError, /* .DELETE_ON_ERROR */
+ End, /* .END */
+ dotError, /* .ERROR */
+ Ignore, /* .IGNORE */
+ Includes, /* .INCLUDES */
+ Interrupt, /* .INTERRUPT */
+ Libs, /* .LIBS */
+ Meta, /* .META */
+ MFlags, /* .MFLAGS or .MAKEFLAGS */
+ Main, /* .MAIN and we don't have anything user-specified to
+ * make */
+ NoExport, /* .NOEXPORT */
+ NoMeta, /* .NOMETA */
+ NoMetaCmp, /* .NOMETA_CMP */
+ NoPath, /* .NOPATH */
+ Not, /* Not special */
+ NotParallel, /* .NOTPARALLEL */
+ Null, /* .NULL */
+ ExObjdir, /* .OBJDIR */
+ Order, /* .ORDER */
+ Parallel, /* .PARALLEL */
+ ExPath, /* .PATH */
+ Phony, /* .PHONY */
#ifdef POSIX
- Posix, /* .POSIX */
+ Posix, /* .POSIX */
#endif
- Precious, /* .PRECIOUS */
- ExShell, /* .SHELL */
- Silent, /* .SILENT */
- SingleShell, /* .SINGLESHELL */
- Stale, /* .STALE */
- Suffixes, /* .SUFFIXES */
- Wait, /* .WAIT */
- Attribute /* Generic attribute */
+ Precious, /* .PRECIOUS */
+ ExShell, /* .SHELL */
+ Silent, /* .SILENT */
+ SingleShell, /* .SINGLESHELL */
+ Stale, /* .STALE */
+ Suffixes, /* .SUFFIXES */
+ Wait, /* .WAIT */
+ Attribute /* Generic attribute */
} ParseSpecial;
/* result data */
@@ -301,54 +302,54 @@ SearchPath *defIncPath; /* default for
* keyword is used as a source ("0" if the keyword isn't special as a source)
*/
static const struct {
- const char *name; /* Name of keyword */
- ParseSpecial spec; /* Type when used as a target */
- GNodeType op; /* Operator when used as a source */
+ const char *name; /* Name of keyword */
+ ParseSpecial spec; /* Type when used as a target */
+ GNodeType op; /* Operator when used as a source */
} parseKeywords[] = {
-{ ".BEGIN", Begin, 0 },
-{ ".DEFAULT", Default, 0 },
-{ ".DELETE_ON_ERROR", DeleteOnError, 0 },
-{ ".END", End, 0 },
-{ ".ERROR", dotError, 0 },
-{ ".EXEC", Attribute, OP_EXEC },
-{ ".IGNORE", Ignore, OP_IGNORE },
-{ ".INCLUDES", Includes, 0 },
-{ ".INTERRUPT", Interrupt, 0 },
-{ ".INVISIBLE", Attribute, OP_INVISIBLE },
-{ ".JOIN", Attribute, OP_JOIN },
-{ ".LIBS", Libs, 0 },
-{ ".MADE", Attribute, OP_MADE },
-{ ".MAIN", Main, 0 },
-{ ".MAKE", Attribute, OP_MAKE },
-{ ".MAKEFLAGS", MFlags, 0 },
-{ ".META", Meta, OP_META },
-{ ".MFLAGS", MFlags, 0 },
-{ ".NOMETA", NoMeta, OP_NOMETA },
-{ ".NOMETA_CMP", NoMetaCmp, OP_NOMETA_CMP },
-{ ".NOPATH", NoPath, OP_NOPATH },
-{ ".NOTMAIN", Attribute, OP_NOTMAIN },
-{ ".NOTPARALLEL", NotParallel, 0 },
-{ ".NO_PARALLEL", NotParallel, 0 },
-{ ".NULL", Null, 0 },
-{ ".OBJDIR", ExObjdir, 0 },
-{ ".OPTIONAL", Attribute, OP_OPTIONAL },
-{ ".ORDER", Order, 0 },
-{ ".PARALLEL", Parallel, 0 },
-{ ".PATH", ExPath, 0 },
-{ ".PHONY", Phony, OP_PHONY },
+ { ".BEGIN", Begin, 0 },
+ { ".DEFAULT", Default, 0 },
+ { ".DELETE_ON_ERROR", DeleteOnError, 0 },
+ { ".END", End, 0 },
+ { ".ERROR", dotError, 0 },
+ { ".EXEC", Attribute, OP_EXEC },
+ { ".IGNORE", Ignore, OP_IGNORE },
+ { ".INCLUDES", Includes, 0 },
+ { ".INTERRUPT", Interrupt, 0 },
+ { ".INVISIBLE", Attribute, OP_INVISIBLE },
+ { ".JOIN", Attribute, OP_JOIN },
+ { ".LIBS", Libs, 0 },
+ { ".MADE", Attribute, OP_MADE },
+ { ".MAIN", Main, 0 },
+ { ".MAKE", Attribute, OP_MAKE },
+ { ".MAKEFLAGS", MFlags, 0 },
+ { ".META", Meta, OP_META },
+ { ".MFLAGS", MFlags, 0 },
+ { ".NOMETA", NoMeta, OP_NOMETA },
+ { ".NOMETA_CMP", NoMetaCmp, OP_NOMETA_CMP },
+ { ".NOPATH", NoPath, OP_NOPATH },
+ { ".NOTMAIN", Attribute, OP_NOTMAIN },
+ { ".NOTPARALLEL", NotParallel, 0 },
+ { ".NO_PARALLEL", NotParallel, 0 },
+ { ".NULL", Null, 0 },
+ { ".OBJDIR", ExObjdir, 0 },
+ { ".OPTIONAL", Attribute, OP_OPTIONAL },
+ { ".ORDER", Order, 0 },
+ { ".PARALLEL", Parallel, 0 },
+ { ".PATH", ExPath, 0 },
+ { ".PHONY", Phony, OP_PHONY },
#ifdef POSIX
-{ ".POSIX", Posix, 0 },
+ { ".POSIX", Posix, 0 },
#endif
-{ ".PRECIOUS", Precious, OP_PRECIOUS },
-{ ".RECURSIVE", Attribute, OP_MAKE },
-{ ".SHELL", ExShell, 0 },
-{ ".SILENT", Silent, OP_SILENT },
-{ ".SINGLESHELL", SingleShell, 0 },
-{ ".STALE", Stale, 0 },
-{ ".SUFFIXES", Suffixes, 0 },
-{ ".USE", Attribute, OP_USE },
-{ ".USEBEFORE", Attribute, OP_USEBEFORE },
-{ ".WAIT", Wait, 0 },
+ { ".PRECIOUS", Precious, OP_PRECIOUS },
+ { ".RECURSIVE", Attribute, OP_MAKE },
+ { ".SHELL", ExShell, 0 },
+ { ".SILENT", Silent, OP_SILENT },
+ { ".SINGLESHELL", SingleShell, 0 },
+ { ".STALE", Stale, 0 },
+ { ".SUFFIXES", Suffixes, 0 },
+ { ".USE", Attribute, OP_USE },
+ { ".USEBEFORE", Attribute, OP_USEBEFORE },
+ { ".WAIT", Wait, 0 },
};
/* file loader */
@@ -1144,12 +1145,12 @@ ParseDoDependency(char *line)
{
typedef List SearchPathList;
- char *cp; /* our current position */
+ char *cp; /* our current position */
GNodeType op; /* the operator on the line */
char savec; /* a place to save a character */
SearchPathList *paths; /* search paths to alter when parsing
* a list of .PATH targets */
- int tOp; /* operator from special target */
+ int tOp; /* operator from special target */
GNodeList *sources; /* archive sources after expansion */
StringList *curTargs; /* target names to be found and added
* to the targets list */
@@ -1245,7 +1246,7 @@ ParseDoDependency(char *line)
* .MAIN Its sources are only used if
* nothing has been specified to
* create.
- * .DEFAULT Need to create a node to hang
+ * .DEFAULT Need to create a node to hang
* commands on, but we don't want
* it in the graph, nor do we want
* it to be the Main Target, so we
@@ -1253,10 +1254,10 @@ ParseDoDependency(char *line)
* add it to the list, setting
* DEFAULT to the new node for
* later use. We claim the node is
- * A transformation rule to make
- * life easier later, when we'll
- * use Make_HandleUse to actually
- * apply the .DEFAULT commands.
+ * A transformation rule to make
+ * life easier later, when we'll
+ * use Make_HandleUse to actually
+ * apply the .DEFAULT commands.
* .PHONY The list of targets
* .NOPATH Don't search for file in the path
* .STALE
@@ -1264,11 +1265,11 @@ ParseDoDependency(char *line)
* .END
* .ERROR
* .DELETE_ON_ERROR
- * .INTERRUPT Are not to be considered the
+ * .INTERRUPT Are not to be considered the
* main target.
- * .NOTPARALLEL Make only one target at a time.
- * .SINGLESHELL Create a shell for each command.
- * .ORDER Must set initial predecessor to NULL
+ * .NOTPARALLEL Make only one target at a time.
+ * .SINGLESHELL Create a shell for each command.
+ * .ORDER Must set initial predecessor to NULL
*/
switch (specType) {
case ExPath:
@@ -1769,11 +1770,11 @@ Parse_IsVar(const char *line)
void
Parse_DoVar(char *line, GNode *ctxt)
{
- char *cp; /* pointer into line */
+ char *cp; /* pointer into line */
enum {
VAR_SUBST, VAR_APPEND, VAR_SHELL, VAR_NORMAL
- } type; /* Type of assignment */
- char *opc; /* ptr to operator character to
+ } type; /* Type of assignment */
+ char *opc; /* ptr to operator character to
* null-terminate the variable name */
Boolean freeCp = FALSE; /* TRUE if cp needs to be freed,
* i.e. if any variable expansion was
@@ -1947,7 +1948,7 @@ Parse_DoVar(char *line, GNode *ctxt)
/*
* ParseMaybeSubMake --
- * Scan the command string to see if it a possible submake node
+ * Scan the command string to see if it a possible submake node
* Input:
* cmd the command to scan
* Results:
@@ -2149,7 +2150,7 @@ Parse_include_file(char *file, Boolean i
static void
ParseDoInclude(char *line)
{
- char endc; /* the character which ends the file spec */
+ char endc; /* the character which ends the file spec */
char *cp; /* current position in file spec */
int silent = *line != 'i';
char *file = &line[7 + silent];
@@ -2718,10 +2719,10 @@ ParseGetLine(int flags, int *length)
static char *
ParseReadLine(void)
{
- char *line; /* Result */
- int lineLength; /* Length of result */
- int lineno; /* Saved line # */
- int rval;
+ char *line; /* Result */
+ int lineLength; /* Length of result */
+ int lineno; /* Saved line # */
+ int rval;
for (;;) {
line = ParseGetLine(0, &lineLength);
Index: src/usr.bin/make/suff.c
diff -u src/usr.bin/make/suff.c:1.169 src/usr.bin/make/suff.c:1.170
--- src/usr.bin/make/suff.c:1.169 Sat Sep 26 17:15:20 2020
+++ src/usr.bin/make/suff.c Sun Sep 27 21:35:16 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: suff.c,v 1.169 2020/09/26 17:15:20 rillig Exp $ */
+/* $NetBSD: suff.c,v 1.170 2020/09/27 21:35:16 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -74,59 +74,62 @@
* using suffix transformation rules
*
* Interface:
- * Suff_Init Initialize all things to do with suffixes.
+ * Suff_Init Initialize all things to do with suffixes.
*
- * Suff_End Cleanup the module
+ * Suff_End Cleanup the module
*
- * Suff_DoPaths This function is used to make life easier
- * when searching for a file according to its
- * suffix. It takes the global search path,
- * as defined using the .PATH: target, and appends
- * its directories to the path of each of the
- * defined suffixes, as specified using
- * .PATH<suffix>: targets. In addition, all
- * directories given for suffixes labeled as
- * include files or libraries, using the .INCLUDES
- * or .LIBS targets, are played with using
- * Dir_MakeFlags to create the .INCLUDES and
- * .LIBS global variables.
+ * Suff_DoPaths This function is used to make life easier
+ * when searching for a file according to its
+ * suffix. It takes the global search path,
+ * as defined using the .PATH: target, and appends
+ * its directories to the path of each of the
+ * defined suffixes, as specified using
+ * .PATH<suffix>: targets. In addition, all
+ * directories given for suffixes labeled as
+ * include files or libraries, using the .INCLUDES
+ * or .LIBS targets, are played with using
+ * Dir_MakeFlags to create the .INCLUDES and
+ * .LIBS global variables.
+ *
+ * Suff_ClearSuffixes
+ * Clear out all the suffixes and defined
+ * transformations.
+ *
+ * Suff_IsTransform
+ * Return TRUE if the passed string is the lhs
+ * of a transformation rule.
+ *
+ * Suff_AddSuffix Add the passed string as another known suffix.
+ *
+ * Suff_GetPath Return the search path for the given suffix.
+ *
+ * Suff_AddInclude
+ * Mark the given suffix as denoting an include file.
+ *
+ * Suff_AddLib Mark the given suffix as denoting a library.
+ *
+ * Suff_AddTransform
+ * Add another transformation to the suffix
+ * graph. Returns GNode suitable for framing, I
+ * mean, tacking commands, attributes, etc. on.
+ *
+ * Suff_SetNull Define the suffix to consider the suffix of
+ * any file that doesn't have a known one.
+ *
+ * Suff_FindDeps Find implicit sources for and the location of
+ * a target based on its suffix. Returns the
+ * bottom-most node added to the graph or NULL
+ * if the target had no implicit sources.
*
- * Suff_ClearSuffixes Clear out all the suffixes and defined
- * transformations.
- *
- * Suff_IsTransform Return TRUE if the passed string is the lhs
- * of a transformation rule.
- *
- * Suff_AddSuffix Add the passed string as another known suffix.
- *
- * Suff_GetPath Return the search path for the given suffix.
- *
- * Suff_AddInclude Mark the given suffix as denoting an include
- * file.
- *
- * Suff_AddLib Mark the given suffix as denoting a library.
- *
- * Suff_AddTransform Add another transformation to the suffix
- * graph. Returns GNode suitable for framing, I
- * mean, tacking commands, attributes, etc. on.
- *
- * Suff_SetNull Define the suffix to consider the suffix of
- * any file that doesn't have a known one.
- *
- * Suff_FindDeps Find implicit sources for and the location of
- * a target based on its suffix. Returns the
- * bottom-most node added to the graph or NULL
- * if the target had no implicit sources.
- *
- * Suff_FindPath Return the appropriate path to search in
- * order to find the node.
+ * Suff_FindPath Return the appropriate path to search in order to
+ * find the node.
*/
#include "make.h"
#include "dir.h"
/* "@(#)suff.c 8.4 (Berkeley) 3/21/94" */
-MAKE_RCSID("$NetBSD: suff.c,v 1.169 2020/09/26 17:15:20 rillig Exp $");
+MAKE_RCSID("$NetBSD: suff.c,v 1.170 2020/09/27 21:35:16 rillig Exp $");
#define SUFF_DEBUG0(fmt) \
if (!DEBUG(SUFF)) (void) 0; else fprintf(debug_file, fmt)
@@ -171,12 +174,12 @@ typedef List SuffListList;
* Structure describing an individual suffix.
*/
typedef struct Suff {
- char *name; /* The suffix itself, such as ".c" */
+ char *name; /* The suffix itself, such as ".c" */
size_t nameLen; /* Length of the name, to avoid strlen calls */
- SuffFlags flags; /* Type of suffix */
+ SuffFlags flags; /* Type of suffix */
SearchPath *searchPath; /* The path along which files of this suffix
* may be found */
- int sNum; /* The suffix number */
+ int sNum; /* The suffix number */
int refCount; /* Reference count of list membership */
SuffList *parents; /* Suffixes we have a transformation to */
SuffList *children; /* Suffixes we have a transformation from */
@@ -187,12 +190,12 @@ typedef struct Suff {
* Structure used in the search for implied sources.
*/
typedef struct Src {
- char *file; /* The file to look for */
- char *pref; /* Prefix from which file was formed */
- Suff *suff; /* The suffix on the file */
- struct Src *parent; /* The Src for which this is a source */
- GNode *node; /* The node describing the file */
- int children; /* Count of existing children (so we don't free
+ char *file; /* The file to look for */
+ char *pref; /* Prefix from which file was formed */
+ Suff *suff; /* The suffix on the file */
+ struct Src *parent; /* The Src for which this is a source */
+ GNode *node; /* The node describing the file */
+ int children; /* Count of existing children (so we don't free
* this thing too early or never nuke it) */
#ifdef DEBUG_SRC
SrcList *cp; /* Debug; children list */
@@ -215,8 +218,8 @@ typedef struct GNodeSuff {
Boolean r;
} GNodeSuff;
-static Suff *suffNull; /* The NULL suffix for this run */
-static Suff *emptySuff; /* The empty suffix required for POSIX
+static Suff *suffNull; /* The NULL suffix for this run */
+static Suff *emptySuff; /* The empty suffix required for POSIX
* single-suffix transformation rules */
@@ -270,8 +273,8 @@ struct SuffSuffGetSuffixArgs {
static char *
SuffSuffGetSuffix(const Suff *s, const struct SuffSuffGetSuffixArgs *str)
{
- char *p1; /* Pointer into suffix name */
- char *p2; /* Pointer into string being examined */
+ char *p1; /* Pointer into suffix name */
+ char *p2; /* Pointer into string being examined */
if (str->name_len < s->nameLen)
return NULL; /* this string is shorter than the suffix */
@@ -419,15 +422,15 @@ SuffNew(const char *name)
{
Suff *s = bmake_malloc(sizeof(Suff));
- s->name = bmake_strdup(name);
- s->nameLen = strlen(s->name);
+ s->name = bmake_strdup(name);
+ s->nameLen = strlen(s->name);
s->searchPath = Lst_Init();
- s->children = Lst_Init();
- s->parents = Lst_Init();
- s->ref = Lst_Init();
- s->sNum = sNum++;
- s->flags = 0;
- s->refCount = 1;
+ s->children = Lst_Init();
+ s->parents = Lst_Init();
+ s->ref = Lst_Init();
+ s->sNum = sNum++;
+ s->flags = 0;
+ s->refCount = 1;
return s;
}
@@ -450,7 +453,7 @@ Suff_ClearSuffixes(void)
emptySuff = suffNull = SuffNew("");
Dir_Concat(suffNull->searchPath, dirSearchPath);
- suffNull->flags = SUFF_NULL;
+ suffNull->flags = SUFF_NULL;
}
/* Parse a transformation string to find its two component suffixes.
@@ -530,7 +533,7 @@ SuffParseTransform(const char *str, Suff
Boolean
Suff_IsTransform(const char *str)
{
- Suff *src, *targ;
+ Suff *src, *targ;
return SuffParseTransform(str, &src, &targ);
}
@@ -553,7 +556,7 @@ Suff_AddTransform(const char *line)
GNode *gn; /* GNode of transformation rule */
Suff *s, /* source suffix */
*t; /* target suffix */
- GNodeListNode *ln; /* Node for existing transformation */
+ GNodeListNode *ln; /* Node for existing transformation */
Boolean ok;
ln = Lst_Find(transforms, SuffGNHasName, line);
@@ -665,9 +668,9 @@ Suff_EndTransform(GNode *gn)
static void
SuffRebuildGraph(void *transformp, void *sp)
{
- GNode *transform = (GNode *)transformp;
- Suff *s = (Suff *)sp;
- char *cp;
+ GNode *transform = (GNode *)transformp;
+ Suff *s = (Suff *)sp;
+ char *cp;
struct SuffSuffGetSuffixArgs sd;
/*
@@ -721,10 +724,10 @@ SuffRebuildGraph(void *transformp, void
static int
SuffScanTargets(void *targetp, void *gsp)
{
- GNode *target = (GNode *)targetp;
- GNodeSuff *gs = (GNodeSuff *)gsp;
- Suff *s, *t;
- char *ptr;
+ GNode *target = (GNode *)targetp;
+ GNodeSuff *gs = (GNodeSuff *)gsp;
+ Suff *s, *t;
+ char *ptr;
if (*gs->gnp == NULL && gs->r && (target->type & OP_NOTARGET) == 0) {
*gs->gnp = target;
@@ -914,10 +917,10 @@ PrintAddr(void *a, void *b MAKE_ATTR_UNU
static void
SuffAddSrc(void *sp, void *lsp)
{
- Suff *s = (Suff *)sp;
- LstSrc *ls = (LstSrc *)lsp;
- Src *s2; /* new Src structure */
- Src *targ; /* Target structure */
+ Suff *s = (Suff *)sp;
+ LstSrc *ls = (LstSrc *)lsp;
+ Src *s2; /* new Src structure */
+ Src *targ; /* Target structure */
targ = ls->s;
@@ -928,11 +931,11 @@ SuffAddSrc(void *sp, void *lsp)
* that...
*/
s2 = bmake_malloc(sizeof(Src));
- s2->file = bmake_strdup(targ->pref);
- s2->pref = targ->pref;
- s2->parent = targ;
- s2->node = NULL;
- s2->suff = s;
+ s2->file = bmake_strdup(targ->pref);
+ s2->pref = targ->pref;
+ s2->parent = targ;
+ s2->node = NULL;
+ s2->suff = s;
s->refCount++;
s2->children = 0;
targ->children += 1;
@@ -946,11 +949,11 @@ SuffAddSrc(void *sp, void *lsp)
#endif
}
s2 = bmake_malloc(sizeof(Src));
- s2->file = str_concat2(targ->pref, s->name);
- s2->pref = targ->pref;
- s2->parent = targ;
- s2->node = NULL;
- s2->suff = s;
+ s2->file = str_concat2(targ->pref, s->name);
+ s2->pref = targ->pref;
+ s2->parent = targ;
+ s2->node = NULL;
+ s2->suff = s;
s->refCount++;
s2->children = 0;
targ->children += 1;
@@ -1103,13 +1106,12 @@ static Src *
SuffFindCmds(Src *targ, SrcList *slst)
{
GNodeListNode *gln;
-
- GNode *t, /* Target GNode */
- *s; /* Source GNode */
- size_t prefLen;/* The length of the defined prefix */
- Suff *suff; /* Suffix on matching beastie */
- Src *ret; /* Return value */
- char *cp;
+ GNode *t; /* Target GNode */
+ GNode *s; /* Source GNode */
+ size_t prefLen; /* The length of the defined prefix */
+ Suff *suff; /* Suffix on matching beastie */
+ Src *ret; /* Return value */
+ char *cp;
t = targ->node;
Lst_Open(t->children);
@@ -1202,9 +1204,9 @@ SuffFindCmds(Src *targ, SrcList *slst)
static void
SuffExpandChildren(GNodeListNode *cln, GNode *pgn)
{
- GNode *cgn = LstNode_Datum(cln);
- GNode *gn; /* New source 8) */
- char *cp; /* Expanded value */
+ GNode *cgn = LstNode_Datum(cln);
+ GNode *gn; /* New source 8) */
+ char *cp; /* Expanded value */
if (!Lst_IsEmpty(cgn->order_pred) || !Lst_IsEmpty(cgn->order_succ))
/* It is all too hard to process the result of .ORDER */
@@ -1355,7 +1357,7 @@ SuffExpandChildren(GNodeListNode *cln, G
static void
SuffExpandWildcards(GNodeListNode *cln, GNode *pgn)
{
- GNode *cgn = LstNode_Datum(cln);
+ GNode *cgn = LstNode_Datum(cln);
StringList *explist;
if (!Dir_HasWildcards(cgn->name))
@@ -1459,8 +1461,8 @@ static Boolean
SuffApplyTransform(GNode *tGn, GNode *sGn, Suff *t, Suff *s)
{
GNodeListNode *ln, *nln; /* General node */
- char *tname; /* Name of transformation rule */
- GNode *gn; /* Node for same */
+ char *tname; /* Name of transformation rule */
+ GNode *gn; /* Node for same */
/*
* Form the proper links between the target and source.
@@ -1674,17 +1676,17 @@ SuffFindArchiveDeps(GNode *gn, SrcList *
static void
SuffFindNormalDeps(GNode *gn, SrcList *slst)
{
- char *eoname; /* End of name */
- char *sopref; /* Start of prefix */
+ char *eoname; /* End of name */
+ char *sopref; /* Start of prefix */
SuffListNode *ln, *nln;
- SrcList *srcs; /* List of sources at which to look */
- SrcList *targs; /* List of targets to which things can be
- * transformed. They all have the same file,
- * but different suff and pref fields */
- Src *bottom; /* Start of found transformation path */
- Src *src; /* General Src pointer */
- char *pref; /* Prefix to use */
- Src *targ; /* General Src target pointer */
+ SrcList *srcs; /* List of sources at which to look */
+ SrcList *targs; /* List of targets to which things can be
+ * transformed. They all have the same file,
+ * but different suff and pref fields */
+ Src *bottom; /* Start of found transformation path */
+ Src *src; /* General Src pointer */
+ char *pref; /* Prefix to use */
+ Src *targ; /* General Src target pointer */
struct SuffSuffGetSuffixArgs sd; /* Search string data */
Index: src/usr.bin/make/targ.c
diff -u src/usr.bin/make/targ.c:1.105 src/usr.bin/make/targ.c:1.106
--- src/usr.bin/make/targ.c:1.105 Sun Sep 27 12:10:51 2020
+++ src/usr.bin/make/targ.c Sun Sep 27 21:35:16 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: targ.c,v 1.105 2020/09/27 12:10:51 rillig Exp $ */
+/* $NetBSD: targ.c,v 1.106 2020/09/27 21:35:16 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -74,44 +74,45 @@
* kept in two structures: a Lst and a hash table.
*
* Interface:
- * Targ_Init Initialization procedure.
+ * Targ_Init Initialization procedure.
*
- * Targ_End Cleanup the module
+ * Targ_End Cleanup the module
*
- * Targ_List Return the list of all targets so far.
+ * Targ_List Return the list of all targets so far.
*
- * Targ_NewGN Create a new GNode for the passed target
- * (string). The node is *not* placed in the
- * hash table, though all its fields are
- * initialized.
+ * Targ_NewGN Create a new GNode for the passed target
+ * (string). The node is *not* placed in the
+ * hash table, though all its fields are
+ * initialized.
*
- * Targ_FindNode Find the node, or return NULL.
+ * Targ_FindNode Find the node, or return NULL.
*
- * Targ_GetNode Find the node, or create it.
+ * Targ_GetNode Find the node, or create it.
*
- * Targ_NewInternalNode Create an internal node.
+ * Targ_NewInternalNode
+ * Create an internal node.
*
- * Targ_FindList Given a list of names, find nodes for all
- * of them, creating them as necessary.
+ * Targ_FindList Given a list of names, find nodes for all
+ * of them, creating them as necessary.
*
- * Targ_Ignore Return TRUE if errors should be ignored when
- * creating the given target.
+ * Targ_Ignore Return TRUE if errors should be ignored when
+ * creating the given target.
*
- * Targ_Silent Return TRUE if we should be silent when
- * creating the given target.
+ * Targ_Silent Return TRUE if we should be silent when
+ * creating the given target.
*
- * Targ_Precious Return TRUE if the target is precious and
- * should not be removed if we are interrupted.
+ * Targ_Precious Return TRUE if the target is precious and
+ * should not be removed if we are interrupted.
*
- * Targ_Propagate Propagate information between related
- * nodes. Should be called after the
- * makefiles are parsed but before any
- * action is taken.
+ * Targ_Propagate Propagate information between related nodes.
+ * Should be called after the makefiles are parsed
+ * but before any action is taken.
*
* Debugging:
- * Targ_PrintGraph Print out the entire graphm all variables
- * and statistics for the directory cache. Should
- * print something for suffixes, too, but...
+ * Targ_PrintGraph
+ * Print out the entire graphm all variables and
+ * statistics for the directory cache. Should print
+ * something for suffixes, too, but...
*/
#include <stdio.h>
@@ -121,7 +122,7 @@
#include "dir.h"
/* "@(#)targ.c 8.2 (Berkeley) 3/19/94" */
-MAKE_RCSID("$NetBSD: targ.c,v 1.105 2020/09/27 12:10:51 rillig Exp $");
+MAKE_RCSID("$NetBSD: targ.c,v 1.106 2020/09/27 21:35:16 rillig Exp $");
static GNodeList *allTargets; /* the list of all targets found so far */
#ifdef CLEANUP
@@ -181,26 +182,26 @@ Targ_NewGN(const char *name)
gn->uname = NULL;
gn->path = NULL;
gn->type = name[0] == '-' && name[1] == 'l' ? OP_LIB : 0;
- gn->unmade = 0;
+ gn->unmade = 0;
gn->unmade_cohorts = 0;
gn->cohort_num[0] = 0;
- gn->centurion = NULL;
- gn->made = UNMADE;
- gn->flags = 0;
- gn->checked = 0;
- gn->mtime = 0;
- gn->cmgn = NULL;
+ gn->centurion = NULL;
+ gn->made = UNMADE;
+ gn->flags = 0;
+ gn->checked = 0;
+ gn->mtime = 0;
+ gn->cmgn = NULL;
gn->implicitParents = Lst_Init();
- gn->cohorts = Lst_Init();
- gn->parents = Lst_Init();
- gn->children = Lst_Init();
- gn->order_pred = Lst_Init();
- gn->order_succ = Lst_Init();
+ gn->cohorts = Lst_Init();
+ gn->parents = Lst_Init();
+ gn->children = Lst_Init();
+ gn->order_pred = Lst_Init();
+ gn->order_succ = Lst_Init();
Hash_InitTable(&gn->context);
- gn->commands = Lst_Init();
- gn->suffix = NULL;
- gn->fname = NULL;
- gn->lineno = 0;
+ gn->commands = Lst_Init();
+ gn->suffix = NULL;
+ gn->fname = NULL;
+ gn->lineno = 0;
#ifdef CLEANUP
if (allGNs == NULL)
@@ -375,8 +376,8 @@ Targ_PrintCmds(GNode *gn)
char *
Targ_FmtTime(time_t tm)
{
- struct tm *parts;
- static char buf[128];
+ struct tm *parts;
+ static char buf[128];
parts = localtime(&tm);
(void)strftime(buf, sizeof buf, "%k:%M:%S %b %d, %Y", parts);
Index: src/usr.bin/make/var.c
diff -u src/usr.bin/make/var.c:1.545 src/usr.bin/make/var.c:1.546
--- src/usr.bin/make/var.c:1.545 Sun Sep 27 16:52:22 2020
+++ src/usr.bin/make/var.c Sun Sep 27 21:35:16 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: var.c,v 1.545 2020/09/27 16:52:22 rillig Exp $ */
+/* $NetBSD: var.c,v 1.546 2020/09/27 21:35:16 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -73,35 +73,35 @@
* Variable-handling functions
*
* Interface:
- * Var_Set Set the value of a variable in the given
- * context. The variable is created if it doesn't
- * yet exist.
+ * Var_Set Set the value of a variable in the given
+ * context. The variable is created if it doesn't
+ * yet exist.
*
- * Var_Append Append more characters to an existing variable
- * in the given context. The variable needn't
- * exist already -- it will be created if it doesn't.
- * A space is placed between the old value and the
- * new one.
+ * Var_Append Append more characters to an existing variable
+ * in the given context. The variable needn't
+ * exist already -- it will be created if it doesn't.
+ * A space is placed between the old value and the
+ * new one.
*
- * Var_Exists See if a variable exists.
+ * Var_Exists See if a variable exists.
*
- * Var_Value Return the unexpanded value of a variable in a
- * context or NULL if the variable is undefined.
+ * Var_Value Return the unexpanded value of a variable in a
+ * context or NULL if the variable is undefined.
*
- * Var_Subst Substitute either a single variable or all
- * variables in a string, using the given context.
+ * Var_Subst Substitute either a single variable or all
+ * variables in a string, using the given context.
*
- * Var_Parse Parse a variable expansion from a string and
- * return the result and the number of characters
- * consumed.
+ * Var_Parse Parse a variable expansion from a string and
+ * return the result and the number of characters
+ * consumed.
*
- * Var_Delete Delete a variable in a context.
+ * Var_Delete Delete a variable in a context.
*
- * Var_Init Initialize this module.
+ * Var_Init Initialize this module.
*
* Debugging:
- * Var_Dump Print out all variables defined in the given
- * context.
+ * Var_Dump Print out all variables defined in the given
+ * context.
*
* XXX: There's a lot of duplication in these functions.
*/
@@ -121,7 +121,7 @@
#include "metachar.h"
/* "@(#)var.c 8.3 (Berkeley) 3/19/94" */
-MAKE_RCSID("$NetBSD: var.c,v 1.545 2020/09/27 16:52:22 rillig Exp $");
+MAKE_RCSID("$NetBSD: var.c,v 1.546 2020/09/27 21:35:16 rillig Exp $");
#define VAR_DEBUG_IF(cond, fmt, ...) \
if (!(DEBUG(VAR) && (cond))) \
@@ -222,7 +222,7 @@ typedef struct Var {
* Hash_Entry name for all other variables,
* and thus must not be modified */
Buffer val; /* its value */
- VarFlags flags; /* miscellaneous status flags */
+ VarFlags flags; /* miscellaneous status flags */
} Var;
/*
@@ -1319,11 +1319,11 @@ VarREError(int reerr, regex_t *pat, cons
}
struct ModifyWord_SubstRegexArgs {
- regex_t re;
- size_t nsub;
- char *replace;
+ regex_t re;
+ size_t nsub;
+ char *replace;
VarPatternFlags pflags;
- Boolean matched;
+ Boolean matched;
};
/* Callback for ModifyWords to implement the :C/from/to/ modifier.
@@ -2769,7 +2769,7 @@ ApplyModifier_IfElse(const char **pp, Ap
*
* foo: .USE
* .for i in ${.TARGET} ${.TARGET:R}.gz
- * @: ${t::=$i}
+ * @: ${t::=$i}
* @echo blah ${t:T}
* .endfor
*
@@ -3443,12 +3443,12 @@ Var_Parse(const char **pp, GNode *ctxt,
{
const char *const start = *pp;
const char *p;
- Boolean haveModifier; /* TRUE if have modifiers for the variable */
- char startc; /* Starting character if variable in parens
+ Boolean haveModifier; /* TRUE if have modifiers for the variable */
+ char startc; /* Starting character if variable in parens
* or braces */
- char endc; /* Ending character if variable in parens
+ char endc; /* Ending character if variable in parens
* or braces */
- Boolean dynamic; /* TRUE if the variable is local and we're
+ Boolean dynamic; /* TRUE if the variable is local and we're
* expanding it in a non-local context. This
* is done to support dynamic sources. The
* result is just the expression, unaltered */
Index: src/usr.bin/make/unit-tests/cond-func-defined.mk
diff -u src/usr.bin/make/unit-tests/cond-func-defined.mk:1.3 src/usr.bin/make/unit-tests/cond-func-defined.mk:1.4
--- src/usr.bin/make/unit-tests/cond-func-defined.mk:1.3 Thu Aug 20 17:23:43 2020
+++ src/usr.bin/make/unit-tests/cond-func-defined.mk Sun Sep 27 21:35:16 2020
@@ -1,4 +1,4 @@
-# $NetBSD: cond-func-defined.mk,v 1.3 2020/08/20 17:23:43 rillig Exp $
+# $NetBSD: cond-func-defined.mk,v 1.4 2020/09/27 21:35:16 rillig Exp $
#
# Tests for the defined() function in .if conditions.
@@ -9,12 +9,12 @@ ${:UA B}= variable name with spaces
.error
.endif
-# Horizontal whitespace after the opening parenthesis is ignored.
+# Horizontal whitespace (space tab) after the opening parenthesis is ignored.
.if !defined( DEF)
.error
.endif
-# Horizontal whitespace before the closing parenthesis is ignored.
+# Horizontal whitespace (space tab) before the closing parenthesis is ignored.
.if !defined(DEF )
.error
.endif
Index: src/usr.bin/make/unit-tests/cond-func.mk
diff -u src/usr.bin/make/unit-tests/cond-func.mk:1.2 src/usr.bin/make/unit-tests/cond-func.mk:1.3
--- src/usr.bin/make/unit-tests/cond-func.mk:1.2 Wed Sep 23 08:11:28 2020
+++ src/usr.bin/make/unit-tests/cond-func.mk Sun Sep 27 21:35:16 2020
@@ -1,4 +1,4 @@
-# $NetBSD: cond-func.mk,v 1.2 2020/09/23 08:11:28 rillig Exp $
+# $NetBSD: cond-func.mk,v 1.3 2020/09/27 21:35:16 rillig Exp $
#
# Tests for those parts of the functions in .if conditions that are common
# among several functions.
@@ -15,12 +15,12 @@ ${:UVAR{value}}= variable name with brac
.error
.endif
-# Horizontal whitespace after the opening parenthesis is ignored.
+# Horizontal whitespace (space tab) after the opening parenthesis is ignored.
.if !defined( DEF)
.error
.endif
-# Horizontal whitespace before the closing parenthesis is ignored.
+# Horizontal whitespace (space tab) before the closing parenthesis is ignored.
.if !defined(DEF )
.error
.endif
Index: src/usr.bin/make/unit-tests/posix1.mk
diff -u src/usr.bin/make/unit-tests/posix1.mk:1.4 src/usr.bin/make/unit-tests/posix1.mk:1.5
--- src/usr.bin/make/unit-tests/posix1.mk:1.4 Mon Aug 10 18:19:58 2020
+++ src/usr.bin/make/unit-tests/posix1.mk Sun Sep 27 21:35:16 2020
@@ -1,4 +1,4 @@
-# $NetBSD: posix1.mk,v 1.4 2020/08/10 18:19:58 rillig Exp $
+# $NetBSD: posix1.mk,v 1.5 2020/09/27 21:35:16 rillig Exp $
# Keep the default suffixes from interfering, just in case.
.SUFFIXES:
@@ -60,7 +60,7 @@ ARFLAGS = -rcv
localvars: lib.a
# $@ = target or archive name $< = implied source
-# $* = target without suffix $? = sources newer than target
+# $* = target without suffix $? = sources newer than target
# $% = archive member name
LOCALS = \
"Local variables\n\