Makefile - 用于C程序的Unix
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Makefile - 用于C程序的Unix相关的知识,希望对你有一定的参考价值。
我想在linux上制作一个makefile。当我在我的makefile上运行“make”时,它只会说“'mkFile'是最新的”,其中mkFile是我的makefile的名称。在运行make命令之前,我没有任何.o文件或已编译的程序。我只在目录中有C文件,所以我不知道为什么它不会生成可执行文件和.o文件。我有5个文件:Main.c,convertSentence.c,convertAll.c,convertSentence.h和convertAll.h
Main.c包含convertAll.h,convertAll.c包含convertAll.h。
这是我的代码:
main: Main.o convertSentence.o convertAll.o
gcc -o program Main.o convertSentence.o convertAll.o
Main.o: Main.c convertAll.h
gcc -c Main.c
convertAll.o: convertAll.c convertSentence.h
gcc -c convertAll.c
convertSentence.o: convertSentence.c
gcc -c convertSentence.c
clean:
rm *.o
答案
当我在我的makefile上运行“make”时,它只会说“'mkFile'是最新的”,其中mkFile是我的makefile的名称。
这向我表明您使用以下命令行:
make mkFile
当你使用它时,它认为它需要构建名为mkFile
的目标。
你需要使用:
make -f mkFile
当你使用它时,它向make
表明make
的目标和依赖关系是在名为mkFile
的文件中定义的。
另一种选择是将mkFile
重命名为makefile
或Makefile
然后使用
make
以上是关于Makefile - 用于C程序的Unix的主要内容,如果未能解决你的问题,请参考以下文章
用于 C/C++ 的便携式 zip 库(不是应用程序)[关闭]