[英]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.