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)
查看全文
相关阅读:
pom.xml
mongo 根据时间范围查找
nodejs. cron风,定时任务时间写法
Linux操作命令(一)
WPF的ScrollViewer鼠标的滚动
WPF中Expander控件样式,ListBox的样式(带checkbox)恢复
CentOS7 安装RabbitMQ
maven项目中配置jdk1.8插件
赋予其他用户远程连接自己数据库的权限
递归获取XML文件中的所有节点
原文地址:https://www.cnblogs.com/iapp/p/3631774.html
最新文章
mysql 笔记
Java5-1
Java4-1
Java3-1
Java2-1
Java编辑程序1-1
JAVA 1-1
MySQL
c#之mysql四种带事务批量插入
javascript合并数组并且删除第二项
热门文章
C#中OADate和DateTime相互转换
iOS一个'initWithRequest:delegate:' is deprecated: first deprecated in iOS 9.0
java rmi的一个简单实例
Google Review中Zlib.Portable报错的一种排查解决方案
R中的apply族函数和多线程计算
Python中TCP协议的理解
idea插件 快速生成启动引导类
springboot笔记
maven阿里镜像
git切换远程仓库的地址
Copyright © 2011-2022 走看看