码迷,mamicode.com
首页 > 其他好文 > 详细

Makefile

时间:2017-12-18 01:12:30      阅读:96      评论:0      收藏:0      [点我收藏+]

标签:规则   pre   连接   makefile   test   isp   splay   comm   头文件   

1.0 

hello:hello.c
    gcc -o hello hello.c

#连接
hello:hello.o
    gcc -o hello hello.o
#编译
hello.o:hello.S
    gcc -c hello.S -o hello.o
#汇编
hello.S:hello.i
    gcc -S hello.i -o hello.S
#预编译
hello.i:hello.c
    gcc -E hello.c -o hello.i
.PHONY:
clean:
    rm -rf hello.i hello.o hello.S hello
    echo gcc complete

2.0

Kindle:main.o kdb.o  commond.o
    gcc -o Kindle main.o kdb.o commond.o
main.o:main.c defs.h
    gcc -c main.c -o main.o
kdb.o:kdb.c defs.h command.h
    gcc -c kdb.c -o kdb
commond.o:commond.c commond.h defs.h
    gcc -c commond.c -o commond.o
.PHONY:
clean:
    rm -rf Kindle main.o kdb.o commond.o

3.0

OBJ = Kindle
Target = main.o kdb.o commond.o display.o insert.o search.o files.o utils.o
CC := gcc
CCFLAG = -o -c
$(OBJ):$(Target)
    $(CC) $(CCFLAG) Kindle main.o kdb.o commond.o display.o insert.o search.o files.o utils.o
%.o:%.c
    gcc -c -o %.c %.o 
.PHONY:
clean:
    rm -rf *.o Kindle
    echo "clean up"

4.0

OBJ = Kindle
Target = main.o kdb.o commond.o display.o insert.o search.o files.o utils.o
CC := gcc
CCFLAG = -o -c
$(OBJ):$(Target)
    $(CC) $(CCFLAG) $^ $@
%.o:%.c
    $(CC) $(CCFLAG) $^ $@s
.PHONY:
clean:
    rm -rf *.o Kindle
    echo "clean up"

5.0

PROG = Kindle
SRC  = $(wildcard *.c)
OBJ  = $(patsubst %.c,%.o,$(SRC))
CC  := gcc
CCFLAG = -g

all:$(PROG)
$(PROG):$(OBJ)
    $(CC) $(CCFLAG) $^ -o $@
.PHONY:
clean:
    rm -rf *.o $(PROG)

 

 

6.0

#通配符
#包含头文件原则
#第二层 变量 
#第三层 隐含规则
#第四层 自动变量
# $^:代表依赖文件
# $@ :目标文件
# $< : 代表第一个依赖文件
#第五层 使用函数
PROG = test
SRC  = $(wildcard *.c)
OBJ  = $(patsubst %.c,%.o,$(SRC))
CC    := gcc 
CCFLAG = -g  
all:$(PROG)
$(PROG):$(OBJ)
    $(CC) $(CCFLAG) $^ -o $@ 
.PHONY:
clean:
    rm -rf *.o $(PROG)

 

Makefile

标签:规则   pre   连接   makefile   test   isp   splay   comm   头文件   

原文地址:http://www.cnblogs.com/ming-michelle/p/8053753.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!