Re: Strange new error in make

Knut Schwichtenberg <[email protected]> Thu, 14 Oct 2021 22:17:42 +0200
Newsgroups gmane.comp.hardware.avr.gcc
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------2FCD6A9607606F7568326759
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

Royce,

please remember were MAKE is coming from. "\" is an escape character in
UNIX so if you change your path delimiter to "/" it will work as
expected. BTW Windows can handle "/" instead of "\" except the the
command line IF does not accept "/".

It's not a bug it is M$=F0=9F=98=89.

Cheers,
Knut

Am 14.10.21 um 12:50 schrieb Royce Pereira:
> Yes, I found the bug - a recently installed (I wanted to give it a
> try) toolchain from here:
> Fast Cross-Platform App Development Software - Embarcadero
> <https://www.embarcadero.com/>
> It had written its own path variables with the path to its own make.
>
> I had uninstalled it later, but it did not delete the path entries.
> after deleting them manually, problem solved1
>
> Thank you !!
>
> On Thu, 14 Oct 2021 at 11:50, <[email protected]
> <mailto:[email protected]>> wrote:
>
>
>     On 13.10.21 17:31, Royce Pereira wrote:
>     =C2=A0=C2=A0 > Today I started getting this error when i run make:
>     =C2=A0=C2=A0 >
>     =C2=A0=C2=A0 > make: *** No rule to make target
>     `c\:\avr-gcc\avr\include\avr\io.h', needed
>     =C2=A0=C2=A0 > by `Timer-5D-DD-0715.o'.=C2=A0 Stop.
>
>     While I'm rusty on make these days, ISTM that there is something wro=
ng
>     with the makefile, as io.h should not be a target. Headers are
>     included
>     in source files for targets (xx.o), not built separately. It is then
>     unsurprising that there is no rule for no build.
>
>     Listing io.h as a dependency, either on the target line, or as a
>     separate dependency:
>
>     Timer-5D-DD-0715.o: io.h
>
>     will tell make to rebuild the target if io.h has changed, but only a=
n
>     erroneous placement of io.h as a target ought to create your current
>     problem ... in theory.
>
>     Even if you use suffix rules, .h should only appear on the right
>     of the
>     colon.
>
>     If you would post the makefile, it may be possible to spot the
>     problem.
>
>     > The offending part is the slash after c (C\:\)
>
>     That may be just a display artifact, escaping perhaps.
>
>     > I checked for typos in my makefile, but it's happening with all
>     my projects.
>
>     Is there really only one makefile?
>
>     > Note:
>     >=C2=A0 I'm using windows 10 and make.exe is in :
>     >
>     > C:\MinGW\msys\1.0\bin\make.exe
>     >
>     > Which is defined in my path.
>
>     An instance of make is being run - it announced itself in the error
>     message. For completeness, is it gnu make or some lesser imitation?
>     Has that been upgraded recently? (With a buggy version.)
>
>     Erik
>
>     P.S. CCing as last two posts to other lists didn't make it to list.
>
>     --
>     The difference between theory and practice is much smaller in theory
>     than in practice.
>
>
>
> --
> Best Regards,
>
> -- Royce Pereira

--------------2FCD6A9607606F7568326759
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable

<html>
  <head>
    <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3DUTF-=
8">
  </head>
  <body>
    <p>Royce,</p>
    <p>please remember were MAKE is coming from. "\" is an escape
      character in UNIX so if you change your path delimiter to "/" it
      will work as expected. BTW Windows can handle "/" instead of "\"
      except the the command line IF does not accept "/".</p>
    <p>It's not a bug it is M$=F0=9F=98=89.</p>
    <p>Cheers,<br>
      Knut<br>
    </p>
    <div class=3D"moz-cite-prefix">Am 14.10.21 um 12:50 schrieb Royce
      Pereira:<br>
    </div>
    <blockquote type=3D"cite"
cite=3D"mid:[email protected]=
.com">
      <meta http-equiv=3D"content-type" content=3D"text/html; charset=3DUT=
F-8">
      <div dir=3D"ltr">
        <div dir=3D"ltr">Yes, I found the bug - a recently installed (I
          wanted to give it a try) toolchain from here:
          <div><a href=3D"https://www.embarcadero.com/"
              moz-do-not-send=3D"true">Fast Cross-Platform App Development
              Software - Embarcadero</a><br>
          </div>
          <div>It had written its own path variables with the path to
            its own make.</div>
          <div><br>
          </div>
          <div>I had uninstalled it later, but it did not delete the
            path entries.</div>
          <div>after deleting them manually, problem solved1</div>
          <div><br>
          </div>
          <div>Thank you !!</div>
        </div>
      </div>
      <br>
      <div class=3D"gmail_quote">
        <div dir=3D"ltr" class=3D"gmail_attr">On Thu, 14 Oct 2021 at 11:50=
,
          &lt;<a href=3D"mailto:[email protected]"
            moz-do-not-send=3D"true">[email protected]</a>&gt;
          wrote:<br>
        </div>
        <blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px
          0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
          <div><br>
            On 13.10.21 17:31, Royce Pereira wrote:<br>
            =C2=A0=C2=A0 &gt; Today I started getting this error when i ru=
n make:<br>
            =C2=A0=C2=A0 &gt;<br>
            =C2=A0=C2=A0 &gt; make: *** No rule to make target
            `c\:\avr-gcc\avr\include\avr\io.h', needed<br>
            =C2=A0=C2=A0 &gt; by `Timer-5D-DD-0715.o'.=C2=A0 Stop.<br>
            <br>
            While I'm rusty on make these days, ISTM that there is
            something wrong<br>
            with the makefile, as io.h should not be a target. Headers
            are included<br>
            in source files for targets (xx.o), not built separately. It
            is then<br>
            unsurprising that there is no rule for no build.<br>
            <br>
            Listing io.h as a dependency, either on the target line, or
            as a<br>
            separate dependency:<br>
            <br>
            Timer-5D-DD-0715.o: io.h<br>
            <br>
            will tell make to rebuild the target if io.h has changed,
            but only an<br>
            erroneous placement of io.h as a target ought to create your
            current<br>
            problem ... in theory.<br>
            <br>
            <div>Even if you use suffix rules, .h should only appear on
              the right of the <br>
            </div>
            <div>colon.</div>
            <br>
            If you would post the makefile, it may be possible to spot
            the problem.<br>
            <br>
            &gt; The offending part is the slash after c (C\:\)<br>
            <br>
            That may be just a display artifact, escaping perhaps.<br>
            <br>
            &gt; I checked for typos in my makefile, but it's happening
            with all my projects.<br>
            <br>
            Is there really only one makefile?<br>
            <br>
            &gt; Note:<br>
            &gt;=C2=A0 I'm using windows 10 and make.exe is in :<br>
            &gt;<br>
            &gt; C:\MinGW\msys\1.0\bin\make.exe<br>
            &gt;<br>
            &gt; Which is defined in my path.<br>
            <br>
            An instance of make is being run - it announced itself in
            the error<br>
            message. For completeness, is it gnu make or some lesser
            imitation?<br>
            <div>Has that been upgraded recently? (With a buggy
              version.)</div>
            <div><br>
            </div>
            Erik<br>
            <div><br>
            </div>
            <div>P.S. CCing as last two posts to other lists didn't make
              it to list.<br>
            </div>
            <div><br>
            </div>
            --<br>
            The difference between theory and practice is much smaller
            in theory<br>
            than in practice.<br>
          </div>
        </blockquote>
      </div>
      <br clear=3D"all">
      <div><br>
      </div>
      -- <br>
      <div dir=3D"ltr" class=3D"gmail_signature">
        <div dir=3D"ltr">Best Regards,
          <div><br>
          </div>
          <div>-- Royce Pereira</div>
        </div>
      </div>
    </blockquote>
  </body>
</html>

--------------2FCD6A9607606F7568326759--