Module Name:    src
Committed By:   uebayasi
Date:           Tue Sep  1 20:18:41 UTC 2015

Modified Files:
        src/usr.bin/config: mkmakefile.c

Log Message:
Fix build.


To generate a diff of this commit:
cvs rdiff -u -r1.55 -r1.56 src/usr.bin/config/mkmakefile.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/config/mkmakefile.c
diff -u src/usr.bin/config/mkmakefile.c:1.55 src/usr.bin/config/mkmakefile.c:1.56
--- src/usr.bin/config/mkmakefile.c:1.55	Tue Sep  1 16:01:23 2015
+++ src/usr.bin/config/mkmakefile.c	Tue Sep  1 20:18:41 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: mkmakefile.c,v 1.55 2015/09/01 16:01:23 uebayasi Exp $	*/
+/*	$NetBSD: mkmakefile.c,v 1.56 2015/09/01 20:18:41 uebayasi Exp $	*/
 
 /*
  * Copyright (c) 1992, 1993
@@ -45,7 +45,7 @@
 #endif
 
 #include <sys/cdefs.h>
-__RCSID("$NetBSD: mkmakefile.c,v 1.55 2015/09/01 16:01:23 uebayasi Exp $");
+__RCSID("$NetBSD: mkmakefile.c,v 1.56 2015/09/01 20:18:41 uebayasi Exp $");
 
 #include <sys/param.h>
 #include <ctype.h>
@@ -298,14 +298,14 @@ emitdefs(FILE *fp)
 static void
 emitfile(FILE *fp, struct files *fi)
 {
-	const char *srcdir = "$S/";
+	const char *defprologue = "$S/";
 	const char *prologue, *prefix, *sep;
 
 	if (Sflag)
-		srcdir = "";
+		defprologue = "";
 	prologue = prefix = sep = "";
 	if (*fi->fi_path != '/') {
-		prologue = srcdir;
+		prologue = defprologue;
 		if (fi->fi_prefix != NULL) {
 			if (*fi->fi_prefix == '/')
 				prologue = "";
@@ -319,13 +319,20 @@ emitfile(FILE *fp, struct files *fi)
 static void
 emitobjs(FILE *fp)
 {
+	const char *prologue, *prefix, *sep;
 	struct files *fi;
 
 	fputs("OBJS= \\\n", fp);
 	TAILQ_FOREACH(fi, &allfiles, fi_next) {
+		prologue = prefix = sep = "";
 		if ((fi->fi_flags & FI_SEL) == 0)
 			continue;
-		fprintf(fp, "\t%s.o \\\n", fi->fi_base);
+		if (fi->fi_buildprefix != NULL) {
+			prefix = fi->fi_buildprefix;
+			sep = "/";
+		}
+		fprintf(fp, "\t%s%s%s%s.o \\\n", prologue, prefix, sep,
+		    fi->fi_base);
 	}
 	TAILQ_FOREACH(fi, &allofiles, fi_snext) {
 		if ((fi->fi_flags & FI_SEL) == 0)

Reply via email to