ENH: suppress wmkdep 'No such file' warnings in wmake -silent mode

This commit is contained in:
Mark Olesen
2017-06-27 09:29:56 +02:00
parent e4bfefa396
commit df403965ab
2 changed files with 30 additions and 20 deletions

View File

@ -1,5 +1,7 @@
#----------------------------*- makefile-gmake -*------------------------------ #----------------------------*- makefile-gmake -*------------------------------
WMKDEP_FLAGS := -eWM_PROJECT_DIR -eWM_THIRD_PARTY_DIR
ifneq ("$(WM_QUIET)","") ifneq ("$(WM_QUIET)","")
E=@ E=@
define QUIET_MESSAGE define QUIET_MESSAGE
@ -7,6 +9,7 @@ ifneq ("$(WM_QUIET)","")
endef endef
define VERBOSE_MESSAGE define VERBOSE_MESSAGE
endef endef
WMKDEP_FLAGS += -q
else else
E= E=
define QUIET_MESSAGE define QUIET_MESSAGE
@ -28,7 +31,6 @@ $(OBJECTS_DIR)/%.dep : %
$(call QUIET_MESSAGE,wmkdep,$(<F)) $(call QUIET_MESSAGE,wmkdep,$(<F))
$(call VERBOSE_MESSAGE,Making dependency list for source file,$(<F)) $(call VERBOSE_MESSAGE,Making dependency list for source file,$(<F))
@$(WM_SCRIPTS)/makeTargetDir $@ @$(WM_SCRIPTS)/makeTargetDir $@
@$(WMAKE_BIN)/wmkdep -o$@ -I$(*D) $(LIB_HEADER_DIRS) \ @$(WMAKE_BIN)/wmkdep $(WMKDEP_FLAGS) -o$@ -I$(*D) $(LIB_HEADER_DIRS) $<
-eWM_PROJECT_DIR -eWM_THIRD_PARTY_DIR $<
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------

View File

@ -36,7 +36,7 @@ Description
which makes this faster than cpp. which makes this faster than cpp.
Usage Usage
wmkdep [-Idir..] [-iheader...] [-eENV...] [-ofile] filename wmkdep [-Idir..] [-iheader...] [-eENV...] [-oFile] [-q] filename
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
/* With cpp: /* With cpp:
@ -264,6 +264,7 @@ static void print_fileName(const char* fileName)
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
int optQuiet = 0;
int nDirectories = 0; int nDirectories = 0;
char** directories = NULL; char** directories = NULL;
char* sourceFile = NULL; char* sourceFile = NULL;
@ -314,18 +315,23 @@ int main(int argc, char* argv[])
fputs fputs
( (
"\nUsage: " EXENAME "\nUsage: " EXENAME
" [-Idir...] [-iheader...] [-eENV...]" " [-Idir...] [-iheader...] [-eENV...] [-oFile] [-q]"
" [-ofile] filename\n\n" " filename\n\n"
" -Idir Directories to be searched for headers.\n" " -Idir Directories to be searched for headers.\n"
" -iheader Headers to be ignored.\n" " -iheader Headers to be ignored.\n"
" -eENV Environment variable path substitutions.\n" " -eENV Environment variable path substitutions.\n"
" -ofile Write output to file.\n" " -oFile Write output to File.\n"
" -q Suppress 'No such file' warnings.\n"
"\nDependency list generator, similar to 'cpp -M'\n\n", "\nDependency list generator, similar to 'cpp -M'\n\n",
stderr stderr
); );
return 0; return 0;
break; break;
case 'q': /* Option: -q (quiet) */
++optQuiet;
break;
case 'I': /* Option: -Idir */ case 'I': /* Option: -Idir */
++nDirectories; ++nDirectories;
break; break;
@ -390,7 +396,7 @@ int main(int argc, char* argv[])
} }
else if (!strncmp(argv[i], "-o", 2)) else if (!strncmp(argv[i], "-o", 2))
{ {
/* Option: -ofile */ /* Option: -oFile */
if (optLen > 2) if (optLen > 2)
{ {
outputFile = (argv[i] + 2); outputFile = (argv[i] + 2);
@ -414,6 +420,7 @@ int main(int argc, char* argv[])
EXENAME ": could not open file '%s' for output: %s\n", EXENAME ": could not open file '%s' for output: %s\n",
outputFile, strerror(errno) outputFile, strerror(errno)
); );
fflush(stderr);
return 1; return 1;
} }
@ -427,6 +434,7 @@ int main(int argc, char* argv[])
yylex(); yylex();
fputs("\n\n", stdout); fputs("\n\n", stdout);
fflush(stdout);
for (i = nDirectories-1; i >= 0; --i) for (i = nDirectories-1; i >= 0; --i)
{ {
@ -438,9 +446,6 @@ int main(int argc, char* argv[])
free_hashTable(visitedFiles); free_hashTable(visitedFiles);
free_envTable(); free_envTable();
fflush(stdout);
fflush(stderr);
return 0; return 0;
} }
@ -553,6 +558,8 @@ void nextFile(const char* fileName)
} }
} }
if (!optQuiet)
{
fprintf fprintf
( (
stderr, stderr,
@ -564,9 +571,10 @@ void nextFile(const char* fileName)
fprintf(stderr, ": %s", strerror(errno)); fprintf(stderr, ": %s", strerror(errno));
} }
fputs("\n", stderr); fputs("\n", stderr);
fflush(stderr);
}
fflush(stdout); fflush(stdout);
fflush(stderr);
/* Only report the first occurrence */ /* Only report the first occurrence */
lookUp(visitedFiles, fileName); lookUp(visitedFiles, fileName);