[docs] Re: make and space in filenames

Alexander Bokovoy a.bokovoy на sam-solutions.net
Чт Дек 4 15:46:11 MSK 2003


On Thu, Dec 04, 2003 at 03:03:55PM +0300, Vitaly Ostanin wrote:
> On Thu, 4 Dec 2003 15:03:43 +0300
> "Oleg A. Paraschenko" <olpa на xmlhack.ru> wrote:
> 
> >   Привет!
> > 
> > On Thu, 4 Dec 2003 14:11:59 +0300
> > Vitaly Ostanin <vyt на vzljot.ru> wrote:
> > 
> > > Hello, All!
> > > 
> > > Как выяснилось, Makefiles из cvs docs не понимают пути,
> > > содержащие пробелы. Экранирование кавычами " не помогает.
> > 
> >   Покажи, что именно хочешь сделать. Передать параметр из
> >   командной
> > строки? Или определить внутри Makfile? Откуда вообще взялись
> > пробелы?
> 
> make MAKEFILES_DIR="some path" ...
Это не имеет никакого отношения к Make -- эти кавычки раскрывает оболочка,
а Вам надо передать еще кавычки в оболочку, вызываемую Make.

Makefile:
# ---------------------
all:
	echo $(FOO)
	touch $(FOO)
	ls -l $(FOO)
# ---------------------

Сравните:
$ make FOO="test 1"
echo test 1
test 1
touch test 1
ls -l test 1
-rw-r--r--    1 ab       ab              0 Снж  4 14:44 1
-rw-r--r--    1 ab       ab              0 Снж  4 14:44 test

$ make FOO='"test 1"'
echo "test 1"
test 1
touch "test 1"
ls -l "test 1"
-rw-r--r--    1 ab       ab              0 Снж  4 14:44 test 1


Так что в самом Makefile ничего править не надо.
-- 
/ Alexander Bokovoy
Samba Team                      http://www.samba.org/
ALT Linux Team                  http://www.altlinux.org/
Midgard Project Ry              http://www.midgard-project.org/



Подробная информация о списке рассылки docs