LINUX.ORG.RU

makefile -> wildcard


0

0

TEST := $(wildcard *.c )
another_TEST := test ok

all:
<tab><tab>@echo "starting..."
<tab><tab>@echo $(TEST)
<tab><tab>@echo $(another_TEST)

$make all
starting...

test ok
$ls
Makefile   test.c   fd.c  kle.c  prog.c  sd.c  sd.o  rt.o  
$uname -rs
FreeBSD 5.1

make какой шел с фрёй такой и есть(не обновлял)

Вопрос : почему при make all не выводится файлы fd.c, test.c, kle.c, prog.c и sd.c?
anonymous

man make
info make не помог?

во первых не присваивание просто :=, а не =

во-вторых проще так
cat Makefile
TEST=`ls *.c`

all:
<tab>echo $(TEST)

anonymous
()
Ответ на: комментарий от anonymous

from man make = Assign the value to the variable. Any previous value is overrid- den.

:= Assign with expansion, i.e. expand the value before assigning it to the variable. Normally, expansion is not done until the vari- able is referenced. ....

anonymous
()

Счас я под виндой, соответственно MinGW make:

D:\work>make -f mak
starting...
c_comment.c crc16.c crc8.c cur_test.c hash32.c
test ok

D:\work>make -v
GNU Make version 3.79.1, by Richard Stallman and Roland McGrath.
Built for i686-pc-msys
Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000
Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

Report bugs to <bug-make@gnu.org>.

OlegY
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.