[英]Makefile - Unix for C program
我正在尝试在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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.