Module Name: src Committed By: sjg Date: Sat Mar 23 05:31:29 UTC 2013
Modified Files: src/usr.bin/make: main.c make.1 meta.c meta.h Log Message: If built with filemon support, set .MAKE.PATH_FILEMON to _PATH_FILEMON so that makefiles can test for it. To generate a diff of this commit: cvs rdiff -u -r1.209 -r1.210 src/usr.bin/make/main.c cvs rdiff -u -r1.211 -r1.212 src/usr.bin/make/make.1 cvs rdiff -u -r1.26 -r1.27 src/usr.bin/make/meta.c cvs rdiff -u -r1.2 -r1.3 src/usr.bin/make/meta.h 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.209 src/usr.bin/make/main.c:1.210 --- src/usr.bin/make/main.c:1.209 Tue Feb 26 00:45:27 2013 +++ src/usr.bin/make/main.c Sat Mar 23 05:31:29 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: main.c,v 1.209 2013/02/26 00:45:27 christos Exp $ */ +/* $NetBSD: main.c,v 1.210 2013/03/23 05:31:29 sjg Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -69,7 +69,7 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: main.c,v 1.209 2013/02/26 00:45:27 christos Exp $"; +static char rcsid[] = "$NetBSD: main.c,v 1.210 2013/03/23 05:31:29 sjg Exp $"; #else #include <sys/cdefs.h> #ifndef lint @@ -81,7 +81,7 @@ __COPYRIGHT("@(#) Copyright (c) 1988, 19 #if 0 static char sccsid[] = "@(#)main.c 8.3 (Berkeley) 3/19/94"; #else -__RCSID("$NetBSD: main.c,v 1.209 2013/02/26 00:45:27 christos Exp $"); +__RCSID("$NetBSD: main.c,v 1.210 2013/03/23 05:31:29 sjg Exp $"); #endif #endif /* not lint */ #endif @@ -739,7 +739,7 @@ MakeMode(const char *mode) } #if USE_META if (strstr(mode, "meta")) - meta_init(mode); + meta_mode_init(mode); #endif } if (mp) @@ -951,6 +951,9 @@ main(int argc, char **argv) } Job_SetPrefix(); +#ifdef USE_META + meta_init(); +#endif /* * First snag any flags out of the MAKE environment variable. * (Note this is *not* MAKEFLAGS since /bin/make uses that and it's Index: src/usr.bin/make/make.1 diff -u src/usr.bin/make/make.1:1.211 src/usr.bin/make/make.1:1.212 --- src/usr.bin/make/make.1:1.211 Tue Mar 5 22:01:44 2013 +++ src/usr.bin/make/make.1 Sat Mar 23 05:31:29 2013 @@ -1,4 +1,4 @@ -.\" $NetBSD: make.1,v 1.211 2013/03/05 22:01:44 christos Exp $ +.\" $NetBSD: make.1,v 1.212 2013/03/23 05:31:29 sjg Exp $ .\" .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. @@ -29,7 +29,7 @@ .\" .\" from: @(#)make.1 8.4 (Berkeley) 3/19/94 .\" -.Dd March 5, 2013 +.Dd March 22, 2013 .Dt MAKE 1 .Os .Sh NAME @@ -874,6 +874,13 @@ by appending their names to is re-exported whenever .Ql Va .MAKEOVERRIDES is modified. +.It Va .MAKE.PATH_FILEMON +If +.Nm +was built with +.Xr filemon 4 +support, this is set to the path of the device node. +This allows makefiles to test for this support. .It Va .MAKE.PID The process-id of .Nm . Index: src/usr.bin/make/meta.c diff -u src/usr.bin/make/meta.c:1.26 src/usr.bin/make/meta.c:1.27 --- src/usr.bin/make/meta.c:1.26 Sat Jan 19 04:23:37 2013 +++ src/usr.bin/make/meta.c Sat Mar 23 05:31:29 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: meta.c,v 1.26 2013/01/19 04:23:37 sjg Exp $ */ +/* $NetBSD: meta.c,v 1.27 2013/03/23 05:31:29 sjg Exp $ */ /* * Implement 'meta' mode. @@ -539,8 +539,24 @@ boolValue(char *s) return TRUE; } +/* + * Initialization we need before reading makefiles. + */ +void +meta_init() +{ +#ifdef USE_FILEMON + /* this allows makefiles to test if we have filemon support */ + Var_Set(".MAKE.PATH_FILEMON", _PATH_FILEMON, VAR_GLOBAL, 0); +#endif +} + + +/* + * Initialization we need after reading makefiles. + */ void -meta_init(const char *make_mode) +meta_mode_init(const char *make_mode) { static int once = 0; char *cp; Index: src/usr.bin/make/meta.h diff -u src/usr.bin/make/meta.h:1.2 src/usr.bin/make/meta.h:1.3 --- src/usr.bin/make/meta.h:1.2 Wed Mar 30 22:03:49 2011 +++ src/usr.bin/make/meta.h Sat Mar 23 05:31:29 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: meta.h,v 1.2 2011/03/30 22:03:49 sjg Exp $ */ +/* $NetBSD: meta.h,v 1.3 2013/03/23 05:31:29 sjg Exp $ */ /* * Things needed for 'meta' mode. @@ -41,7 +41,8 @@ typedef struct BuildMon { extern Boolean useMeta; struct Job; /* not defined yet */ -void meta_init(const char *); +void meta_init(void); +void meta_mode_init(const char *); void meta_job_start(struct Job *, GNode *); void meta_job_child(struct Job *); void meta_job_error(struct Job *, GNode *, int, int);