[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: VPATH problem using make under Windows
From: |
Eli Zaretskii |
Subject: |
Re: VPATH problem using make under Windows |
Date: |
Wed, 28 Apr 2004 20:48:29 +0200 |
> From: Dale Macdonald <address@hidden>
> Date: 28 Apr 2004 11:37:36 +0200
>
> I have tried :
>
> VPATH = C:\common
> VPATH = \common
> VPATH = C:/common
> VPATH = /common
>
> and even
>
> VPATH = C:\\common
I think all of them should have worked, but it's best to use either
C:/common or C:\\common.
> process_begin: CreateProcess((null), rm -f maino.c, ...) failed.
> make (e=2): The system cannot find the file specified.
I think this happens because you don't have rm.exe installed. Find a
ported `rm', put it somewhere on your PATH, and this problem should go
away.
> FlagShip PRO (unlimited users)
> (c) Copyright 1989..2004 by multisoft GmbH Munich/Germany
> -- FS compiler phase:
> c:/thorsten/common/subfuncs.bp(1): Error, illegal file and procedure
> name
> Invalid switch - "thorsten".ommon/subfuncs.prg
>
> Invalid switch - "thorsten".
This means that FlagShip doesn't grok file names with forward slashes.
As a simple band-aid, try quoting all file names in the rule commands,
so that FlagShip gets "c:/thorsten/common/subfuncs.bp" (with the
quotes), and see if that helps. If that doesn't help, you will have
to fall back on an ugly trick: use $(subst) to replace forward slashes
into backslashes. For example, instead of this rule:
.prg.obj:
$(COMP) -c $<
use this (UNTESTED):
.prg.obj:
$(COMP) -c $(subst /,\,$<)
> -- C compiler and linker phase:
> subfuncs.c
> c:/thorsten/common/subfuncs.c(2621) : error C2143: syntax error :
> missing '{' be
> fore ':'
> c:/thorsten/common/subfuncs.c(2621) : error C2059: syntax error : ':'
> Invalid switch - "thorsten".
Same problem with forward slashes here.
> process_begin: CreateProcess((null), rm -f subfuncs.c, ...) failed.
> make (e=2): The system cannot find the file specified.
Same problem with missing rm.exe here.