summaryrefslogtreecommitdiff
path: root/nasm.c
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2007-09-24 13:41:58 -0700
committerH. Peter Anvin <hpa@zytor.com>2007-09-24 13:41:58 -0700
commit37a321fbbee22a9f5c022cc3ad43fbf4f522c099 (patch)
tree785cd36169be86f90028bb3ff860c24215ba4896 /nasm.c
parentdee8eaa96710125a171136ab990a46012a0081ab (diff)
downloadnasm-37a321fbbee22a9f5c022cc3ad43fbf4f522c099.tar.gz
Implement the -MG option (SF RFE 1564264)
Implement the -MG option, to generate dependencies in the presence of generated files. In the end, we probably need to support the full gamut of GCC-like dependency-generation options.
Diffstat (limited to 'nasm.c')
-rw-r--r--nasm.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/nasm.c b/nasm.c
index d20fd262..5fa3ebbb 100644
--- a/nasm.c
+++ b/nasm.c
@@ -80,7 +80,8 @@ static Preproc *preproc;
enum op_type {
op_normal, /* Preprocess and assemble */
op_preprocess, /* Preprocess only */
- op_depend /* Generate dependencies */
+ op_depend, /* Generate dependencies */
+ op_depend_missing_ok, /* Generate dependencies, missing OK */
};
static enum op_type operating_mode;
@@ -196,6 +197,9 @@ int main(int argc, char **argv)
}
switch (operating_mode) {
+ case op_depend_missing_ok:
+ pp_include_path(NULL); /* "assume generated" */
+ /* fall through */
case op_depend:
{
char *line;
@@ -479,7 +483,8 @@ static int process_arg(char *p, char *q)
printf
(" -e preprocess only (writes output to stdout by default)\n"
" -a don't preprocess (assemble only)\n"
- " -M generate Makefile dependencies on stdout\n\n"
+ " -M generate Makefile dependencies on stdout\n"
+ " -MG d:o, missing files assumed generated\n\n"
" -E<file> redirect error messages to file\n"
" -s redirect error messages to stdout\n\n"
" -F format select a debugging format\n\n"
@@ -553,7 +558,7 @@ static int process_arg(char *p, char *q)
}
break;
case 'M':
- operating_mode = op_depend;
+ operating_mode = p[2] == 'G' ? op_depend_missing_ok : op_depend;
break;
case '-':