Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C Makefile-只需进行安装(复制文件),无需构建目标_C_Makefile - Fatal编程技术网

C Makefile-只需进行安装(复制文件),无需构建目标

C Makefile-只需进行安装(复制文件),无需构建目标,c,makefile,C,Makefile,我有一个简单的makefile项目,我只想makeinstall将文件复制到目标文件夹,即: all: @echo "Nothing to build" install: cp ./*.wav /usr/share/snd my_custom_target: @echo "For testing purposes" 然而,每当我尝试构建任何目标(例如:clean、all、install、my_custom_target等),每一个目标都会回应“对于‘clean’”、“对于

我有一个简单的makefile项目,我只想
makeinstall
将文件复制到目标文件夹,即:

all:
   @echo "Nothing to build"

install:
   cp ./*.wav /usr/share/snd

my_custom_target:
   @echo "For testing purposes"
然而,每当我尝试构建任何目标(例如:clean、all、install、my_custom_target等),每一个目标都会回应“
对于‘clean’
”、“
对于‘all’
”什么都不做”等。我的猜测是,makefile项目至少需要构建一些东西(例如:C/C++文件等)

有人对如何进行这项工作有什么建议吗


谢谢。

这似乎表明
make
无法找到或无法正确解析您的Makefile。文件名是什么

另外,确保每个规则中的命令(如
cp./*.wav/usr/share/snd
)都以实际制表符作为前缀,而不是空格。在粘贴的示例中,它们的前缀仅为三个空格,但要使
make
正确解析,它们需要以实际的制表符作为前缀

还要检查的是是否有名为
all
install
、或
my\u custom\u target
的文件。使不关心是否建立了一些C或C++文件;规则可以做任何你想做的事。但它会检查是否有与规则名相同的文件,以及是否比规则的依赖项更新。如果有一个文件,并且它比所有依赖项都新(或者没有依赖项,如本例中所示),那么它将决定无需执行任何操作。为了避免这种情况,添加一个
.PHONY
声明,表明这些是虚假目标,与要生成的实际文件不对应;然后,
make
将始终运行这些配方,无论是否有同名的最新文件

.PHONY: all install my_custom_target