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)
查看全文
相关阅读:
Tomcat源码(二):tomcat启动之前的初始化
Tomcat源码(一):整体架构
SSH的三个组件ssh、sftp、scp介绍
远程连接linux服务上的mysql
linux系统上安装mysql5.6(详细步骤)
一种基于数字证书的单点登录的实现方法(转)
jacob操作word (转)
解决fis3下载慢,没反应
Spring框架集成mybatis框架的配置(笔记)
eclipse导入lombok后打不开(如果你的lombok不是最新的,那就来下载最新的)
原文地址:https://www.cnblogs.com/iapp/p/3631774.html
最新文章
四则运算C++带Qt界面版本,吾王镇楼。。。。。
结对编程第一次作业
GoogleTest测试最大子数组和的C++程序
GoogleTest框架测试C++代码
Makefile
ARM协处理器
入门学习Linux常用必会命令实例详解
JZ2440开发板与ubuntu互ping,然后进行文件的共享和挂载
ubuntu修改IP地址和网关的方法
解决oracle报: ora-12560: tns: 协议适配器错误
热门文章
Centos7无网络环境下挂载ISO镜像文件为本地yum源
Filter生命周期在websphere中羽tomcat中不同的说明
IE调用OCX控件无法调用成功解决方案
本地主机不安装oracle服务端,只装客户端--访问远程oracle数据库
oracle使用expdp、impdp和exp、imp导入导出表及表结构
oracle赋予当前用户查询另一个用户下表的查询权限
oracle建库初始化指南
JAVA 中 Map 与实体类相互转换的简单方法
模拟Springboot二:内置tomcat
模拟Springboot一:(零xml配置搭建SSM项目)
Copyright © 2011-2022 走看看