Module Name: src
Committed By: rillig
Date: Tue Oct 27 07:34:36 UTC 2020
Modified Files:
src/usr.bin/make: main.c
Log Message:
make(1): extract ReadBuiltinRules from main
To generate a diff of this commit:
cvs rdiff -u -r1.397 -r1.398 src/usr.bin/make/main.c
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/main.c
diff -u src/usr.bin/make/main.c:1.397 src/usr.bin/make/main.c:1.398
--- src/usr.bin/make/main.c:1.397 Tue Oct 27 07:28:33 2020
+++ src/usr.bin/make/main.c Tue Oct 27 07:34:36 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: main.c,v 1.397 2020/10/27 07:28:33 rillig Exp $ */
+/* $NetBSD: main.c,v 1.398 2020/10/27 07:34:36 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -118,7 +118,7 @@
#include "trace.h"
/* "@(#)main.c 8.3 (Berkeley) 3/19/94" */
-MAKE_RCSID("$NetBSD: main.c,v 1.397 2020/10/27 07:28:33 rillig Exp $");
+MAKE_RCSID("$NetBSD: main.c,v 1.398 2020/10/27 07:34:36 rillig Exp $");
#if defined(MAKE_NATIVE) && !defined(lint)
__COPYRIGHT("@(#) Copyright (c) 1988, 1989, 1990, 1993 "
"The Regents of the University of California. "
@@ -1125,6 +1125,21 @@ InitDefIncPath(char *syspath)
free(syspath);
}
+static void
+ReadBuiltinRules(void)
+{
+ StringList *sysMkPath = Lst_New();
+ Dir_Expand(_PATH_DEFSYSMK,
+ Lst_IsEmpty(sysIncPath) ? defIncPath : sysIncPath,
+ sysMkPath);
+ if (Lst_IsEmpty(sysMkPath))
+ Fatal("%s: no system rules (%s).", progname, _PATH_DEFSYSMK);
+ if (!Lst_ForEachUntil(sysMkPath, ReadMakefileSucceeded, NULL))
+ Fatal("%s: cannot open %s.", progname,
+ (char *)sysMkPath->first->datum);
+ /* XXX: sysMkPath is not freed */
+}
+
/*-
* main --
* The main function, for obvious reasons. Initializes variables
@@ -1152,7 +1167,6 @@ main(int argc, char **argv)
const char *machine;
const char *machine_arch;
char *syspath = getenv("MAKESYSPATH");
- StringList *sysMkPath; /* Path of sys.mk */
struct timeval rightnow; /* to initialize random seed */
struct utsname utsname;
@@ -1375,18 +1389,8 @@ main(int argc, char **argv)
* makefiles, or the default makefile and Makefile, in that order,
* if no makefiles were given on the command line.
*/
- if (!opts.noBuiltins) {
- sysMkPath = Lst_New();
- Dir_Expand(_PATH_DEFSYSMK,
- Lst_IsEmpty(sysIncPath) ? defIncPath : sysIncPath,
- sysMkPath);
- if (Lst_IsEmpty(sysMkPath))
- Fatal("%s: no system rules (%s).", progname,
- _PATH_DEFSYSMK);
- if (!Lst_ForEachUntil(sysMkPath, ReadMakefileSucceeded, NULL))
- Fatal("%s: cannot open %s.", progname,
- (char *)sysMkPath->first->datum);
- }
+ if (!opts.noBuiltins)
+ ReadBuiltinRules();
if (opts.makefiles->first != NULL) {
StringListNode *ln;