20040925 发表于 2012-09-06 13:32

自动推导的makefile的问题

本帖最后由 20040925 于 2012-09-06 13:32 编辑

objects = main.o kbd.o command.o display.o insert.o search.o files.o utils.o
edit : $(objects)
         gcc -o edit $(objects)
如果makefile写成这样,编译main.o kbd.o command.o display.o insert.o search.o files.o utils.o的时候语法是怎么样的,这种情况下就无法指定CFLAGS,CC等变量了吧?

MMMIX 发表于 2012-09-06 14:12

本帖最后由 MMMIX 于 2012-09-06 14:13 编辑

回复 1# 20040925


    make 有一些默认或者说内置规则,main.o 这些没有指定规则的目标会通过这些默认规则编译。如果你用 GNU make 的话,可以通过 make -p 看到其所有的默认规则。这种情况下,CFLAGS 这些变量是否有用,要看对应的默认规则是怎么写的。

20040925 发表于 2012-09-06 14:34

回复 2# MMMIX

这些默认规则是什么时候生成的,可以修改吗?在既要兼顾本地编译和交叉编译的情况下,好像只能修改makefile了,自动推导没法用了
   

MMMIX 发表于 2012-09-06 14:53

20040925 发表于 2012-09-06 14:34 static/image/common/back.gif
回复 2# MMMIX

这些默认规则是什么时候生成的,可以修改吗?

是写在 GNU make 程序源码中的。

20040925 发表于 2012-09-06 15:10

回复 4# MMMIX


    谢谢

伤不起 发表于 2012-09-06 23:27

李云那本书里对Makefile写得很多,很不错。。。

20040925 发表于 2012-09-07 09:05

回复 6# 伤不起


    谢谢,我下载看一下

伤不起 发表于 2012-09-07 09:08

回复 7# 20040925


    书名:《专业嵌入式软件开发---全面走向高质高效编程》
页: [1]
查看完整版本: 自动推导的makefile的问题