Chinaunix首页 | 论坛 | 博客
  • 博客访问: 168388
  • 博文数量: 30
  • 博客积分: 296
  • 博客等级: 二等列兵
  • 技术积分: 407
  • 用 户 组: 普通用户
  • 注册时间: 2010-06-16 21:37
个人简介

a

文章分类

全部博文(30)

文章存档

2016年(1)

2015年(8)

2014年(1)

2013年(11)

2012年(6)

2011年(1)

2010年(2)

分类: C/C++

2013-02-19 22:54:10

内置变量
$@: 表示规则中的目标文件集
$<: 依赖目标中的第一个目标名字。如果依赖目标是以模式定义的,那么$<是符合模式的一系列的文件集。文件是一个一个取出的。
$?: 所有比目标新的依赖目标的集合。
$^: 所有依赖目标的集合。(去除重复)
$+: 与$^相似,区别是此变量不去除重复。

取得当前目录下源文件列表
SRCS=$(wildcard *.c)
目标文件列表
OBJS=$(SRCS:.c=.o)

取得文件名(不含目录)
SRCS=$(wildcard ~/test/*.c)
FILENAME=$(notdir $(SRCS))

伪目标
.PHONY:all

显示命令,不执行,调试用

make -n 


目标文件生成在当前目录下

.c.o:
$(CC) -c $(CFLAGS) $(INCDIR) $<

目标文件生成在依赖文件所在目录下
.c.o:
$(CC) -c $(CFLAGS) $(INCDIR) $< -o $(<:.c=.o)

.c.o:
$(CC) -c $(CFLAGS) $(INCDIR) $< -o $*.o

阅读(1997) | 评论(0) | 转发(3) |
给主人留下些什么吧!~~