$@ 目标文件
$^ 所有的依赖文件
$< 第一个依赖文件
默认的Make文件
#
# 编译第一个GTK程序
# Auth : PeiZhengfeng
# Date : 2008-05-11 7:29:29
#
cc=gcc
INCLUDE=.
CFLAGS=`pkg-config --libs --cflags gtk+-2.0`
first: first.o
$(CC) -o first first.o $(CFLAGS) -I$(INCLUDE)
first.o : first.c
$(CC) -c first.c $(CFLAGS) -I$(INCLUDE)
利用变量后的Makefile文件
#
# Auth : PeiZhengfeng
# Date : 2008-05-10 12:39:14
# Purpose : 编译base.c
# GTK+例子
cc=gcc
INCLUDE=.
CFLAGS=`pkg-config gtk+-2.0 --libs --cflags`
helloworld : helloworld.o
$(CC) -o $@ $^ $(CFLAGS) -I$(INCLUDE)
helloworld.o : helloworld.c
$(CC) -c $< $(CFLAGS) -I$(INCLUDE)
clean:
rm -rf *.o
make的默认规则
..c.o:
gcc -c $<
这个规则表示所有的.o文件都是依赖与相应的.c文件的。
最终的Makefile
#
# Auth : PeiZhengfeng
# Date : 2008-05-10 12:39:14
# Purpose : 编译base.c
# GTK+例子
cc=gcc
INCLUDE=.
CFLAGS=`pkg-config gtk+-2.0 --libs --cflags`
helloworld : helloworld.o
$(CC) -o $@ $^ $(CFLAGS) -I$(INCLUDE)
..c.o:
gcc -c $<
clean:
rm -rf *.o
阅读(740) | 评论(0) | 转发(0) |