linux makefile模板
来源:互联网 发布:采样温室气体数据 编辑:程序博客网 时间:2024/06/07 05:13
# compile and link parameters
#
CC := gcc
CXX := g++
SHARE_FLAG := -shared
#DEBUG_FLAG := -Ddebug
MICROS := \
-DCURL_STATICLIB \
-DCARES_STATICLIB \
-DUSE_ARES \
-DZLIB_WINAPI \
-DHAVE_LIBZ \
-DUSE_MBEDTLS \
-DUSE_OPENSSL
# -DANDROID_DEBUG\
CFLAGS := -Wall -O3 -std=c++0x -fpic $(SHARE_FLAG) $(MICROS) $(DEBUG_FLAG)
LDFLAGS := $(SHARE_FLAG) -fpic
# files & dirs
#
TARGET_NAME := your_target.so
DIR_OBJ = bin/centos/obj
DIR_BIN = bin/centos
# include path
#
INC_PATH = \
-I 3rd/openssl-1.0.2j/centos32/include \
-I 3rd/curl-7.52.1/centos32/include/curl \
-I 3rd/protobuf-2.6.1/centos32/include \
-I 3rd/zlib-1.2.8/centos32/include \
-I 3rd/c-ares-1.12.0/centos32/include \
-I 3rd/libuuid/centos32/include \
# libraries
#
LIBS = \
-L 3rd/curl-7.52.1/centos32/lib -lcurl \
-L 3rd/mbedtls-2.4.0/centos32/lib -lmbedtls \
-L 3rd/mbedtls-2.4.0/centos32/lib -lmbedcrypto \
-L 3rd/mbedtls-2.4.0/centos32/lib -lmbedx509 \
-L 3rd/openssl-1.0.2j/centos32/lib -lssl \
-L 3rd/openssl-1.0.2j/centos32/lib -lcrypto \
-L 3rd/zlib-1.2.8/centos32/lib -lz \
-L 3rd/c-ares-1.12.0/centos32/lib -lcares \
-L 3rd/protobuf-2.6.1/centos32/lib -lprotobuf \
-L 3rd/libuuid/centos32/lib -luuid \
-ldl \
-lrt \
# path for looking source (used in .o:.cpp dependents)
#
VPATH = \
3rd/MarkUp \
3rd/Base64 \
3rd/MD5 \
3rd/bplist \
# source files
#
SOURCE_WITH_DIRS = \
3rd/MarkUp/Markup.cpp \
\
3rd/Base64/AppleBase64.c \
3rd/Base64/base64.cpp \
\
3rd/MD5/AppleMD5.cpp \
src/1.cpp \
#$(warning $(SOURCE_WITH_DIRS))
SOURCES = $(notdir $(SOURCE_WITH_DIRS))
#$(warning $(SOURCES))
OBJS := $(patsubst %.c, $(DIR_OBJ)/%.o, $(patsubst %.cpp, $(DIR_OBJ)/%.o, $(patsubst %.cc, $(DIR_OBJ)/%.o, $(SOURCES))))
#$(warning $(OBJS))
$(DIR_OBJ)/%.o : %.c
$(CC) $(CFLAGS) -c $< -o $@ $(INC_PATH) $(LIB_PATH) $(LIBS)
$(DIR_OBJ)/%.o : %.cpp
$(CXX) $(CFLAGS) -c $< -o $@ $(INC_PATH) $(LIB_PATH) $(LIBS)
$(DIR_OBJ)/%.o : %.cc
$(CXX) $(CFLAGS) -c $< -o $@ $(INC_PATH) $(LIB_PATH) $(LIBS)
$(DIR_OBJ)/%.o : %.cxx
$(CXX) $(CFLAGS) -c $< -o $@ $(INC_PATH) $(LIB_PATH) $(LIBS)
$(TARGET_NAME) : $(OBJS)
$(CXX) $(OBJS) -o $(DIR_BIN)/$(TARGET_NAME) $(LDFLAGS) $(LIBS)
clean:
rm -rf $(DIR_OBJ)/*.o
rm -rf $(DIR_BIN)/$(TARGET_NAME)
#
CC := gcc
CXX := g++
SHARE_FLAG := -shared
#DEBUG_FLAG := -Ddebug
MICROS := \
-DCURL_STATICLIB \
-DCARES_STATICLIB \
-DUSE_ARES \
-DZLIB_WINAPI \
-DHAVE_LIBZ \
-DUSE_MBEDTLS \
-DUSE_OPENSSL
# -DANDROID_DEBUG\
CFLAGS := -Wall -O3 -std=c++0x -fpic $(SHARE_FLAG) $(MICROS) $(DEBUG_FLAG)
LDFLAGS := $(SHARE_FLAG) -fpic
# files & dirs
#
TARGET_NAME := your_target.so
DIR_OBJ = bin/centos/obj
DIR_BIN = bin/centos
# include path
#
INC_PATH = \
-I 3rd/openssl-1.0.2j/centos32/include \
-I 3rd/curl-7.52.1/centos32/include/curl \
-I 3rd/protobuf-2.6.1/centos32/include \
-I 3rd/zlib-1.2.8/centos32/include \
-I 3rd/c-ares-1.12.0/centos32/include \
-I 3rd/libuuid/centos32/include \
# libraries
#
LIBS = \
-L 3rd/curl-7.52.1/centos32/lib -lcurl \
-L 3rd/mbedtls-2.4.0/centos32/lib -lmbedtls \
-L 3rd/mbedtls-2.4.0/centos32/lib -lmbedcrypto \
-L 3rd/mbedtls-2.4.0/centos32/lib -lmbedx509 \
-L 3rd/openssl-1.0.2j/centos32/lib -lssl \
-L 3rd/openssl-1.0.2j/centos32/lib -lcrypto \
-L 3rd/zlib-1.2.8/centos32/lib -lz \
-L 3rd/c-ares-1.12.0/centos32/lib -lcares \
-L 3rd/protobuf-2.6.1/centos32/lib -lprotobuf \
-L 3rd/libuuid/centos32/lib -luuid \
-ldl \
-lrt \
# path for looking source (used in .o:.cpp dependents)
#
VPATH = \
3rd/MarkUp \
3rd/Base64 \
3rd/MD5 \
3rd/bplist \
# source files
#
SOURCE_WITH_DIRS = \
3rd/MarkUp/Markup.cpp \
\
3rd/Base64/AppleBase64.c \
3rd/Base64/base64.cpp \
\
3rd/MD5/AppleMD5.cpp \
src/1.cpp \
#$(warning $(SOURCE_WITH_DIRS))
SOURCES = $(notdir $(SOURCE_WITH_DIRS))
#$(warning $(SOURCES))
OBJS := $(patsubst %.c, $(DIR_OBJ)/%.o, $(patsubst %.cpp, $(DIR_OBJ)/%.o, $(patsubst %.cc, $(DIR_OBJ)/%.o, $(SOURCES))))
#$(warning $(OBJS))
$(DIR_OBJ)/%.o : %.c
$(CC) $(CFLAGS) -c $< -o $@ $(INC_PATH) $(LIB_PATH) $(LIBS)
$(DIR_OBJ)/%.o : %.cpp
$(CXX) $(CFLAGS) -c $< -o $@ $(INC_PATH) $(LIB_PATH) $(LIBS)
$(DIR_OBJ)/%.o : %.cc
$(CXX) $(CFLAGS) -c $< -o $@ $(INC_PATH) $(LIB_PATH) $(LIBS)
$(DIR_OBJ)/%.o : %.cxx
$(CXX) $(CFLAGS) -c $< -o $@ $(INC_PATH) $(LIB_PATH) $(LIBS)
$(TARGET_NAME) : $(OBJS)
$(CXX) $(OBJS) -o $(DIR_BIN)/$(TARGET_NAME) $(LDFLAGS) $(LIBS)
clean:
rm -rf $(DIR_OBJ)/*.o
rm -rf $(DIR_BIN)/$(TARGET_NAME)
阅读全文
0 0
- Linux驱动Makefile 模板
- LINUX驱动Makefile模板
- Linux下makefile 模板
- Linux驱动Makefile 模板
- LINUX驱动Makefile模板
- Linux下makefile 模板
- Linux编程Makefile模板
- linux driver Makefile模板
- linux drver Makefile模板
- linux makefile模板
- Linux makefile 模板 3.4
- Linux下makefile 模板
- linux 通用Makefile模板
- Linux 通用Makefile模板
- linux通用makefile模板
- linux makefile模板
- linux常用makefile模板
- Linux驱动makefile模板
- @RequestParam的应用
- vue 列表滑动加载数据
- 悲观锁,乐观锁
- 常用正则表达式匹配模式(java)
- (闲来无事)getopt函数的使用
- linux makefile模板
- jQuery插件开发模式(组件封装)
- 二叉树的深度
- http状态码
- Java绝对/相对路径获取与getResourceAsStream()方法
- 关于使用Java Mail发邮件的问题
- 责任链模式
- CentOS7安装Hive
- Linux基本概念及操作