最近有人提到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