对 linux C 编程 makefile书写的疑问
时间:2011-02-12
来源:互联网
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,求高手帮解答一下。
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,求高手帮解答一下。
作者: feilongzafei 发布时间: 2011-02-12
CC,CFLAGS,LDFLAGS,LIBS一坨驮的都是变量的定义
make程序在解析makefile的时侯会把变量引用$(VAR)都替换成相应的定义,当然变量不赋值也是可以的,替换出来就是空
楼主这个应该是个模板文件,把gcc的参数按作用分类放到了几个变量里,这样要改gcc的参数,只要修改几个变量就行了,比较方便。这个并不是makefile要求要这么写。
make程序在解析makefile的时侯会把变量引用$(VAR)都替换成相应的定义,当然变量不赋值也是可以的,替换出来就是空
楼主这个应该是个模板文件,把gcc的参数按作用分类放到了几个变量里,这样要改gcc的参数,只要修改几个变量就行了,比较方便。这个并不是makefile要求要这么写。
作者: imhotep1983 发布时间: 2011-02-12
1楼都说了。
如果是自己这个程序使用的Makefile,可以十分简单,不过,一般地,每个人都会有自己的模板,这样,只修改几个地方就可以适合不同的程序了。
所有的变量都在这句体现了:
$(CC) -o $@ $(LDFLAGS) $^ $(LIBS)
——当然,还有其它地方。
如果是自己这个程序使用的Makefile,可以十分简单,不过,一般地,每个人都会有自己的模板,这样,只修改几个地方就可以适合不同的程序了。
所有的变量都在这句体现了:
$(CC) -o $@ $(LDFLAGS) $^ $(LIBS)
——当然,还有其它地方。
作者: subfate 发布时间: 2011-02-12
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28