0
A
回答
1
對此,有一個implicit rule。比方說,你有下面的Makefile:
CC=cc -g
all: client
client: client.c
$(CC) client.c -o client
clean:
-rm -f client
如果你只是想在目標文件,然後你只需要運行:
$ make client.o
,你會得到的目標文件。然而,你也可以寫一個明確的規則,如:
%.o: %.c
$(CC) -c $<
以前的規則是從任何.c
文件對象(.o
)文件建立的規則。 $<
有助於獲取規則所依賴的文件的名稱。
如果你有幾個對象的文件,你可能要定義變量,則:
objects = client.o foo.o bar.o
client: $(objects)
$(cc) -o [email protected] $(objects)
$(objects): config.h
clean:
-rm -f client $(objects)
在這種情況下,objects
是要編譯的目標文件相關的變量。在規則client
中用作鏈接它們的依賴關係和參數,它也用於定義依賴於頭文件的規則(本例中爲config.h
),而finalle用於clean
規則以刪除它們以開始全部再次。
[email protected]
是規則名稱的替換。在最後一種情況下,它將是client
。
manual of GNU Make包含很多應該啓發你的學習過程的例子。
相關問題
- 1. 如何根據gnumake中的目標使用不同值CC取決於gnumake中的目標
- 2. 如何gnumake的
- 3. 你可以使用makefile從.o目標文件創建一個C++文件嗎?
- 4. 如何創建或編寫STDF文件?
- 5. 如何編寫文件創建腳本?
- 6. 編譯Mach-o手臂目標文件
- 7. 如何在生成文件中爲目標創建文件夾
- 8. 如何自動創建.o文件
- 9. 如何編寫批量文件以從源複製到目標
- 10. 如何創建制作目標文件
- 11. 如何在目標C中編寫二進制文件?
- 12. 如何創建僅在必要時運行的MSBuild目標
- 13. 創建目標文件中的文件
- 14. 如何編寫生成文件以在不同的目錄中生成目標文件和可執行文件?
- 15. 在目標中創建epub文件c
- 16. 如何在純javascript中創建和編寫臨時文件?
- 17. 如何在文件中編寫由程序創建的圖片?
- 18. 如何在python中編寫/創建GeoTIFF RGB圖像文件?
- 19. 如何在Java中創建Avro文件時編寫聯合
- 20. 如何爲在NetBeans中編寫的項目創建安裝文件?
- 21. 如何讓scons在構建目錄中編寫構建的目標?
- 22. 如何編寫一個基於GNUMAKE的testharness
- 23. 如何結合目標文件(.o)爲iOS創建靜態庫(.a)?
- 24. 如何使用C文件I/O在Ubuntu上創建文件
- 25. 如何在java中創建動態路徑並以java編寫文件數據
- 26. 如何以編程方式創建NDepend項目文件?
- 27. 如何使用GNUMake指定目標相關的先決條件?
- 28. 創建一個文件夾以編程方式在Xcode中 - 目標C
- 29. 如何編寫httphandler以僅攔截特定文件夾中的文件
- 30. 如何編寫Makefile規則以僅在文件丟失時下載文件?
這就是我所說的「僅鏈接部分」。不用說,它不起作用。你碰巧知道我做錯了什麼? – usustarr
如果沒有錯誤信息並且沒有正在處理的Makefile,很難說。 – gpoo