栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Makefile文件编写

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Makefile文件编写

1、qt 工程pro文件配置
QT -= gui

TEMPLATE = lib

ConFIG += c++11

# The following define makes your compiler emit warnings if you use
# any Qt feature that has been marked deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS

# 设置宏定义
DEFINES += CURL_STATICLIB
#DEFINES += OS_ANDROID

# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

# 设置编译生成的临时文件输出路径
MOC_DIR = $$PWD/temp/moc
RCC_DIR = $$PWD/temp/rcc
UI_DIR = $$PWD/temp/ui
OBJECTS_DIR = $$PWD/temp/obj

# 设置头文件路径
INCLUDEPATH += ../public

# 条件编译
if(contains(DEFINES,OS_ANDROID)){

LIBS_PATH = ../public/arm-ca53-linux/lib

INCLUDEPATH += ../public/arm-ca53-linux/include

}else{ # 必须在同一行

LIBS_PATH = ../public/x86-64-linux/lib
INCLUDEPATH += ../public/x86-64-linux/include
DEPENDPATH += ../public/x86-64-linux/lib

}

# 打印
message($$LIBS_PATH)


SOURCES += 
    ../public/base64.cpp 
    EhcHandler.cpp 
    ErrorDefine.cpp 
    VirtualCardChk.cpp 
    ../public/SM3.cpp 
    ../public/StringUtil.cpp 
    ../public/database.cpp 
    ../public/httpsclient.cpp 
    ../public/json/json_reader.cpp 
    ../public/json/json_value.cpp 
    ../public/json/json_writer.cpp 
    ../public/LogUtil.cpp 
    ../public/JsonUtil.cpp 
    ../public/sm4.cpp 
    ../public/md5.cpp

HEADERS += 
    base64.h 
    EhcHandler.h 
    ErrorDefine.h 
    VirtualCardChk.h 
    SharedMutex.h 
    Singleton.h 
    StringUtil.h 
    ThreadLockCs.h 
    Util.h 
    database.h 
    httpsclient.h 
    json_batchallocator.h 
    json_internalarray.inl 
    json_internalmap.inl 
    json_valueiterator.inl 
    sm3.h 
    sm4.h 
    stdafx.h

# Default rules for deployment.
unix {
    target.path = /usr/lib
}
!isEmpty(target.path): INSTALLS += target

# 链接静态库
LIBS += $$LIBS_PATH/libcurl.a
LIBS += $$LIBS_PATH/libssl.a
LIBS += $$LIBS_PATH/libcrypto.a


message($$LIBS)

2、基于qmake生成Makefile文件修改
#############################################################################
# Makefile for building: libVirtualCardChk.so.1.0.0
# Generated by qmake (3.1) (Qt 5.12.9)
# Project:  ../VirtualCardChk/VirtualCardChk.pro
# Template: lib
# Command: /opt/Qt5.12.9/5.12.9/gcc_64/bin/qmake -o Makefile ../VirtualCardChk/VirtualCardChk.pro -spec linux-g++ CONFIG+=debug CONFIG+=qml_debug
#############################################################################

MAKEFILE      = Makefile

EQ            = =

# 设置交叉编译工具路径
CROSS_COMPILE_PATH = /opt/arm/arm-ca53-linux-gnueabihf-6.4/arm-ca53-linux-gnueabihf

# 设置curl和openssl路径
CURL_INCLUDE_PATH = ../public/arm-ca53-linux/include
CURL_LIB_PATH = ../public/arm-ca53-linux/lib
OPENSSL_INCLUDE_PATH = ../public/arm-ca53-linux/include
OPENSSL_LIB_PATH = ../public/arm-ca53-linux/lib

####### Compiler, tools and options
# 设置编译工具名称
CC            = arm-ca53-linux-gnueabihf-gcc
CXX           = arm-ca53-linux-gnueabihf-g++
DEFINES       = -DCURL_STATICLIB
CFLAGS        = -pipe -g -Wall -W -D_REENTRANT -fPIC $(DEFINES)
CXXFLAGS      = -pipe -g -Wall -std=c++11 -W -D_REENTRANT -fPIC $(DEFINES)

# 设置头文件路径
INCPATH       = -I../VirtualCardChk -I. -I../public -I$(CURL_INCLUDE_PATH) -I$(OPENSSL_INCLUDE_PATH) -I$(CROSS_COMPILE_PATH)/include/c++/6.4.0
DEL_FILE      = rm -f
CHK_DIR_EXISTS= test -d
MKDIR         = mkdir -p
COPY          = cp -f
COPY_FILE     = cp -f
COPY_DIR      = cp -f -R
INSTALL_FILE  = install -m 644 -p
INSTALL_PROGRAM = install -m 755 -p
INSTALL_DIR   = cp -f -R
DEL_FILE      = rm -f
SYMlink       = ln -f -s
DEL_DIR       = rmdir
MOVE          = mv -f
TAR           = tar -cf
COMPRESS      = gzip -9f
DISTNAME      = VirtualCardChk1.0.0
DISTDIR = /home/snail/Work/VirtualCardChk/src/VirtualCardChk/temp/obj/VirtualCardChk1.0.0
link          = arm-ca53-linux-gnueabihf-g++
LFLAGS        = -shared -Wl,-soname,libVirtualCardChk.so.1

# 设置需要的链接库
LIBS          = $(SUBLIBS) -L$(CROSS_COMPILE_PATH)/lib -L$(CROSS_COMPILE_PATH)/sysroot/lib $(CURL_LIB_PATH)/libcurl.a $(OPENSSL_LIB_PATH)/libssl.a $(OPENSSL_LIB_PATH)/libcrypto.a -lpthread   
AR            = arm-ca53-linux-gnueabihf-ar cqs
RANLIB        = 
SED           = sed
STRIP         = arm-ca53-linux-gnueabihf-strip

####### Output directory

OBJECTS_DIR   = ../VirtualCardChk/temp/obj/

####### Files

SOURCES       = ../public/base64.cpp 
		../VirtualCardChk/EhcHandler.cpp 
		../VirtualCardChk/ErrorDefine.cpp 
		../VirtualCardChk/VirtualCardChk.cpp 
		../public/SM3.cpp 
		../public/StringUtil.cpp 
		../public/database.cpp 
		../public/httpsclient.cpp 
		../public/json/json_reader.cpp 
		../public/json/json_value.cpp 
		../public/json/json_writer.cpp 
		../public/LogUtil.cpp 
		../public/JsonUtil.cpp 
		../public/sm4.cpp 
OBJECTS       = ../VirtualCardChk/temp/obj/base64.o 
		../VirtualCardChk/temp/obj/EhcHandler.o 
		../VirtualCardChk/temp/obj/ErrorDefine.o 
		../VirtualCardChk/temp/obj/VirtualCardChk.o 
		../VirtualCardChk/temp/obj/SM3.o 
		../VirtualCardChk/temp/obj/StringUtil.o 
		../VirtualCardChk/temp/obj/database.o 
		../VirtualCardChk/temp/obj/httpsclient.o 
		../VirtualCardChk/temp/obj/json_reader.o 
		../VirtualCardChk/temp/obj/json_value.o 
		../VirtualCardChk/temp/obj/json_writer.o 
		../VirtualCardChk/temp/obj/LogUtil.o 
		../VirtualCardChk/temp/obj/JsonUtil.o 
		../VirtualCardChk/temp/obj/sm4.o
DIST          = ../VirtualCardChk/VirtualCardChk.pro base64.h 
		../VirtualCardChk/EhcHandler.h 
		../VirtualCardChk/ErrorDefine.h 
		../VirtualCardChk/VirtualCardChk.h 
		SharedMutex.h 
		Singleton.h 
		StringUtil.h 
		ThreadLockCs.h 
		Util.h 
		database.h 
		httpsclient.h 
		json_batchallocator.h 
		json_internalarray.inl 
		json_internalmap.inl 
		json_valueiterator.inl 
		sm3.h 
		sm4.h 
		../VirtualCardChk/stdafx.h ../public/base64.cpp 
		../VirtualCardChk/EhcHandler.cpp 
		../VirtualCardChk/ErrorDefine.cpp 
		../VirtualCardChk/VirtualCardChk.cpp 
		../public/SM3.cpp 
		../public/StringUtil.cpp 
		../public/database.cpp 
		../public/httpsclient.cpp 
		../public/json/json_reader.cpp 
		../public/json/json_value.cpp 
		../public/json/json_writer.cpp 
		../public/LogUtil.cpp 
		../public/JsonUtil.cpp 
		../public/sm4.cpp

TARGET        = libVirtualCardChk.so.1.0.0
TARGETA       = libVirtualCardChk.a
TARGET0       = libVirtualCardChk.so
TARGETD       = libVirtualCardChk.so.1.0.0
TARGET1       = libVirtualCardChk.so.1
TARGET2       = libVirtualCardChk.so.1.0


first: all
####### Build rules

libVirtualCardChk.so.1.0.0:  $(OBJECTS) $(SUBLIBS) $(OBJCOMP)  
	-$(DEL_FILE) $(TARGET) $(TARGET0) $(TARGET1) $(TARGET2)
	$(link) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(LIBS) $(OBJCOMP)
	-ln -s $(TARGET) $(TARGET0)
	-ln -s $(TARGET) $(TARGET1)
	-ln -s $(TARGET) $(TARGET2)



staticlib: libVirtualCardChk.a

libVirtualCardChk.a:  $(OBJECTS) $(OBJCOMP) 
	-$(DEL_FILE) $(TARGETA) 
	$(AR) $(TARGETA) $(OBJECTS)


all: libVirtualCardChk.so.1.0.0


clean:  
	-$(DEL_FILE) $(OBJECTS)


distclean: clean 
	-$(DEL_FILE) $(TARGET) 
	-$(DEL_FILE) $(TARGET0) $(TARGET1) $(TARGET2) $(TARGETA)



####### Compile

../VirtualCardChk/temp/obj/base64.o: ../public/base64.cpp ../VirtualCardChk/stdafx.h 
		../public/sm3.h 
		../public/sm4.h 
		../public/base64.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ../VirtualCardChk/temp/obj/base64.o ../public/base64.cpp

../VirtualCardChk/temp/obj/EhcHandler.o: ../VirtualCardChk/EhcHandler.cpp ../VirtualCardChk/EhcHandler.h 
		../VirtualCardChk/ErrorDefine.h 
		../public/Util.h 
		../VirtualCardChk/stdafx.h 
		../public/sm3.h 
		../public/sm4.h 
		../public/base64.h 
		../public/database.h 
		../public/Des.h 
		../public/md5.h 
		../public/json/json.h 
		../public/json/autolink.h 
		../public/json/config.h 
		../public/json/value.h 
		../public/json/forwards.h 
		../public/json/reader.h 
		../public/json/features.h 
		../public/json/writer.h 
		../public/httpsclient.h 
		$(OPENSSL_INCLUDE_PATH)/openssl/sha.h 
		$(OPENSSL_INCLUDE_PATH)/openssl/e_os2.h 
		$(OPENSSL_INCLUDE_PATH)/openssl/opensslconf.h 
		../public/LogUtil.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ../VirtualCardChk/temp/obj/EhcHandler.o ../VirtualCardChk/EhcHandler.cpp

../VirtualCardChk/temp/obj/ErrorDefine.o: ../VirtualCardChk/ErrorDefine.cpp ../VirtualCardChk/ErrorDefine.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ../VirtualCardChk/temp/obj/ErrorDefine.o ../VirtualCardChk/ErrorDefine.cpp

../VirtualCardChk/temp/obj/VirtualCardChk.o: ../VirtualCardChk/VirtualCardChk.cpp ../VirtualCardChk/VirtualCardChk.h 
		../VirtualCardChk/EhcHandler.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ../VirtualCardChk/temp/obj/VirtualCardChk.o ../VirtualCardChk/VirtualCardChk.cpp

../VirtualCardChk/temp/obj/SM3.o: ../public/SM3.cpp ../VirtualCardChk/stdafx.h 
		../public/sm3.h 
		../public/sm4.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ../VirtualCardChk/temp/obj/SM3.o ../public/SM3.cpp

../VirtualCardChk/temp/obj/StringUtil.o: ../public/StringUtil.cpp ../VirtualCardChk/stdafx.h 
		../public/sm3.h 
		../public/sm4.h 
		../public/StringUtil.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ../VirtualCardChk/temp/obj/StringUtil.o ../public/StringUtil.cpp

../VirtualCardChk/temp/obj/database.o: ../public/database.cpp ../VirtualCardChk/stdafx.h 
		../public/sm3.h 
		../public/sm4.h 
		../public/database.h 
		../public/Des.h 
		../public/md5.h 
		../public/json/json.h 
		../public/json/autolink.h 
		../public/json/config.h 
		../public/json/value.h 
		../public/json/forwards.h 
		../public/json/reader.h 
		../public/json/features.h 
		../public/json/writer.h 
		../public/base64.h 
		../public/httpsclient.h 
		../public/AES.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ../VirtualCardChk/temp/obj/database.o ../public/database.cpp

../VirtualCardChk/temp/obj/httpsclient.o: ../public/httpsclient.cpp ../VirtualCardChk/stdafx.h 
		../public/sm3.h 
		../public/sm4.h 
		../public/httpsclient.h 
		$(CURL_INCLUDE_PATH)/curl/curl.h 
		$(CURL_INCLUDE_PATH)/curl/curlver.h 
		$(CURL_INCLUDE_PATH)/curl/curlbuild.h 
		$(CURL_INCLUDE_PATH)/curl/curlrules.h 
		$(CURL_INCLUDE_PATH)/curl/easy.h 
		$(CURL_INCLUDE_PATH)/curl/multi.h 
		$(CURL_INCLUDE_PATH)/curl/typecheck-gcc.h 
		../public/database.h 
		../public/Des.h 
		../public/md5.h 
		../public/json/json.h 
		../public/json/autolink.h 
		../public/json/config.h 
		../public/json/value.h 
		../public/json/forwards.h 
		../public/json/reader.h 
		../public/json/features.h 
		../public/json/writer.h 
		../public/base64.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ../VirtualCardChk/temp/obj/httpsclient.o ../public/httpsclient.cpp

../VirtualCardChk/temp/obj/json_reader.o: ../public/json/json_reader.cpp ../public/json/reader.h 
		../public/json/features.h 
		../public/json/forwards.h 
		../public/json/config.h 
		../public/json/value.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ../VirtualCardChk/temp/obj/json_reader.o ../public/json/json_reader.cpp

../VirtualCardChk/temp/obj/json_value.o: ../public/json/json_value.cpp ../public/json/value.h 
		../public/json/forwards.h 
		../public/json/config.h 
		../public/json/writer.h 
		../public/json/json_batchallocator.h 
		../public/json/json_internalarray.inl 
		../public/json/json_internalmap.inl 
		../public/json/json_valueiterator.inl
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ../VirtualCardChk/temp/obj/json_value.o ../public/json/json_value.cpp

../VirtualCardChk/temp/obj/json_writer.o: ../public/json/json_writer.cpp ../public/json/writer.h 
		../public/json/value.h 
		../public/json/forwards.h 
		../public/json/config.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ../VirtualCardChk/temp/obj/json_writer.o ../public/json/json_writer.cpp

../VirtualCardChk/temp/obj/LogUtil.o: ../public/LogUtil.cpp ../public/LogUtil.h 
		../public/Util.h 
		../VirtualCardChk/stdafx.h 
		../public/sm3.h 
		../public/sm4.h 
		../public/base64.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ../VirtualCardChk/temp/obj/LogUtil.o ../public/LogUtil.cpp

../VirtualCardChk/temp/obj/JsonUtil.o: ../public/JsonUtil.cpp ../public/JsonUtil.h 
		../public/json/json.h 
		../public/json/autolink.h 
		../public/json/config.h 
		../public/json/value.h 
		../public/json/forwards.h 
		../public/json/reader.h 
		../public/json/features.h 
		../public/json/writer.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ../VirtualCardChk/temp/obj/JsonUtil.o ../public/JsonUtil.cpp

../VirtualCardChk/temp/obj/sm4.o: ../public/sm4.cpp ../VirtualCardChk/stdafx.h 
		../public/sm3.h 
		../public/sm4.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ../VirtualCardChk/temp/obj/sm4.o ../public/sm4.cpp

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/642433.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号