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)
查看全文
相关阅读:
NSString 处理
我的第一个IOSDemo
NSArray创建和使用
NSDate
NSDictionary
flash全屏代码
getBounds
运用递归随机出与上一个数不重复的数
标签跟随鼠标移动
保存数据到本地
原文地址:https://www.cnblogs.com/faraway/p/1426292.html
最新文章
Vue学习笔记VSCode安装与配置
Vue学习笔记API调试工具>国产apipost按装(比postman好按装好用)
Vue学习笔记jsonl转换显示工具JsonView安装及使用
Vue学习笔记nodejs+vuecli4+webpack按装配置+项目创建
Vue学习笔记chrome84版本浏览器跨域设置
Vue学习笔记djangocorsheaders安装解决跨域问题
公文流转系统v0.1
20190918Java课堂记录
20190925Java课堂记录(二)
第一个javaWeb项目注册界面
热门文章
jsp 环境搭建及执行流程和虚拟路径虚拟主机
Android Studio 图形化设计 UI 界面
20191014Java课堂记录
20191102Java课堂记录
20190925Java课堂记录(一)
NSObject和反射
C#实现软件注册码
NSArray排序
NSValue
copymutableCopy用法(important)
Copyright © 2011-2022 走看看