Makefile - 用于C程序的Unix

问题描述 投票:0回答:1

我想在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
c gcc makefile
1个回答
2
投票

当我在我的makefile上运行“make”时,它只会说“'mkFile'是最新的”,其中mkFile是我的makefile的名称。

这向我表明您使用以下命令行:

make mkFile

当你使用它时,它认为它需要构建名为mkFile的目标。

你需要使用:

make -f mkFile

当你使用它时,它向make表明make的目标和依赖关系是在名为mkFile的文件中定义的。


另一种选择是将mkFile重命名为makefileMakefile然后使用

make
© www.soinside.com 2019 - 2024. All rights reserved.