当前位置: 技术问答>linux和unix
100分请教高手一个make文件ifeq的问题
来源: 互联网 发布时间:2016-11-07
本文导语: 写一个Makefile,如下: 1 myvar = test 2 all:1.c mytarget 3 gcc 1.c -o a.out 4 echo "all" 5 mytarget: 6 $(call myfun) 7 8 define myfun 9 echo "myfun" 10 echo $(CC) 11 ifeq (a,a) 12 Foo = test...
写一个Makefile,如下:
make执行,提示:
请问这个ifeq的写法有什么问题,哪里导致出错?
1 myvar = test
2 all:1.c mytarget
3 gcc 1.c -o a.out
4 echo "all"
5 mytarget:
6 $(call myfun)
7
8 define myfun
9 echo "myfun"
10 echo $(CC)
11 ifeq (a,a)
12 Foo = test
13 else
14 Foo = test
15 endif
16 endef
make执行,提示:
echo "myfun"
myfun
echo cc
cc
ifeq (a,a)
/bin/sh: Syntax error: word unexpected (expecting ")")
make: *** [mytarget] 错误 2
Shell 已返回2
请问这个ifeq的写法有什么问题,哪里导致出错?
|
try this:
1
2 myvar = test
3 all: mytarget
4 gcc 1.c -o a.out
5 echo "all"
6 mytarget:
7 $(call myfun)
8
9 define myfun
10 echo "myfun";
11 echo $(CC);
12 if [ a == a ]; then
13 Foo=test;
14 else
15 FOO=123;
16 fi;
17 endef
需要用shell命令,注意行尾的分号及
1
2 myvar = test
3 all: mytarget
4 gcc 1.c -o a.out
5 echo "all"
6 mytarget:
7 $(call myfun)
8
9 define myfun
10 echo "myfun";
11 echo $(CC);
12 if [ a == a ]; then
13 Foo=test;
14 else
15 FOO=123;
16 fi;
17 endef
需要用shell命令,注意行尾的分号及
|
见10L的例子,为什么一定要用ifeq?
|
这种用法不支持!