[gccsdk] make: File '-c' not found

Ron beeb at woosh.co.nz
Mon May 11 15:58:53 PDT 2015


In message <5550C668.2070701 at gmx.com>
          Duncan Moore <duncan.moore at gmx.com> wrote:

>
> On 03/02/2015 16:11, Duncan Moore wrote:
> > The problem is with 'make'.
> > This code is in job.c:
> >
> > #elif defined (__riscos__)
> >
> > char default_shell[] = "";
> > int batch_mode_shell = 0;
> >
> > #else
> >
> > It's not just in the RISC OS version, but in the GNU make version itself.
> > If I remove this code (so default_shell becomes "/bin/sh"), then
> > everything works.
>
> I've had this code removed in my local version of 'make' since February
> and experienced no problems. WPB, Ron, I think you've been using it too
> (Ron's local version). Any problems? If not, and seeing as the Unixlib
> exec*() functions have logic to handle "/bin/sh", then if no-one has any
> objections I'll send these changes to the GNU 'make' bug list, and
> eventually they'll feed through to the RISC OS version:
>
> diff -u make-4-1/job.c make-4-1-ro1/job.c
> --- make-4-1/job.c      2014-10-05 17:24:51 +0100
> +++ make-4-1-ro1/job.c  2015-05-11 15:18:07 +0100
> @@ -62,11 +62,6 @@
>   const char *default_shell = "";
>   int batch_mode_shell = 0;
>
> -#elif defined (__riscos__)
> -
> -const char *default_shell = "";
> -int batch_mode_shell = 0;
> -
>   #else
>
>   const char *default_shell = "/bin/sh";
>
> Duncan

I haven't seen anything bad happen since removing those changes.
For people with old or existing make, they should always have
SHELL = /bin/bash
in their makefile to avoid thed issue.
It will become the default once you have your change accepted.

Ron M.




More information about the gcc mailing list