编译静态库和动态库的Makefile文件


写了一个编译静态库和动态库的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)



相关阅读:
搞定MySQL数据库中文模糊检索问题
安装秘诀: Exchange 2000 容量与拓朴计算器
提高系统性能用eAccelerator优化PHP
你应该知道的10个MySQL客户启动选项
利用FireBug使JQuery的学习更加轻松愉快
用帝国自定义标签实现当前栏目高亮
javascript与CSS复习(《精通javascript》)
W3C教程(3):W3C HTML 活动
Windows Server 2008的脱机文件特性
IE6+UTF-8存在的怪异问题
js计算页面刷新的次数
JavaScript学习笔记(十七)js 优化
你所要知道JS(DHTML)中的一些技巧
php 验证码实例代码
快速导航

Copyright © 2016 phpStudy |