删除makefile中的*.o不是清理文件

删除makefile中的*.o不是清理文件,makefile,vxworks,building,rm,Makefile,Vxworks,Building,Rm,在makefile的clean中,我像rm-rf*.o一样编写。但这不是清理文件。如果我给了rm-rf libdummy.o,那么它会正确地清洗它。因此,如果我使用*,它不会像预期的那样工作 clean: rm -rf *.o rm -rf dummy.a 输出是 [exec] rm -rf *.o [exec] rm -rf dummy.a 如果文件夹有a.o、b.o和dummy.a。清理后,a.o和b.o在该文件夹中显示其EFL,dummy.a已被删除 注:我正在wi

在makefile的clean中,我像rm-rf*.o一样编写。但这不是清理文件。如果我给了rm-rf libdummy.o,那么它会正确地清洗它。因此,如果我使用*,它不会像预期的那样工作

clean: rm -rf *.o rm -rf dummy.a 输出是

[exec] rm -rf *.o [exec] rm -rf dummy.a 如果文件夹有a.o、b.o和dummy.a。清理后,a.o和b.o在该文件夹中显示其EFL,dummy.a已被删除

注:我正在windows中执行此make,使用tornado 2.2包为vxworks构建。makefile中的make、cd、cp、rm等所有命令都是从tornado包执行的。 没有名为clean的文件名。更多关于我已经宣布清洁作为虚假标签也

下面的讨论与我的问题不同


在Unix环境中,诸如*.o之类的通配符的扩展在调用诸如rm之类的其他程序之前由shell处理。如果我没记错的话,Tornado不包括Unix样式的shell。我怀疑它的make使用cmd.exe来调用命令。cmd.exe不像Unix shell那样进行通配符扩展。它只需将*.o传递给rm,由于-f选项,rm会默默地忽略它


如果这是问题的原因,您可以使用Windows del命令,它自己进行通配符扩展,也可以让make通过编写rm-rf$wildcard*.o来进行通配符扩展。

在Unix环境中,类似*.o的通配符扩展由shell在调用类似rm的其他程序之前进行处理。如果我没记错的话,Tornado不包括Unix样式的shell。我怀疑它的make使用cmd.exe来调用命令。cmd.exe不像Unix shell那样进行通配符扩展。它只需将*.o传递给rm,由于-f选项,rm会默默地忽略它


如果这是问题的原因,您可以使用Windows del命令,该命令执行其自身的通配符扩展,也可以让make通过编写rm-rf$wildcard*.o来执行通配符扩展。

确保在对象声明之后在makefile中包含以下内容: 所有人:[你的高管姓名]干净


**刚刚解决了我的makefile问题,因为必须显式声明clean。

请确保在对象声明后的makefile中包含以下内容: 所有人:[你的高管姓名]干净


**刚刚解决了我的makefile问题,因为必须明确声明clean。

您可能应该发布makefile的相关部分发布make run输出的相关部分。您可能应该发布makefile的相关部分发布make run输出的相关部分。