学习makefile语法(1)
来源:互联网 发布:广告铃声制作软件 编辑:程序博客网 时间:2024/05/21 10:38
<c语言核心技术>Makefile学习:
关于两个文件的makefile:
CC=gcc
CFLAGS = -Wall -g -std=c99
LDFLAGS = -lm
circle:circle.o circulararea.o
$(CC) $(CFLAGS) -o $@ $^
circle.o:circle.c
$(CC) $(CFLAGS) -o $@ -c $<
circulararea.o:circulararea.c
$(CC) $(CFLAGS) -o $@ -c $<
***********************************************************
格式如下:
目标:前提
命令
$@:目标
$^:前提
$<:展开成一个前提
****************************************************************
脚本命令:
当make引用一个规则以建立目标时,此规则中每一行命令都分别以独立的shell实例被分别执行。
*****************************************************
模式规则:
circle.o:circle.c
$(CC) $(CFLAGS) -o $@ -c $<
circulararea.o:circulararea.c
可以做如下的一个提换:$(CC) $(CFLAGS) -o $@ -c $<
circulararea.o circle.o:%.0:%.c
$(CC) $(CFLAGS) -o $@ -c $<
也可以如下写:
%.o:%.c
$(CC) $(CFLAGS) -o $@ -c $<
***********************************************************
后缀规则:
.c.o:
$(CC) $(CFLAGS) -o $@ -c $<
比较老了.
**********************************************************
内置规则:
CC=gcc
CFLAGS = -Wall -g -std=c99
OBJ = circle.o circularea.o
circle:$(OBJ) -lm
*********************************************************
隐式规则链:
目标不具有明显的规则,并带有命令脚步,则make会试着使用隐式规则。从纵多的规则中选一个最先合要求的。
如当前目录只有一个square.c文件:
makefile:
%:%.o
cc -o $@ $^
%.o:%.c
cc -c -o $@ $<
如果中间对象没有在,makefile或命令行中被提及,在最后会自动的清除中间对象文件。
**********************************************************
双冒号规则:
目标::前提
命令
二择一执行:分别测试目标和每一个规则的前提,以决定是否执行此规则的脚本。
**********************************************************
- 学习makefile语法(1)
- linux 之makefile语法学习1
- Makefile语法学习
- Makefile语法学习
- Makefile语法学习
- makefile的语法和写法(1)
- Makefile学习(1)
- Makefile学习(1)
- makefile学习经验(1)----初识Makefile
- makefile常用语法讲解(1)
- Makefile语法详解1 (转)
- makefile常用语法讲解(1)
- Makefile 学习笔记 (1)
- makefile 文件的语法及相关知识(1)
- Makefile 语法
- makefile语法
- makefile语法
- Makefile语法
- 深入理解l内核v4l2框架之video for linux 2
- Linux2.6.37 I2C驱动框架分析(二)
- "阿爸的虱目鱼" - 萧煌奇
- Oracle nologging
- LeetCode Merge Two Sorted Lists
- 学习makefile语法(1)
- Oracle Database Compression 3 - Hybrid Columnar Compression
- UVa:10717 Mint
- flume ng配置拓扑图
- Oracle Database Compression 1 - Basic Compression
- 从这段工作中学到的东西
- Linux2.6.37 I2C驱动框架分析(三)
- mono touch中,Async/Await 关键词应用举例
- MOSFET结构及其工作原理详解