makefile 基础知识

$@    目标文件名

$< 第一个依赖文件名

$^ 规则所有依赖文件列表

 

如果不想让执行语句被打印出来,就在语句前面加上@符号

 

模式规则

%.o:%.c

后缀规则

.c.o

 

生成单进程的Makefile

 

PHONY:clean

OBJECTS = main.o add.o sub.o
CFLAGS = -Wall -g
CC = gcc

app:$(OBJECTS) 
$(CC) $(CFLAGS) $^ -o $@

%.o:%.c
$(CC) $(CFLAGS) -c $< -o $@

clean:
rm -f *.o app

 

生成多进程的Makefile

 

.PHONY:clean all


BIN=test1 test2
CFLAGS=-Wall -g
CC=gcc


all:$(BIN)

test1:test1.o
        $(CC) $(CFLAGS) $^ -o $@

test2:test2.o
        $(CC) $(CFLAGS) $^ -o $@

%.o:%.c
        $(CC) $(CFLAGS) -c $< -o $@

clean:
        rm $(BIN) *.o

posted @ 2015-02-26 10:16  superPerfect  阅读(143)  评论(0编辑  收藏  举报