zoukankan
html css js c++ java
编译静态库和动态库的Makefile文件
写了一个编译静态库和动态库的Makefile文件,修改Makefile中STATIC的值可以编译静态库或动态库。完整的程序和Makefile文件在
这里
。
Makefile
STATIC=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 $<
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)
查看全文
相关阅读:
大数据综合项目DocCloud之需求分析与功能实现详细(续更)
CDH5 Hadoop集群完全离线安装步骤总结
Phoenix安装与使用文档超详细步骤
HBASE的存储缺陷以及预分区的解决办法
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
Hbase 的javaAPI基本操作用 在idea上的实现
android SimpleCursorAdapter的使用
android TextView 添加下划线
Android WebView的使用
Android SDK下载和更新失败的解决方法!!!
原文地址:https://www.cnblogs.com/faraway/p/1426292.html
最新文章
平衡查找树
异常
泛型
maven详解
序列化
传输层(最重要)
thinkphp ajax分页
Thinkphp文件上传
confirm对话框取消后阻止ajax操作、ajax做批量删除
Bootstrap模态框按钮
热门文章
checkbox做全选按钮
ThinkPHP框架之验证码
thinkphp表单验证
thinkphp使用ajax
thinkphp修改和删除数据
thinkphp添加数据
嵌入式数据库BDB的介绍与使用案例
CentOS6安装hive-2.1.1
java执行命令并通过libreoffice软件的方式将word转化成HTML的详细步骤解析
Java通过Hadoop实现RPC通讯简单实例
Copyright © 2011-2022 走看看