当前位置: 技术问答>linux和unix
makefile中使用if语句
来源: 互联网 发布时间:2016-06-27
本文导语: 见下面的代码 @if ($(strip $(STB_DMB_T))/$(PROGJECT_NAME)/include/verno.h);then (del $(strip $(STB_DMB_T))/$(PROGJECT_NAME)/include/verno.h);fi 目前的情况是可以检测到文件存在,但不能执行删除操作。 | 不明白strip...
见下面的代码
@if ($(strip $(STB_DMB_T))/$(PROGJECT_NAME)/include/verno.h);then (del $(strip $(STB_DMB_T))/$(PROGJECT_NAME)/include/verno.h);fi
目前的情况是可以检测到文件存在,但不能执行删除操作。
@if ($(strip $(STB_DMB_T))/$(PROGJECT_NAME)/include/verno.h);then (del $(strip $(STB_DMB_T))/$(PROGJECT_NAME)/include/verno.h);fi
目前的情况是可以检测到文件存在,但不能执行删除操作。
|
不明白strip一个.h文件是什么意思!
如果想删除$(STB_DMB_T))/$(PROGJECT_NAME)/include/verno.h这个文件的话
@rm -f $(STB_DMB_T))/$(PROGJECT_NAME)/include/verno.h
就可以了。
如果要判断一个文件$(STB_DMB_T))/$(PROGJECT_NAME)/include/verno.h是否存在
@if [ -e $(STB_DMB_T))/$(PROGJECT_NAME)/include/verno.h ] 即可
如果想删除$(STB_DMB_T))/$(PROGJECT_NAME)/include/verno.h这个文件的话
@rm -f $(STB_DMB_T))/$(PROGJECT_NAME)/include/verno.h
就可以了。
如果要判断一个文件$(STB_DMB_T))/$(PROGJECT_NAME)/include/verno.h是否存在
@if [ -e $(STB_DMB_T))/$(PROGJECT_NAME)/include/verno.h ] 即可
|
strip又不是删除文件的命令(rm才是),strip一般是用来删除可执行程序或.o目标文件中的调试信息的。当我们用gcc -g来编译一个文件时,就会在生成的文件中插入调试信息,这可以方便我们启动gdb来对可执行程序进行高度。对这些带有调试信息的文件,如果你不想再重新编译成无调试信息的文件,就可以直接用strip来就会删除调试信息而无需重新编译程序,这样可执行程序的体积就会减小。