Set .POSIX mode, along with disable parallel mode. Crunchgen parses the

output from make(1) and its picky what it should look like.
Also use make's conditional assignment operator rather than test and set.
This commit is contained in:
David E. O'Brien 2009-01-13 06:52:51 +00:00
parent 0e969ed7e0
commit 7328f91370

View File

@ -709,12 +709,13 @@ void fillin_program_objs(prog_t *p, char *path)
if (outhdrname[0] != '\0')
fprintf(f, ".include \"%s\"\n", outhdrname);
fprintf(f, ".include \"%s\"\n", path);
fprintf(f, ".NOTPARALLEL:\n.NO_PARALLEL:\n.POSIX:\n");
if (buildopts) {
fprintf(f, "BUILDOPTS+=");
output_strlst(f, buildopts);
}
fprintf(f, ".if defined(PROG) && !defined(%s)\n", objvar);
fprintf(f, "%s=${PROG}.o\n", objvar);
fprintf(f, ".if defined(PROG)\n");
fprintf(f, "%s?=${PROG}.o\n", objvar);
fprintf(f, ".endif\n");
fprintf(f, "loop:\n\t@echo 'OBJS= '${%s}\n", objvar);
@ -727,7 +728,7 @@ void fillin_program_objs(prog_t *p, char *path)
fclose(f);
snprintf(line, MAXLINELEN, "cd %s && make -f %s crunchgen_objs",
snprintf(line, MAXLINELEN, "cd %s && make -f %s -Q crunchgen_objs",
p->srcdir, tempfname);
if ((f = popen(line, "r")) == NULL) {
warn("submake pipe");