最近有人提到Makefiles中的目標.c.o
是爲了交叉兼容性,但我不明白它的目的。任何人都可以澄清?什麼是Makefile目標`.c.o`?
23
A
回答
27
這是一個old-fashioned suffix rule。越達最新的方式來做到這一點是使用pattern rule:
%.o : %.c
2
這是一個用於將.c
文件(即C模塊)翻譯爲.o
目標文件的固定規則。它存在,所以您不必親自編寫此規則,並通過Make變量(例如CC
(要使用C編譯器),CFLAGS
(編譯器標誌)等進行參數設置。)
因此,如果使用此隱式規則爲了編譯C模塊並且不要修改任何Make變量,那麼構建代碼的人可以在命令行上指定一個編譯器和標誌而不用編輯Makefile。
+2
,但你可以做到這一點的模式規則,以及:'讓「CC = gcc的」'例如 – chacham15 2012-02-10 19:20:16
+1
@ chacham15:這是對。 '.c.o'是做這件事的較早的方式。 – 2012-02-10 19:21:24
相關問題
- 1. 的makefile,什麼是幾個子目錄
- 2. 什麼是makefile中的歸檔目標成員名稱?
- 3. 目標在Makefile中的作用是什麼?
- 4. MakeFile目標目錄
- 5. 什麼是$ @和$ <Makefile?
- 6. 什麼是makefile中的CPP_LINK?
- 7. makefile的用途是什麼?
- 8. 什麼是makefile的C++的
- 9. EnsureNuGetPackageBuildImports目標是什麼?
- 10. ObjectMapper的目標是什麼?
- 11. 什麼是「制定目標」?
- 12. Makefile目標衝突
- 13. 覆蓋Makefile目標
- 14. 爲什麼這個makefile刪除了我的目標?
- 15. 爲什麼我的makefile目標特定變量不起作用?
- 16. 目標「.cpp.o:」在Makefile中意味着什麼?
- 17. 爲什麼以下makefile重建目標「build」
- 18. 通配符Makefile中(這是什麼$(1)是什麼意思?)
- 19. Makefile目標依賴於目標是否已存在
- 20. 什麼是TARGET_ARCH變量的目的Makefile中
- 21. 在makefile中,目錄名稱是僞目標還是「真實」目標?
- 22. makefile符號$ @和$ <是什麼意思?
- 23. Makefile中「dollar less than」是什麼意思?
- 24. 「@」在makefile中的含義是什麼?
- 25. 是什麼意思的Makefile在CUDA common.mk
- 26. makefile中鏈接的順序是什麼?
- 27. 在Makefile中,CC?=是什麼意思?
- 28. makefile中.refresh的用途是什麼?
- 29. Makefile中'%'的語義是什麼?
- 30. 這些Makefile結構是什麼意思?
這就是我所熟悉的,謝謝! – chacham15 2012-02-10 19:18:54