David Arturo Macias Corona <[EMAIL PROTECTED]> napisał(a):

> Using
>     make_gnu.cmd clean
> result in messages like these:
> ---------------------------------------
> SYS0002: The system cannot find the file specified.
> Error occurred while processing: os2\gcc*.*.
  I have restored double backslash in 'clean' target of makefile
in my last commit so the command will be back
"del /n os2\gcc\\*.*"
  I have no OS/2 installed to test it then I don't understand why it is
nedded to have two backslashes and why the single backslash is eaten
in gcc\*.* but it is left in os2\gcc part of the command - it seems
that the backslash is some sort of 'escape' character for CMD.

> Messages belong to this part of make_gnu.log:
> ---------------------------------------
> [E:\harbour802\source]make -C common clean
> make[2]: Entering directory `/harbour802/source/common'
> CMD.EXE /c IF EXIST os2\gcc     del /n os2\gcc\*.*
> CMD.EXE /c IF EXIST os2\gcc     rmdir os2\gcc
> CMD.EXE /c IF EXIST os2  rmdir os2
> CMD.EXE /c IF EXIST ..\..\lib\os2\gcc\hbcommon.a del /n
> ..\..\lib\os2\gcc\hbcommon.a
> make[2]: Leaving directory `/harbour802/source/common'
> ---------------------------------------

  IMHO, the above verifies that the CMD.EXE is using \* in a special
way and it removes \ during execution - probably CMD is using some
other expansion and for example "\." is also processed into "." that
will explain why "md ..\..\lib\os2" is failing - but it is only
my hypothesis.

> "md ..\..\lib\os2" and rest work fine from command line, located in
> proper directory, but seem it does not work under make process
>
> Reviewing this line:
>    CMD.EXE /c IF NOT EXIST ..\..\lib\os2   md ..\..\lib\os2
> perhaps current directory for CMD.EXE instance is not that reported by
> make process (make[2]: Entering directory `/harbour802/source/common'),
> instead it seem to be directory where make process started (
> e:\harbour802 )

  IMHO, it is not true because you definitely have "source/common/os2/gcc"
directory (see bellow your log) which means that

    CMD.EXE /c IF NOT EXIST os2   md os2
is run in the same directory as
    CMD.EXE /c IF NOT EXIST ..\..\lib\os2   md ..\..\lib\os2

> [E:\harbour802\source]make -C common first
> make[2]: Entering directory `/harbour802/source/common'
> CMD.EXE /c IF NOT EXIST os2 md os2
> CMD.EXE /c IF NOT EXIST os2\gcc    md os2\gcc
> CMD.EXE /c IF NOT EXIST ..\..\lib\os2   md ..\..\lib\os2
> CMD.EXE /c IF NOT EXIST ..\..\lib\os2\gcc    md ..\..\lib\os2\gcc
> make[3]: Entering directory `/harbour802/source/common/os2/gcc'
> gcc -I. -I../../include -I../../../../include -W -Wall -DHB_OS_OS2 -O2
> -c ../../hbfhnd.c -ohbfhnd.o

Regards, Ryszard

_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to