--- make-dfsg-3.81.orig/job.c +++ make-dfsg-3.81/job.c @@ -1594,7 +1594,7 @@ /* There are no more references in this line to worry about. Copy the remaining uninteresting text to the output. */ if (out != in) - strcpy (out, in); + memmove(out, in, strlen(in)+1); /* Finally, expand the line. */ lines[i] = allocated_variable_expand_for_file (cmds->command_lines[i], --- make-dfsg-3.81.orig/make.1 +++ make-dfsg-3.81/make.1 @@ -164,7 +164,7 @@ Give variables taken from the environment precedence over variables from makefiles. .TP 0.5i -+\fB\-f\fR \fIfile\fR, \fB\-\-file\fR=\fIfile\fR, \fB\-\-makefile\fR=\fIFILE\fR +\fB\-f\fR \fIfile\fR, \fB\-\-file\fR=\fIfile\fR, \fB\-\-makefile\fR=\fIFILE\fR Use .I file as a makefile. --- make-dfsg-3.81.orig/read.c +++ make-dfsg-3.81/read.c @@ -1794,6 +1794,7 @@ v = parse_variable_definition (&p->variable, defn); assert (v != 0); + v->origin = origin; if (v->flavor == f_simple) v->value = allocated_variable_expand (v->value); else @@ -1826,7 +1827,6 @@ } /* Set up the variable to be *-specific. */ - v->origin = origin; v->per_target = 1; v->export = exported ? v_export : v_default; @@ -3104,6 +3104,7 @@ } free (memname); + memname = 0; } else #endif /* !NO_ARCHIVES */ --- make-dfsg-3.81.orig/remake.c +++ make-dfsg-3.81/remake.c @@ -1453,7 +1453,6 @@ { #ifndef _AMIGA "/lib", - "/usr/lib", #endif #if defined(WINDOWS32) && !defined(LIBDIR) /* @@ -1463,6 +1462,18 @@ #define LIBDIR "." #endif LIBDIR, /* Defined by configuration. */ +#ifndef _AMIGA +/* + * In the Debian binaries, PREFIX is /usr and thus this searches /lib, + * /usr/lib and /usr/lib again and therefore misses any libraries that + * are not packaged and were installed by the site admin. The ideal + * behaviour would be to have the search path set by a Makefile + * variable (other than the VPATH blunt object) but even absent that, + * it would be more useful if it looked in /usr/local/lib even though + * make itself hasn't been installed in the /usr/local tree -- manoj + */ + "/usr/local/lib", +#endif 0 };