#
# 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
# 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中
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中
这个是静态库