linux C学习笔记01--makefile

不知不觉毕业五年了,以前学的linux基本都忘了,重新温习起来吧!

下面是自己写的makefile文件,供新手和自己回头时查阅

CC=gcc
EXE=c.out
CCC=g++
EEE=cc.out 
INC=/home/malth/project/include/
LIB=/home/malth/project/lib/
#添加文件搜索路经
vpath=/home/malth/project/lib
#vpath %.h ~/project/include    
OUT=main.o bubbling_sort.o thread.o share_memory.o
CFILE=main.c bubbling_sort.c thread.c share_memory.c

ctest:$(OUT)
    @echo compiling start......
#命令前加 - 减号可以忽略命令执行错误的信息
#"@"符号可以隐藏命令,命令会执行但是不会显示命令本身

#调试发现用*.o文件做gcc -o 连接生成的可执行文件不能进行GDB调试顾增加了*.c文件直接生成供选择
#    $(CC) $(OUT) -static $(LIB)slib.a -lpthread -o $(EXE)    
    $(CC) $(CFILE) -I$(INC) -static $(LIB)slib.a -lpthread -g -o $(EXE)    
    @echo compile successed!
#    @-rm -f *.o

main.o:main.c
    $(CC) -I$(INC) -c -g main.c
    
common.o:common.c
    $(CC) -c -g common.c 

thread.o:thread.c
    $(CC) -c -g thread.c 

bubbling_sort.o:bubbling_sort.c
    $(CC) -c -g bubbling_sort.c

share_memory.o:share_memory.c
    $(CC) -c -g share_memory.c


cctest:test.cc
    -rm -f cc.out
    $(CCC) -o $(EEE) test.cc

######################################################
#create the static library
slib:static_lib.o
    ar -rcs slib.a static_lib.o
    mv -f slib.a $(LIB)

static_lib.o:static_lib.c
    $(CC) -c static_lib.c
######################################################

clean:
    -rm -f $(EXE) $(EEE) *.o
    ls
    
result=
result:=$(words hello world)

all:    
    @echo -n "result is : "
    @echo $(result)
.PHONY:all
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值