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)
查看全文
相关阅读:
webpack学习笔记--配置resolve
常用 Git 命令清单
彻底解决Webpack打包慢的问题
vue-cli3安装遇到的问题,卸载不掉旧版本,导致更新不了
在5分钟内搭建企业内部私有npm仓库
package.json中你还不清楚的browser,module,main 字段优先级
细说 peerDependencies
对peerDependencies的理解
[转载]罗技Usb Receiver在Win7 64位系统中驱动安装方法
波峰波谷的判断
原文地址:https://www.cnblogs.com/faraway/p/1426292.html
最新文章
flutter MainAxisAlignment和CrossAxisAlignment
flutter 局部文字更新
使用github 的源码时,A problem occurred evaluating project ':app'. > path may not be null or empty string. path='null'
python 获取系统平台
python if __name__ == "__main__": 的含义
49 款开源办公软件
如何关闭Linux里边的selinux ?
NMAP 基础教程
Linux下批量修改文件名(rename)
将 LDAP 目录用于 Samba 认证
热门文章
centos 6.4配置samba+ldap认证
vim 语法着色完全配置
用十条命令在一分钟内检查 Linux 服务器性能
ERROR: While executing gem … (Gem::RemoteFetcher::FetchError)
【授之于鱼不如授之于渔】高三女孩被哈佛录取:只要一想到能编程,我就会不由自主地笑出来
su 与 su
PostgreSQL学习手册(角色和权限)
实时股票分析系统的架构与算法
Windows2003配置集群详解
在远程桌面服务中配置RD网关直接访问内网
Copyright © 2011-2022 走看看