SEO门户
ASP教程PHP教程
返回首页

Makefile编程;Makefile文件编译静态库和动态库

时间:2010-04-26 09:41来源:小军精彩 作者:骄子的精彩! 点击:


china-zhifuwang.com介绍:;Makefile编程;Makefile文件编译静态库和动态库,编译静态库和动态库的Makefile文件,修改Makefile中STATIC的值可以编译静态库或动态库.

写了一个编译静态库和动态库的Makefile文件,修改Makefile中STATIC的值可以编译静态库或动态库。

MakefileSTATIC=0

LIBPATH=lib

CFLAGS=-Wall

LDFLAGS=-I$(LIBPATH) -L$(LIBPATH) -lfunc

ifeq ($(STATIC), 1)

LIB=$(LIBPATH)/libfunc.a

else

LIB=$(LIBPATH)/libfunc.so

CFLAGS+=-fPIC

endif

TARGET=main

SRC=main.c

LIBSRC=libinc.c libdec.c

LIBOBJ=$(addprefix $(LIBPATH)/, $(addsuffix .o, $(basename $(LIBSRC))))

all: $(LIB) $(TARGET)

target: $(TARGET)

lib: $(LIB)

$(LIBPATH)/%.o: %.c

$(CC) $(CFLAGS) -o $@ -c {GetProperty(Content)}lt;

ifeq ($(STATIC), 1)

$(LIB): $(LIBOBJ)

$(AR) -rcs $@ $^

else

$(LIB): $(LIBOBJ)

$(CC) -shared -o $@ $^

endif

$(TARGET): $(SRC)

$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)

clean:

rm -f $(TARGET) $(LIB) $(LIBOBJ)

    ------分隔线----------------------------
    推荐内容