簡體   English   中英

Makefile-用於C程序的Unix

[英]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重命名為makefileMakefile ,然后僅使用

make

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM