From f05034fd5809c88d0a27cd2698e8cccca40f13a8 Mon Sep 17 00:00:00 2001 From: "H. Peter Anvin" Date: Wed, 16 Aug 2017 22:08:36 -0700 Subject: [PATCH] nasm: when generating null targets for WMAKE, add %null WMAKE wants an explicit %null directive; empty is not ok. Signed-off-by: H. Peter Anvin --- asm/nasm.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/asm/nasm.c b/asm/nasm.c index 60cd6ea5..213cfffb 100644 --- a/asm/nasm.c +++ b/asm/nasm.c @@ -219,9 +219,11 @@ static void emit_dependencies(StrList *list) FILE *deps; int linepos, len; StrList *l, *nl; - char wrapstr[] = " \\\n "; + bool wmake = (quote_for_make == quote_for_wmake); + const char *wrapstr, *nulltarget; - wrapstr[1] = (quote_for_make == quote_for_wmake) ? '&' : '\\'; + wrapstr = wmake ? " &\n " : " \\\n "; + nulltarget = wmake ? "\t%null\n" : ""; if (depend_file && strcmp(depend_file, "-")) { deps = nasm_open_write(depend_file, NF_TEXT); @@ -239,7 +241,7 @@ static void emit_dependencies(StrList *list) char *file = quote_for_make(l->str); len = strlen(file); if (linepos + len > 62 && linepos > 1) { - fwrite(wrapstr, 1, sizeof wrapstr-1, deps); + fputs(wrapstr, deps); linepos = 1; } fprintf(deps, " %s", file); @@ -251,7 +253,7 @@ static void emit_dependencies(StrList *list) list_for_each_safe(l, nl, list) { if (depend_emit_phony) { char *file = quote_for_make(l->str); - fprintf(deps, "%s :\n\n", file); + fprintf(deps, "%s :\n%s\n", file, nulltarget); nasm_free(file); } nasm_free(l);