求救,关于Makefile里的shell编程和make 对象的问题!!!
在makefile中使用shell编程的方式对变量进行赋值一般可以采用如下方式
SUBDIR :sh= echo src src1 (即把src 和src1赋给变量SUBDIR)
但是好象没有甚么作用。
另外一种是使用 SUBIR := $(shell echo src src1 ) 是可以的。
但是我想把像 if [ -d src/aaa ]
then
echo aaa
fi
这种需要判断的shell程序加入到 SUBDIR中,不知道行不行。 即
SUBDIR := $(shell if [ -d src/aaa ])
then
echo aaa
fi)
像这种形式的程序,如何在makefile中使用?
我不想用 SUBDIR :=$(sell ./sh) 这种把结果输出到一个本地shell中。
而是直接在makefile的变量里进行判断。
问题2:
在makfile中如下写法
SUBDIRS := $(shell $(SRC)/finddir.sh)
install:= TARGET = install
all:= TARGET = all
lint:= TARGET = lint
clean:= TARGET = clean
install all lint clean : $(SUBDIRS)
$(SUBDIRS):FRC
cd $@ ; $(MAKE) $(TARGET)
FRC:
执行make all 或是 make clean 时,变量 TARGET好象根本就没有传进去,不知道为什么,总是执行 make 这个命令,即开始编译程序, 而不去执行make clean。 把 $(TARGET) 打印出来也是空的。不知道为甚么TARGET没有传进去。
请教高手!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论