<div dir="ltr">Dear all,<br>I&#39;m trying to write a working Makefile for v.strahler, <a href="http://r.strahler.sh" target="_blank">r.strahler.sh</a>, <a href="http://r.broscoe.sh" target="_blank">r.broscoe.sh</a> and v.mainchannel, a Makefile that can simultaneously compile C and Shell modules... and, after some attempt, I found this version:<br>

<br><br><div style="margin-left: 40px;">MODULE_TOPDIR = ../..<br><br>PGM = v.mainchannel <a href="http://r.strahler.sh" target="_blank">r.strahler.sh</a> <a href="http://r.broscoe.sh" target="_blank">r.broscoe.sh</a> v.strahler<br>
<br>LIBES&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = $(DISPLAYLIB) $(RASTERLIB) $(VECTLIB) $(GRAPHLIB) $(DBMILIB) $(GISLIB)<br>
DEPENDENCIES = $(DISPLAYDEP) $(RASTERDEP) $(VECTDEP) $(GISDEP)<br>EXTRA_INC = $(VECT_INC)<br>EXTRA_CFLAGS = $(VECT_CFLAGS)<br><br>include $(MODULE_TOPDIR)/include/Make/Module.make<br>include $(MODULE_TOPDIR)/include/Make/Script.make<br>

<br>default: script<br><br></div><br>so I do:<br>- &quot;make clean&quot; in the v.strahler directory<br>- &quot;make&quot; in the same directory<br>and I obtain this error:<br><br><div style="margin-left: 40px;">root@annalisa-laptop:/home/annalisa/grass_dev64/vector/v.strahler# make<br>

../../include/Make/Module.make:14: warning: overriding commands for target `<a href="http://r.strahler.sh" target="_blank">r.strahler.sh</a>&#39;<br>../../include/Make/Html.make:40: warning: ignoring old commands for target `<a href="http://r.strahler.sh" target="_blank">r.strahler.sh</a>&#39;<br>

../../include/Make/Module.make:14: warning: overriding commands for target `<a href="http://r.broscoe.sh" target="_blank">r.broscoe.sh</a>&#39;<br>../../include/Make/Html.make:40: warning: ignoring old commands for target `<a href="http://r.broscoe.sh" target="_blank">r.broscoe.sh</a>&#39;<br>

../../include/Make/Module.make:20: warning: overriding commands for target `<a href="http://r.strahler.sh" target="_blank">r.strahler.sh</a>&#39;<br>../../include/Make/Module.make:14: warning: ignoring old commands for target `<a href="http://r.strahler.sh" target="_blank">r.strahler.sh</a>&#39;<br>

../../include/Make/Module.make:20: warning: overriding commands for target `<a href="http://r.broscoe.sh" target="_blank">r.broscoe.sh</a>&#39;<br>../../include/Make/Module.make:14: warning: ignoring old commands for target `<a href="http://r.broscoe.sh" target="_blank">r.broscoe.sh</a>&#39;<br>

../../include/Make/Module.make:20: warning: overriding commands for target `v.strahler&#39;<br>../../include/Make/Module.make:14: warning: ignoring old commands for target `v.strahler&#39;<br>../../include/Make/Grass.make:376: warning: overriding commands for target `first&#39;<br>

../../include/Make/Grass.make:376: warning: ignoring old commands for target `first&#39;<br>../../include/Make/Grass.make:392: warning: overriding commands for target `inst_now&#39;<br>../../include/Make/Grass.make:392: warning: ignoring old commands for target `inst_now&#39;<br>

../../include/Make/Grass.make:400: warning: overriding commands for target `/home/annalisa/grass_dev64/bin.i686-pc-linux-gnu&#39;<br>../../include/Make/Grass.make:400: warning: ignoring old commands for target `/home/annalisa/grass_dev64/bin.i686-pc-linux-gnu&#39;<br>

../../include/Make/Grass.make:403: warning: overriding commands for target `/home/annalisa/grass_dev64/dist.i686-pc-linux-gnu/include/grass&#39;<br>../../include/Make/Grass.make:403: warning: ignoring old commands for target `/home/annalisa/grass_dev64/dist.i686-pc-linux-gnu/include/grass&#39;<br>

../../include/Make/Grass.make:406: warning: overriding commands for target `/home/annalisa/grass_dev64/dist.i686-pc-linux-gnu/lib&#39;<br>../../include/Make/Grass.make:406: warning: ignoring old commands for target `/home/annalisa/grass_dev64/dist.i686-pc-linux-gnu/lib&#39;<br>

../../include/Make/Grass.make:409: warning: overriding commands for target `/home/annalisa/grass_dev64/dist.i686-pc-linux-gnu/bin&#39;<br>../../include/Make/Grass.make:409: warning: ignoring old commands for target `/home/annalisa/grass_dev64/dist.i686-pc-linux-gnu/bin&#39;<br>

../../include/Make/Grass.make:412: warning: overriding commands for target `/home/annalisa/grass_dev64/dist.i686-pc-linux-gnu/etc&#39;<br>../../include/Make/Grass.make:412: warning: ignoring old commands for target `/home/annalisa/grass_dev64/dist.i686-pc-linux-gnu/etc&#39;<br>

../../include/Make/Grass.make:415: warning: overriding commands for target `/home/annalisa/grass_dev64/dist.i686-pc-linux-gnu/driver&#39;<br>../../include/Make/Grass.make:415: warning: ignoring old commands for target `/home/annalisa/grass_dev64/dist.i686-pc-linux-gnu/driver&#39;<br>

../../include/Make/Grass.make:418: warning: overriding commands for target `/home/annalisa/grass_dev64/dist.i686-pc-linux-gnu/driver/db&#39;<br>../../include/Make/Grass.make:418: warning: ignoring old commands for target `/home/annalisa/grass_dev64/dist.i686-pc-linux-gnu/driver/db&#39;<br>

../../include/Make/Grass.make:421: warning: overriding commands for target `/home/annalisa/grass_dev64/dist.i686-pc-linux-gnu/fonts&#39;<br>../../include/Make/Grass.make:421: warning: ignoring old commands for target `/home/annalisa/grass_dev64/dist.i686-pc-linux-gnu/fonts&#39;<br>

../../include/Make/Rules.make:28: warning: overriding commands for target `OBJ.i686-pc-linux-gnu&#39;<br>../../include/Make/Rules.make:28: warning: ignoring old commands for target `OBJ.i686-pc-linux-gnu&#39;<br>../../include/Make/Rules.make:72: warning: overriding commands for target `clean&#39;<br>

../../include/Make/Rules.make:72: warning: ignoring old commands for target `clean&#39;<br>../../include/Make/Html.make:40: warning: overriding commands for target `/home/annalisa/grass_dev64/dist.i686-pc-linux-gnu/docs/html/v.mainchannel&#39;<br>

../../include/Make/Html.make:40: warning: ignoring old commands for target `/home/annalisa/grass_dev64/dist.i686-pc-linux-gnu/docs/html/v.mainchannel&#39;<br>../../include/Make/Html.make:40: warning: overriding commands for target `<a href="http://r.strahler.sh" target="_blank">r.strahler.sh</a>&#39;<br>

../../include/Make/Module.make:20: warning: ignoring old commands for target `<a href="http://r.strahler.sh" target="_blank">r.strahler.sh</a>&#39;<br>../../include/Make/Html.make:40: warning: overriding commands for target `<a href="http://r.broscoe.sh" target="_blank">r.broscoe.sh</a>&#39;<br>

../../include/Make/Module.make:20: warning: ignoring old commands for target `<a href="http://r.broscoe.sh" target="_blank">r.broscoe.sh</a>&#39;<br>../../include/Make/Html.make:40: warning: overriding commands for target `v.strahler.html&#39;<br>

../../include/Make/Html.make:40: warning: ignoring old commands for target `v.strahler.html&#39;<br>../../include/Make/Html.make:45: warning: overriding commands for target `htmlcmd&#39;<br>../../include/Make/Html.make:45: warning: ignoring old commands for target `htmlcmd&#39;<br>

../../include/Make/Html.make:49: warning: overriding commands for target `htmlscript&#39;<br>../../include/Make/Html.make:49: warning: ignoring old commands for target `htmlscript&#39;<br>../../include/Make/Html.make:53: warning: overriding commands for target `htmletc&#39;<br>

../../include/Make/Html.make:53: warning: ignoring old commands for target `htmletc&#39;<br>../../include/Make/Html.make:57: warning: overriding commands for target `htmldir&#39;<br>../../include/Make/Html.make:57: warning: ignoring old commands for target `htmldir&#39;<br>

../../include/Make/Html.make:61: warning: overriding commands for target `htmlmulti&#39;<br>../../include/Make/Html.make:61: warning: ignoring old commands for target `htmlmulti&#39;<br>../../include/Make/Script.make:21: warning: overriding commands for target `<a href="http://r.strahler.sh" target="_blank">r.strahler.sh</a>&#39;<br>

../../include/Make/Html.make:40: warning: ignoring old commands for target `<a href="http://r.strahler.sh" target="_blank">r.strahler.sh</a>&#39;<br>../../include/Make/Script.make:21: warning: overriding commands for target `<a href="http://r.broscoe.sh" target="_blank">r.broscoe.sh</a>&#39;<br>

../../include/Make/Html.make:40: warning: ignoring old commands for target `<a href="http://r.broscoe.sh" target="_blank">r.broscoe.sh</a>&#39;<br>../../include/Make/Script.make:21: warning: overriding commands for target `v.strahler&#39;<br>

../../include/Make/Module.make:20: warning: ignoring old commands for target `v.strahler&#39;<br>../../include/Make/Script.make:26: warning: overriding commands for target `/home/annalisa/grass_dev64/dist.i686-pc-linux-gnu/bin/v.mainchannel&#39;<br>

../../include/Make/Module.make:14: warning: ignoring old commands for target `/home/annalisa/grass_dev64/dist.i686-pc-linux-gnu/bin/v.mainchannel&#39;<br>../../include/Make/Script.make:26: warning: overriding commands for target `<a href="http://r.strahler.sh" target="_blank">r.strahler.sh</a>&#39;<br>

../../include/Make/Script.make:21: warning: ignoring old commands for target `<a href="http://r.strahler.sh" target="_blank">r.strahler.sh</a>&#39;<br>../../include/Make/Script.make:26: warning: overriding commands for target `<a href="http://r.broscoe.sh" target="_blank">r.broscoe.sh</a>&#39;<br>

../../include/Make/Script.make:21: warning: ignoring old commands for target `<a href="http://r.broscoe.sh" target="_blank">r.broscoe.sh</a>&#39;<br>../../include/Make/Script.make:41: warning: overriding commands for target `<a href="http://r.strahler.sh" target="_blank">r.strahler.sh</a>&#39;<br>

../../include/Make/Script.make:26: warning: ignoring old commands for target `<a href="http://r.strahler.sh" target="_blank">r.strahler.sh</a>&#39;<br>../../include/Make/Script.make:41: warning: overriding commands for target `<a href="http://r.broscoe.sh" target="_blank">r.broscoe.sh</a>&#39;<br>

../../include/Make/Script.make:26: warning: ignoring old commands for target `<a href="http://r.broscoe.sh" target="_blank">r.broscoe.sh</a>&#39;<br>make: Circular <a href="http://r.strahler.sh" target="_blank">r.strahler.sh</a> &lt;- <a href="http://r.strahler.sh" target="_blank">r.strahler.sh</a> dependency dropped.<br>

make: Circular <a href="http://r.broscoe.sh" target="_blank">r.broscoe.sh</a> &lt;- <a href="http://r.strahler.sh" target="_blank">r.strahler.sh</a> dependency dropped.<br>make: Circular <a href="http://r.broscoe.sh" target="_blank">r.broscoe.sh</a> &lt;- <a href="http://r.broscoe.sh" target="_blank">r.broscoe.sh</a> dependency dropped.<br>

make: Circular v.strahler &lt;- <a href="http://r.strahler.sh" target="_blank">r.strahler.sh</a> dependency dropped.<br>make: Circular v.strahler &lt;- <a href="http://r.broscoe.sh" target="_blank">r.broscoe.sh</a> dependency dropped.<br>
make: Circular v.strahler &lt;- v.strahler dependency dropped.<br>
test -d OBJ.i686-pc-linux-gnu || mkdir -p OBJ.i686-pc-linux-gnu<br>gcc -I/home/annalisa/grass_dev64/dist.i686-pc-linux-gnu/include&nbsp; -g -O2&nbsp;&nbsp;&nbsp; -I/usr/include/gdal&nbsp;&nbsp;&nbsp; -DPACKAGE=\&quot;&quot;grassmods&quot;\&quot;&nbsp; -I/home/annalisa/grass_dev64/dist.i686-pc-linux-gnu/include -o OBJ.i686-pc-linux-gnu/forest2tree.o -c forest2tree.c<br>

gcc -I/home/annalisa/grass_dev64/dist.i686-pc-linux-gnu/include&nbsp; -g -O2&nbsp;&nbsp;&nbsp; -I/usr/include/gdal&nbsp;&nbsp;&nbsp; -DPACKAGE=\&quot;&quot;grassmods&quot;\&quot;&nbsp; -I/home/annalisa/grass_dev64/dist.i686-pc-linux-gnu/include -o OBJ.i686-pc-linux-gnu/helper.o -c helper.c<br>

gcc -I/home/annalisa/grass_dev64/dist.i686-pc-linux-gnu/include&nbsp; -g -O2&nbsp;&nbsp;&nbsp; -I/usr/include/gdal&nbsp;&nbsp;&nbsp; -DPACKAGE=\&quot;&quot;grassmods&quot;\&quot;&nbsp; -I/home/annalisa/grass_dev64/dist.i686-pc-linux-gnu/include -o OBJ.i686-pc-linux-gnu/main.o -c main.c<br>

gcc -I/home/annalisa/grass_dev64/dist.i686-pc-linux-gnu/include&nbsp; -g -O2&nbsp;&nbsp;&nbsp; -I/usr/include/gdal&nbsp;&nbsp;&nbsp; -DPACKAGE=\&quot;&quot;grassmods&quot;\&quot;&nbsp; -I/home/annalisa/grass_dev64/dist.i686-pc-linux-gnu/include -o OBJ.i686-pc-linux-gnu/strahler.o -c strahler.c<br>

gcc -I/home/annalisa/grass_dev64/dist.i686-pc-linux-gnu/include&nbsp; -g -O2&nbsp;&nbsp;&nbsp; -I/usr/include/gdal&nbsp;&nbsp;&nbsp; -DPACKAGE=\&quot;&quot;grassmods&quot;\&quot;&nbsp; -I/home/annalisa/grass_dev64/dist.i686-pc-linux-gnu/include -o OBJ.i686-pc-linux-gnu/write.o -c write.c<br>

if [ ! -d /home/annalisa/grass_dev64/dist.i686-pc-linux-gnu/scripts ]; then mkdir -p /home/annalisa/grass_dev64/dist.i686-pc-linux-gnu/scripts; fi<br>/usr/bin/install -c&nbsp; v.mainchannel <a href="http://r.strahler.sh" target="_blank">r.strahler.sh</a> <a href="http://r.broscoe.sh" target="_blank">r.broscoe.sh</a> v.strahler /home/annalisa/grass_dev64/dist.i686-pc-linux-gnu/scripts/v.mainchannel <a href="http://r.strahler.sh" target="_blank">r.strahler.sh</a> <a href="http://r.broscoe.sh" target="_blank">r.broscoe.sh</a> v.strahler<br>

/usr/bin/install: target `v.strahler&#39; is not a directory<br>make: *** [v.strahler] Error 1<br></div>&nbsp;<br>but then, if I do &quot;make install&quot; into the main GRASS directory, compiling gives me no errors and everything works fine... (all modules are at their place and everything works in GRASS, documentation too)... <br>

but how can I solve this? is the form of the Makefile uncorrect?<br><br>many thanks<br><br>Annalisa<br><br>ps: I&#39;m sorry but I&#39;m not very expert in writing-code...<br><br></div>