Re: Strange new error in make
Royce Pereira <[email protected]> Thu, 14 Oct 2021 16:20:10 +0530
| Newsgroups | gmane.comp.hardware.avr.gcc |
|---|---|
| Message-ID | <CACzHknhxb6_SfGwaVcNJqP21BHyfR6CXg+9DDny3PtmXxQD4Rw@mail.gmail.com> |
--0000000000006271d705ce4dd8fa Content-Type: text/plain; charset="UTF-8" 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]> wrote: > > On 13.10.21 17:31, Royce Pereira wrote: > > Today I started getting this error when i run make: > > > > make: *** No rule to make target `c\:\avr-gcc\avr\include\avr\io.h', > needed > > by `Timer-5D-DD-0715.o'. Stop. > > While I'm rusty on make these days, ISTM that there is something wrong > 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 an > 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: > > 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 --0000000000006271d705ce4dd8fa Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div dir=3D"ltr">Yes, I found the bug - a recently install= ed (I wanted to give it a try) toolchain from here:<div><a href=3D"https://= www.embarcadero.com/">Fast Cross-Platform App Development Software - Embarc= adero</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, 1= 4 Oct 2021 at 11:50, <<a href=3D"mailto:[email protected]">dvalin@= internode.on.net</a>> wrote:<br></div><blockquote class=3D"gmail_quote" = style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);pa= dding-left:1ex"><div><br> On 13.10.21 17:31, Royce Pereira wrote:<br>=C2=A0=C2=A0 > Today I st= arted getting this error when i run make:<br>=C2=A0=C2=A0 ><br>=C2=A0=C2= =A0 > make: *** No rule to make target `c\:\avr-gcc\avr\include\avr\io.h= ', needed<br>=C2=A0=C2=A0 > by `Timer-5D-DD-0715.o'.=C2=A0 Stop.= <br><br>While I'm rusty on make these days, ISTM that there is somethin= g wrong<br>with the makefile, as io.h should not be a target. Headers are i= ncluded<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 dependenc= y:<br><br>Timer-5D-DD-0715.o: io.h<br><br>will tell make to rebuild the tar= get if io.h has changed, but only an<br>erroneous placement of io.h as a ta= rget ought to create your current<br>problem ... in theory.<br><br><div>Eve= n 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>> The offending part is the slash after c (= C\:\)<br><br>That may be just a display artifact, escaping perhaps.<br><br>= > 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>> Note:<br>&= gt;=C2=A0 I'm using windows 10 and make.exe is in :<br>><br>> C:\= MinGW\msys\1.0\bin\make.exe<br>><br>> 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><di= v>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 b= etween theory and practice is much smaller in theory<br>than in practice.<b= r></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><di= v>-- Royce Pereira</div></div></div> --0000000000006271d705ce4dd8fa--