summaryrefslogtreecommitdiff
path: root/usr.sbin/config
diff options
context:
space:
mode:
authorBryan Drewery <bdrewery@FreeBSD.org>2017-11-17 18:34:14 +0000
committerBryan Drewery <bdrewery@FreeBSD.org>2017-11-17 18:34:14 +0000
commit1bf59a71c7b95a3c518fa03ecea183e7afc7d5fd (patch)
tree4024a362d631fa8bba090b581840a654c78d508a /usr.sbin/config
parent1cbb58886a477cf282072eaa331d8122e36e9952 (diff)
downloadsrc-test2-1bf59a71c7b95a3c518fa03ecea183e7afc7d5fd.tar.gz
src-test2-1bf59a71c7b95a3c518fa03ecea183e7afc7d5fd.zip
Notes
Diffstat (limited to 'usr.sbin/config')
-rw-r--r--usr.sbin/config/config.h1
-rw-r--r--usr.sbin/config/configvers.h2
-rw-r--r--usr.sbin/config/mkmakefile.c30
3 files changed, 20 insertions, 13 deletions
diff --git a/usr.sbin/config/config.h b/usr.sbin/config/config.h
index d6b2f62ea151..4ce4eb39cdf2 100644
--- a/usr.sbin/config/config.h
+++ b/usr.sbin/config/config.h
@@ -54,6 +54,7 @@ struct file_list {
char *f_clean; /* File list to add to clean rule */
char *f_warn; /* warning message */
const char *f_objprefix; /* prefix string for object name */
+ const char *f_srcprefix; /* source prefix such as $S/ */
};
struct files_name {
diff --git a/usr.sbin/config/configvers.h b/usr.sbin/config/configvers.h
index 5c2937311d70..993fb9403cf0 100644
--- a/usr.sbin/config/configvers.h
+++ b/usr.sbin/config/configvers.h
@@ -49,5 +49,5 @@
*
* $FreeBSD$
*/
-#define CONFIGVERS 600014
+#define CONFIGVERS 600015
#define MAJOR_VERS(x) ((x) / 100000)
diff --git a/usr.sbin/config/mkmakefile.c b/usr.sbin/config/mkmakefile.c
index 4f7148b005bb..d1c397e5c547 100644
--- a/usr.sbin/config/mkmakefile.c
+++ b/usr.sbin/config/mkmakefile.c
@@ -496,6 +496,10 @@ nextparam:;
tp = new_fent();
tp->f_fn = this;
tp->f_type = filetype;
+ if (filetype == LOCAL)
+ tp->f_srcprefix = "";
+ else
+ tp->f_srcprefix = "$S/";
if (imp_rule)
tp->f_flags |= NO_IMPLCT_RULE;
if (no_obj)
@@ -571,7 +575,8 @@ do_before_depend(FILE *fp)
if (tp->f_flags & NO_IMPLCT_RULE)
fprintf(fp, "%s ", tp->f_fn);
else
- fprintf(fp, "$S/%s ", tp->f_fn);
+ fprintf(fp, "%s%s ", tp->f_srcprefix,
+ tp->f_fn);
lpos += len + 1;
}
if (lpos != 8)
@@ -636,10 +641,7 @@ do_xxfiles(char *tag, FILE *fp)
lpos = 8;
fputs("\\\n\t", fp);
}
- if (tp->f_type != LOCAL)
- fprintf(fp, "$S/%s ", tp->f_fn);
- else
- fprintf(fp, "%s ", tp->f_fn);
+ fprintf(fp, "%s%s ", tp->f_srcprefix, tp->f_fn);
lpos += len + 1;
}
free(suff);
@@ -685,18 +687,21 @@ do_rules(FILE *f)
else {
*cp = '\0';
if (och == 'o') {
- fprintf(f, "%s%so:\n\t-cp $S/%so .\n\n",
- ftp->f_objprefix, tail(np), np);
+ fprintf(f, "%s%so:\n\t-cp %s%so .\n\n",
+ ftp->f_objprefix, tail(np),
+ ftp->f_srcprefix, np);
continue;
}
if (ftp->f_depends) {
- fprintf(f, "%s%so: $S/%s%c %s\n",
- ftp->f_objprefix, tail(np), np, och,
+ fprintf(f, "%s%so: %s%s%c %s\n",
+ ftp->f_objprefix, tail(np),
+ ftp->f_srcprefix, np, och,
ftp->f_depends);
}
else {
- fprintf(f, "%s%so: $S/%s%c\n",
- ftp->f_objprefix, tail(np), np, och);
+ fprintf(f, "%s%so: %s%s%c\n",
+ ftp->f_objprefix, tail(np),
+ ftp->f_srcprefix, np, och);
}
}
compilewith = ftp->f_compilewith;
@@ -725,7 +730,8 @@ do_rules(FILE *f)
}
*cp = och;
if (strlen(ftp->f_objprefix))
- fprintf(f, "\t%s $S/%s\n", compilewith, np);
+ fprintf(f, "\t%s %s%s\n", compilewith,
+ ftp->f_srcprefix, np);
else
fprintf(f, "\t%s\n", compilewith);