论Makefile的重要性(二)-----Linux C开发

接上

1.关于makefile的升级版本一:
libmath.a:add.o sub.o mul.o devl.o
    ar rcs $@ $^
add.o:add.c
    gcc -c $^
sub.o:sub.c
    gcc -c $^
mul.o:mul.c
    gcc -c $^
devl.o:devl.c
    gcc -c $^

.PHONY:clean
clean:
    rm -f add.o sub.o mul.o devl.o

 

2.版本2
obj=add.o sub.o mul.o devl.o
dest=libmath.a

$(dest):$(obj)
    ar rcs $@ $^
%.o:%.c
    gcc -c $^

.PHONY:clean
clean:
    rm -f $(obj)
3.版本三:
src=$(wildcard *.c)
obj=$(patsubst %.c,%.o, $(src))
dest=libmath.a

$(dest):$(obj)
    ar rcs $@ $^
%.o:%.c
    gcc -c $^

.PHONY:clean
clean:
    rm -f $(obj) $(dest)
 1 4.版本四:
 2 src=$(wildcard *.c)
 3 obj=$(patsubst %.c,%.o, $(src))
 4 
 5 CC=gcc
 6 CFLAGS=-g
 7 LDFLAGS=
 8 CPPFLAGS=
 9 
10 dest=libmath.a
11 #dest=a.out
12 
13 
14 $(dest):$(obj)
15     ar rcs $@ $^
16 #$(CC) $(LDFLAGS) $^ -o $@
17 %.o:%.c
18     $(CC)  $(CFLAGS) -c $^
19 
20 .PHONY:clean
21 clean:
22     -rm -f $(obj) $(dest)

 

posted @ 2016-08-21 14:51  KyrieHe  阅读(221)  评论(0编辑  收藏  举报