Linux下makefile的编写

#
# Simple .so Makefile
#
CC      := gcc
LD      := ld
CFLAGS  :=
LDFLAGS := -shared -fpic
SOURCE  := $(wildcard *.c)
OBJS    := $(patsubst %.c,%.o,$(SOURCE))
TARGET_LIB := libflac.so
CFLAGS+= -I./

all:$(OBJS)
#echo $(OBJS)
    $(LD) $(LDFLAGS) -o $(TARGET_LIB) $(OBJS)

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

.PHONY: clean

clean:
    rm *.so *.o -rf

这个是动态库
.SUFFIXES:.c

HOMEDIR=/code
COMDIR=$(HOMEDIR)/comlib
INCDIR=-I$(COMDIR)/include
   
CC=gcc
CFLAG=-O -DUNIX -DLIB -DDEBUG -DTRACE_FILE='"./trace"'
EDF=

help:
@echo Please input filename that will be made
@echo 'syntax: make <help|all|"filename">'

all: config debug file msg pid sem shm str tcp time udp

.c:
if [ -f $(COMDIR)/lib/libcom.a ]; then ar -x $(COMDIR)/lib/libcom.a; fi
$(CC) -c $ < $(CFLAG) $(INCDIR)
ar -rv libcom.a *.o
rm *.o
mv libcom.a $(COMDIR)/lib


把.c文件和此makefile文件放在一起!

另外把/code/include中 
就 OK! 
最终的 库存放在/code/lib中
这个是静态库
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值