对 linux C 编程 makefile书写的疑问

feilongzafei 2011-02-12 09:55:56
CC=gcc
CFLAGS=-Wall -g -DDEBUG
LDFLAGS=
LIBS=

all: 1-1

1-1: 1-1.c
$(CC) -o $@ $(LDFLAGS) $^ $(LIBS)

clean:
rm -rf *.o

初学linux

对CFLAGS,LDFLAGS,LIBS的疑问,不知具体都什么作用
CFLAGS还行,赋了值,而LDFLAGS,LIBS = 空,为什么还要写,难道是为了书写标准makefile,求高手帮解答一下。
...全文
187 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuchaoding 2011-02-20
  • 打赏
  • 举报
回复
是一个模板文件的,不用管它
dengnice 2011-02-20
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 feiyinzilgd 的回复:]

LZ发了一些列的帖子。网友回复了。但是LZ不善于通过网友的回复自己去思考
自己不思考怎么会懂。

对 linux C 编程 makefile书写的疑问
对 linux C 编程 makefile书写的疑问(二)
对 linux C 编程 makefile书写的疑问(三)
[/Quote]
威武~
feilongzafei 2011-02-20
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 feiyinzilgd 的回复:]
LZ发了一些列的帖子。网友回复了。但是LZ不善于通过网友的回复自己去思考
自己不思考怎么会懂。

对 linux C 编程 makefile书写的疑问
对 linux C 编程 makefile书写的疑问(二)
对 linux C 编程 makefile书写的疑问(三)
[/Quote]

哦,是这样的,问了一些新问题,而再想问问题,网友一般不会看下面的问题,所以发了好几篇,谢谢您啊!
谭海燕 2011-02-14
  • 打赏
  • 举报
回复
LZ发了一些列的帖子。网友回复了。但是LZ不善于通过网友的回复自己去思考
自己不思考怎么会懂。

对 linux C 编程 makefile书写的疑问
对 linux C 编程 makefile书写的疑问(二)
对 linux C 编程 makefile书写的疑问(三)

feilongzafei 2011-02-14
  • 打赏
  • 举报
回复
继续问一下:求细解
braveyly 2011-02-14
  • 打赏
  • 举报
回复
CC=gcc
CFLAGS=-Wall -g -DDEBUG
LDFLAGS=
LIBS=

================
aa=gcc
bb=-Wall -g -DDEBUG
cc=
dd=

随便怎么写,只要符合makefile变量定义规则,以及在后面使用匹配就够了
ALLSTARONE 2011-02-13
  • 打赏
  • 举报
回复
LDFLAGS是定义连接的!!!LIBS定义的是要编译的文件等
feilongzafei 2011-02-13
  • 打赏
  • 举报
回复
谢谢各位!
dragonbooker 2011-02-13
  • 打赏
  • 举报
回复
推荐一个资料,GNU_make中文版.pdf csdn有的下,读一下几乎全明白了
李迟 2011-02-12
  • 打赏
  • 举报
回复
1楼都说了。
如果是自己这个程序使用的Makefile,可以十分简单,不过,一般地,每个人都会有自己的模板,这样,只修改几个地方就可以适合不同的程序了。
所有的变量都在这句体现了:
$(CC) -o $@ $(LDFLAGS) $^ $(LIBS)
——当然,还有其它地方。
imhotep1983 2011-02-12
  • 打赏
  • 举报
回复
CC,CFLAGS,LDFLAGS,LIBS一坨驮的都是变量的定义
make程序在解析makefile的时侯会把变量引用$(VAR)都替换成相应的定义,当然变量不赋值也是可以的,替换出来就是空
楼主这个应该是个模板文件,把gcc的参数按作用分类放到了几个变量里,这样要改gcc的参数,只要修改几个变量就行了,比较方便。这个并不是makefile要求要这么写。

23,130

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧