From 9835a92b2649089cf90cca816ac2e9082cec267e Mon Sep 17 00:00:00 2001 From: xsmart Date: Mon, 20 Mar 2017 23:55:11 +0800 Subject: [PATCH] update makefile --- Makefile | 39 ++++++------ maclink.sh | 150 +++++++++++++++++++++++++++++++++++++++++++++++ relwin32.bat | 1 + relwin64.bat | 1 + rules-macos.mk | 2 +- rules.mk | 2 +- veuilib/Makefile | 5 -- 7 files changed, 173 insertions(+), 27 deletions(-) create mode 100644 maclink.sh diff --git a/Makefile b/Makefile index 9f28d3f5..8942a600 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,5 @@ $(eval version=$(shell grep "define VE_VERSION" include/config/confver.hpp | sed 's|.*VERSION "\(.*\)"|\1|g')) REL=Rapidvms-$(version)-$(VE_OS)-$(VE_VER)-$(VE_ARCH)bit -RELC=RapidClient-$(version)-$(VE_OS)-$(VE_VER)-$(VE_ARCH)bit ifeq ($(strip $(VE_CROSS_COMPILER)), ) subdirs=3rdparty xcmnlib velib veuilib vecvr client @@ -30,6 +29,17 @@ else cp -r ./output/macos/* ./output/$(VE_INSTALL_DIR)/ endif +linkprocess: +ifneq ($(strip $(VE_OS)), macos) +else + chmod +x ./maclink.sh + ./maclink.sh +endif + + +cleanapp: + for d in $(appsubdirs); do (cd $$d; (if test -e "Makefile"; then $(MAKE) clean; fi;) ); done + clean: for d in $(subdirs); do (cd $$d; (if test -e "Makefile"; then $(MAKE) clean; fi;) ); done #rm -rf ./linux/*.so ./linux/bin ./linux/lib/ ./linux/share ./linux/ssl ./linux/include @@ -49,7 +59,7 @@ disttest: mv ./libve* libcmnlib.so libcover.so ./output/$(VE_INSTALL_DIR)/lib/ strip ./output/$(VE_INSTALL_DIR)/lib/*.so -rel: +rel: linkprocess echo $(REL) rm -rf ./$(REL) mkdir -p ./output/$(VE_INSTALL_DIR)/translations; @@ -65,6 +75,7 @@ endif rm -rf ./$(REL)/lib/x86_64-linux-gnu rm -rf ./$(REL)/examples rm -rf ./$(REL)/doc + rm -rf ./$(REL)/lib64 rm -rf ./$(REL)/mkspecs mv ./$(REL)/bin/openssl . rm -rf ./$(REL)/bin/* @@ -86,8 +97,9 @@ endif ifeq ($(strip $(VE_OS)), macos) $(VE_CROSS_COMPILER)strip ./$(REL)/RapidClient.app/Contents/MacOS/Rapid* $(VE_CROSS_COMPILER)strip ./$(REL)/RapidStor.app/Contents/MacOS/Rapid* - install_name_tool -add_rpath @loader_path/../../../lib ./$(REL)/RapidClient.app/Contents/MacOS/RapidClient - install_name_tool -add_rpath @loader_path/../../../lib ./$(REL)/RapidStor.app/Contents/MacOS/RapidStor + cp -r ./output/$(VE_INSTALL_DIR)/plugins/* ./$(REL)/RapidClient.app/Contents/MacOS/ + cp -r ./output/$(VE_INSTALL_DIR)/plugins/* ./$(REL)/RapidStor.app/Contents/MacOS/ + #$(VE_CROSS_COMPILER)strip ./$(REL)/lib/libveuilib.dylib #$(VE_CROSS_COMPILER)strip ./$(REL)/lib/*ve*.so #$(VE_CROSS_COMPILER)strip ./$(REL)/lib/*cmn*.so @@ -95,21 +107,8 @@ else $(VE_CROSS_COMPILER)strip ./$(REL)/Rapid* $(VE_CROSS_COMPILER)strip ./$(REL)/lib/*.so* endif - -#release client only for macos -relc: -ifeq ($(strip $(VE_OS)), macos) - mkdir -p ./$(RELC)/RapidClient.app; - cp -Rf ./output/$(VE_INSTALL_DIR)/RapidClient.app/ $(RELC)/RapidClient.app/; - cp -rf ./output/$(VE_INSTALL_DIR)/lib/*.* ./$(RELC)/RapidClient.app/Contents/MacOS/ - $(VE_CROSS_COMPILER)strip ./$(RELC)/RapidClient.app/Contents/MacOS/Rapid* - #$(VE_CROSS_COMPILER)strip ./$(RELC)/lib/libveuilib.dylib - #$(VE_CROSS_COMPILER)strip ./$(RELC)/lib/*ve*.so - #$(VE_CROSS_COMPILER)strip ./$(RELC)/lib/*cmn*.so - rm -rf ./$(RELC)/RapidClient.app/Contents/MacOS/*.a - rm -rf ./$(RELC)/RapidClient.app/Contents/MacOS/pkgconfig - rm -rf ./$(RELC)/RapidClient.app/Contents/MacOS/*.dbg - rm -rf ./$(RELC)/RapidClient.app/Contents/MacOS/libSDL* -endif + echo "Create zip file" + #zip -r $(REL).zip $(REL) + tar zcvf $(REL).tar.gz $(REL) diff --git a/maclink.sh b/maclink.sh new file mode 100644 index 00000000..fb72536f --- /dev/null +++ b/maclink.sh @@ -0,0 +1,150 @@ +#!/bin/sh +export ve_libavcodec=libavcodec.57.dylib +export ve_libavformat=libavformat.57.dylib +export ve_libavutil=libavutil.55.dylib +export ve_libavfilter=libavfilter.6.dylib +export ve_libswscale=libswscale.4.dylib +export ve_libswresample=libswresample.2.dylib + +export ve_libPocoFoundation=libPocoFoundation.24.dylib +export ve_libPocoDataSQLite=libPocoDataSQLite.24.dylib +export ve_libPocoData=libPocoData.24.dylib +export ve_libPocoUtil=libPocoUtil.24.dylib +export ve_libPocoXML=libPocoXML.24.dylib +export ve_libPocoJSON=libPocoJSON.24.dylib + +export ve_libcurl=libcurl.4.dylib + +#Change RapidClient +cd $VE_PATH/output/$VE_INSTALL_DIR/RapidClient.app/Contents/MacOS + +install_name_tool -add_rpath @loader_path/../../../lib RapidClient +install_name_tool -change libcmnlib.so @rpath/libcmnlib.so RapidClient + +install_name_tool -change $VE_PATH/output/$VE_INSTALL_DIR//lib/$ve_libavcodec @rpath/$ve_libavcodec RapidClient +install_name_tool -change $VE_PATH/output/$VE_INSTALL_DIR//lib/$ve_libavformat @rpath/$ve_libavformat RapidClient +install_name_tool -change $VE_PATH/output/$VE_INSTALL_DIR//lib/$ve_libavutil @rpath/$ve_libavutil RapidClient +install_name_tool -change $VE_PATH/output/$VE_INSTALL_DIR//lib/$ve_libavfilter @rpath/$ve_libavfilter RapidClient +install_name_tool -change $VE_PATH/output/$VE_INSTALL_DIR//lib/$ve_libswscale @rpath/$ve_libswscale RapidClient +install_name_tool -change libvelib.so @rpath/libvelib.so RapidClient +install_name_tool -change libveuilib.dylib @rpath/libveuilib.dylib RapidClient + + +install_name_tool -change $VE_PATH/3rdparty/poco/lib/Darwin/x86_64/$ve_libPocoFoundation @rpath/$ve_libPocoFoundation RapidClient +install_name_tool -change $VE_PATH/3rdparty/poco/lib/Darwin/x86_64/$ve_libPocoDataSQLite @rpath/$ve_libPocoDataSQLite RapidClient +install_name_tool -change $VE_PATH/3rdparty/poco/lib/Darwin/x86_64/$ve_libPocoData @rpath/$ve_libPocoData RapidClient +install_name_tool -change $VE_PATH/3rdparty/poco/lib/Darwin/x86_64/$ve_libPocoUtil @rpath/$ve_libPocoUtil RapidClient + +#Change RapidStor +cd $VE_PATH/output/$VE_INSTALL_DIR/RapidStor.app/Contents/MacOS +install_name_tool -add_rpath @loader_path/../../../lib RapidStor +install_name_tool -change libcmnlib.so @rpath/libcmnlib.so RapidStor +install_name_tool -change $VE_PATH/output/$VE_INSTALL_DIR//lib/$ve_libavcodec @rpath/$ve_libavcodec RapidStor +install_name_tool -change $VE_PATH/output/$VE_INSTALL_DIR//lib/$ve_libavformat @rpath/$ve_libavformat RapidStor +install_name_tool -change $VE_PATH/output/$VE_INSTALL_DIR//lib/$ve_libavutil @rpath/$ve_libavutil RapidStor +install_name_tool -change $VE_PATH/output/$VE_INSTALL_DIR//lib/$ve_libavfilter @rpath/$ve_libavfilter RapidStor +install_name_tool -change $VE_PATH/output/$VE_INSTALL_DIR//lib/$ve_libswscale @rpath/$ve_libswscale RapidStor +install_name_tool -change libvelib.so @rpath/libvelib.so RapidStor +install_name_tool -change libveuilib.dylib @rpath/libveuilib.dylib RapidStor + + +install_name_tool -change $VE_PATH/3rdparty/poco/lib/Darwin/x86_64/$ve_libPocoFoundation @rpath/$ve_libPocoFoundation RapidStor +install_name_tool -change $VE_PATH/3rdparty/poco/lib/Darwin/x86_64/$ve_libPocoDataSQLite @rpath/$ve_libPocoDataSQLite RapidStor +install_name_tool -change $VE_PATH/3rdparty/poco/lib/Darwin/x86_64/$ve_libPocoData @rpath/$ve_libPocoData RapidStor +install_name_tool -change $VE_PATH/3rdparty/poco/lib/Darwin/x86_64/$ve_libPocoUtil @rpath/$ve_libPocoUtil RapidStor + +#Change Lib +cd $VE_PATH/output/$VE_INSTALL_DIR/lib + +#libcmnlib.so +install_name_tool -change $VE_PATH/output/$VE_INSTALL_DIR//lib/$ve_libavcodec @rpath/$ve_libavcodec libcmnlib.so +install_name_tool -change $VE_PATH/output/$VE_INSTALL_DIR//lib/$ve_libavformat @rpath/$ve_libavformat libcmnlib.so +install_name_tool -change $VE_PATH/output/$VE_INSTALL_DIR//lib/$ve_libavutil @rpath/$ve_libavutil libcmnlib.so +install_name_tool -change $VE_PATH/output/$VE_INSTALL_DIR//lib/$ve_libavfilter @rpath/$ve_libavfilter libcmnlib.so +install_name_tool -change $VE_PATH/output/$VE_INSTALL_DIR//lib/$ve_libswscale @rpath/$ve_libswscale libcmnlib.so +install_name_tool -change $VE_PATH/3rdparty/poco/lib/Darwin/x86_64/$ve_libPocoFoundation @rpath/$ve_libPocoFoundation libcmnlib.so +install_name_tool -change $VE_PATH/3rdparty/poco/lib/Darwin/x86_64/$ve_libPocoDataSQLite @rpath/$ve_libPocoDataSQLite libcmnlib.so +install_name_tool -change $VE_PATH/3rdparty/poco/lib/Darwin/x86_64/$ve_libPocoData @rpath/$ve_libPocoData libcmnlib.so +install_name_tool -change $VE_PATH/3rdparty/poco/lib/Darwin/x86_64/$ve_libPocoUtil @rpath/$ve_libPocoUtil libcmnlib.so +install_name_tool -change $VE_PATH/3rdparty/poco/lib/Darwin/x86_64/libPocoNet.24.dylib @rpath/libPocoNet.24.dylib libcmnlib.so + + +#libvelib.so +install_name_tool -change libcmnlib.so @rpath/libcmnlib.so libvelib.so +install_name_tool -change $VE_PATH/output/$VE_INSTALL_DIR//lib/$ve_libavcodec @rpath/$ve_libavcodec libvelib.so +install_name_tool -change $VE_PATH/output/$VE_INSTALL_DIR//lib/$ve_libavformat @rpath/$ve_libavformat libvelib.so +install_name_tool -change $VE_PATH/output/$VE_INSTALL_DIR//lib/$ve_libavutil @rpath/$ve_libavutil libvelib.so +install_name_tool -change $VE_PATH/output/$VE_INSTALL_DIR//lib/$ve_libavfilter @rpath/$ve_libavfilter libvelib.so +install_name_tool -change $VE_PATH/output/$VE_INSTALL_DIR//lib/$ve_libswscale @rpath/$ve_libswscale libvelib.so +install_name_tool -change $VE_PATH/3rdparty/poco/lib/Darwin/x86_64/$ve_libPocoFoundation @rpath/$ve_libPocoFoundation libvelib.so +install_name_tool -change $VE_PATH/3rdparty/poco/lib/Darwin/x86_64/$ve_libPocoDataSQLite @rpath/$ve_libPocoDataSQLite libvelib.so +install_name_tool -change $VE_PATH/3rdparty/poco/lib/Darwin/x86_64/$ve_libPocoData @rpath/$ve_libPocoData libvelib.so +install_name_tool -change $VE_PATH/3rdparty/poco/lib/Darwin/x86_64/$ve_libPocoUtil @rpath/$ve_libPocoUtil libvelib.so +install_name_tool -change $VE_PATH/3rdparty/poco/lib/Darwin/x86_64/libPocoNet.24.dylib @rpath/libPocoNet.24.dylib libvelib.so + +#$ve_libcurl +install_name_tool -change $VE_PATH/output/$VE_INSTALL_DIR/lib/$ve_libcurl @rpath/$ve_libcurl libvelib.so + +#libveuilib.dylib +install_name_tool -change libcmnlib.so @rpath/libcmnlib.so libveuilib.dylib +install_name_tool -change libvelib.so @rpath/libvelib.so libveuilib.dylib +install_name_tool -change $VE_PATH/output/$VE_INSTALL_DIR//lib/$ve_libavcodec @rpath/$ve_libavcodec libveuilib.dylib +install_name_tool -change $VE_PATH/output/$VE_INSTALL_DIR//lib/$ve_libavformat @rpath/$ve_libavformat libveuilib.dylib +install_name_tool -change $VE_PATH/output/$VE_INSTALL_DIR//lib/$ve_libavutil @rpath/$ve_libavutil libveuilib.dylib +install_name_tool -change $VE_PATH/output/$VE_INSTALL_DIR//lib/$ve_libavfilter @rpath/$ve_libavfilter libveuilib.dylib +install_name_tool -change $VE_PATH/output/$VE_INSTALL_DIR//lib/$ve_libswscale @rpath/$ve_libswscale libveuilib.dylib + +install_name_tool -change $VE_PATH/3rdparty/poco/lib/Darwin/x86_64/$ve_libPocoDataSQLite @rpath/$ve_libPocoDataSQLite libveuilib.dylib +install_name_tool -change $VE_PATH/3rdparty/poco/lib/Darwin/x86_64/$ve_libPocoData @rpath/$ve_libPocoData libveuilib.dylib +install_name_tool -change $VE_PATH/3rdparty/poco/lib/Darwin/x86_64/$ve_libPocoFoundation @rpath/$ve_libPocoFoundation libveuilib.dylib +install_name_tool -change $VE_PATH/3rdparty/poco/lib/Darwin/x86_64/$ve_libPocoUtil @rpath/$ve_libPocoUtil libveuilib.dylib +install_name_tool -change $VE_PATH/3rdparty/poco/lib/Darwin/x86_64/libPocoNet.24.dylib @rpath/libPocoNet.24.dylib libveuilib.dylib + + +#$ve_libPocoDataSQLite +install_name_tool -change $VE_PATH/3rdparty/poco/lib/Darwin/x86_64/$ve_libPocoData @rpath/$ve_libPocoData $ve_libPocoDataSQLite +install_name_tool -change $VE_PATH/3rdparty/poco/lib/Darwin/x86_64/$ve_libPocoFoundation @rpath/$ve_libPocoFoundation $ve_libPocoDataSQLite + +#$ve_libPocoData +install_name_tool -change $VE_PATH/3rdparty/poco/lib/Darwin/x86_64/$ve_libPocoFoundation @rpath/$ve_libPocoFoundation $ve_libPocoData + +#libPocoNet.24.dylib +install_name_tool -change $VE_PATH/3rdparty/poco/lib/Darwin/x86_64/$ve_libPocoFoundation @rpath/$ve_libPocoFoundation libPocoNet.24.dylib + +#$ve_libPocoUtil +install_name_tool -change $VE_PATH/3rdparty/poco/lib/Darwin/x86_64/$ve_libPocoFoundation @rpath/$ve_libPocoFoundation $ve_libPocoUtil +install_name_tool -change $VE_PATH/3rdparty/poco/lib/Darwin/x86_64/$ve_libPocoXML @rpath/$ve_libPocoXML $ve_libPocoUtil +install_name_tool -change $VE_PATH/3rdparty/poco/lib/Darwin/x86_64/$ve_libPocoJSON @rpath/$ve_libPocoJSON $ve_libPocoUtil + +#$ve_libPocoXML +install_name_tool -change $VE_PATH/3rdparty/poco/lib/Darwin/x86_64/$ve_libPocoFoundation @rpath/$ve_libPocoFoundation $ve_libPocoXML + +#$ve_libPocoJSON +install_name_tool -change $VE_PATH/3rdparty/poco/lib/Darwin/x86_64/$ve_libPocoFoundation @rpath/$ve_libPocoFoundation $ve_libPocoJSON + + +#$ve_libavfilter +install_name_tool -change $VE_PATH/output/$VE_INSTALL_DIR//lib/$ve_libavcodec @rpath/$ve_libavcodec $ve_libavfilter +install_name_tool -change $VE_PATH/output/$VE_INSTALL_DIR//lib/$ve_libswscale @rpath/$ve_libswscale $ve_libavfilter +install_name_tool -change $VE_PATH/output/$VE_INSTALL_DIR//lib/$ve_libavformat @rpath/$ve_libavformat $ve_libavfilter +install_name_tool -change $VE_PATH/output/$VE_INSTALL_DIR//lib/$ve_libavutil @rpath/$ve_libavutil $ve_libavfilter +install_name_tool -change $VE_PATH/output/$VE_INSTALL_DIR//lib/$ve_libswresample @rpath/$ve_libswresample $ve_libavfilter + +#$ve_libswscale +install_name_tool -change $VE_PATH/output/$VE_INSTALL_DIR//lib/$ve_libavutil @rpath/$ve_libavutil $ve_libswscale + +#$ve_libavformat +install_name_tool -change $VE_PATH/output/$VE_INSTALL_DIR//lib/$ve_libavcodec @rpath/$ve_libavcodec $ve_libavformat +install_name_tool -change $VE_PATH/output/$VE_INSTALL_DIR//lib/$ve_libswresample @rpath/$ve_libswresample $ve_libavformat +install_name_tool -change $VE_PATH/output/$VE_INSTALL_DIR//lib/$ve_libavutil @rpath/$ve_libavutil $ve_libavformat + +#$ve_libavcodec +install_name_tool -change $VE_PATH/output/$VE_INSTALL_DIR//lib/$ve_libswresample @rpath/$ve_libswresample $ve_libavcodec +install_name_tool -change $VE_PATH/output/$VE_INSTALL_DIR//lib/$ve_libavutil @rpath/$ve_libavutil $ve_libavcodec + +#$ve_libavutil +install_name_tool -change $VE_PATH/output/$VE_INSTALL_DIR//lib/$ve_libswresample @rpath/$ve_libswresample $ve_libavutil + +#$ve_libswresample +install_name_tool -change $VE_PATH/output/$VE_INSTALL_DIR//lib/$ve_libavutil @rpath/$ve_libavutil $ve_libswresample + diff --git a/relwin32.bat b/relwin32.bat index c0205750..4908f49f 100644 --- a/relwin32.bat +++ b/relwin32.bat @@ -9,6 +9,7 @@ xcopy /y /e vecvr\prj_win32\Win32\Release Rapidvms-%VE_VER%-win32-%VE_VER_PHASE REM cooy service file xcopy /y /e output\windows\nssm\win32\nssm.exe Rapidvms-%VE_VER%-win32-%VE_VER_PHASE% +xcopy /y output\windows\gencertificate.bat Rapidvms-%VE_VER%-win32-%VE_VER_PHASE% xcopy /y output\windows\regservice.bat Rapidvms-%VE_VER%-win32-%VE_VER_PHASE% xcopy /y output\windows\unregservice.bat Rapidvms-%VE_VER%-win32-%VE_VER_PHASE% diff --git a/relwin64.bat b/relwin64.bat index 55fdcedc..a767fedb 100644 --- a/relwin64.bat +++ b/relwin64.bat @@ -8,6 +8,7 @@ xcopy /y /e vecvr\prj_win32\x64\Release Rapidvms-%VE_VER%-win64-%VE_VER_PHASE% REM cooy service file xcopy /y /e output\windows\nssm\win64\nssm.exe Rapidvms-%VE_VER%-win64-%VE_VER_PHASE% +xcopy /y output\windows\gencertificate.bat Rapidvms-%VE_VER%-win64-%VE_VER_PHASE% xcopy /y output\windows\regservice.bat Rapidvms-%VE_VER%-win64-%VE_VER_PHASE% xcopy /y output\windows\unregservice.bat Rapidvms-%VE_VER%-win64-%VE_VER_PHASE% diff --git a/rules-macos.mk b/rules-macos.mk index 366bd7ea..7b27a4a3 100644 --- a/rules-macos.mk +++ b/rules-macos.mk @@ -4,7 +4,7 @@ export VE_OS=macos export VE_ARCH=`uname -m | sed 's/x86_//;s/i[3-6]86/32/'` export VE_VER=10.12 export VE_CROSS_COMPILER= -export VE_INSTALL_DIR=$VE_OS-$VE_ARCH"bit" +export VE_INSTALL_DIR=$VE_OS-$VE_VER-$VE_ARCH"bit" export LD_LIBRARY_PATH=$VE_PATH/output/$VE_INSTALL_DIR/lib/:$LD_LIBRARY_PATH export PATH=$VE_PATH/output/$VE_INSTALL_DIR"/bin:"$PATH diff --git a/rules.mk b/rules.mk index e8161b0a..8bebb804 100644 --- a/rules.mk +++ b/rules.mk @@ -1,4 +1,4 @@ -export VE_PATH=/home/user/opencvr/ +export VE_PATH=/home/user/rapidvms/trunk export VE_OS=`lsb_release -si` export VE_ARCH=`uname -m | sed 's/x86_//;s/i[3-6]86/32/'` diff --git a/veuilib/Makefile b/veuilib/Makefile index d01cb492..d6c1a4a1 100644 --- a/veuilib/Makefile +++ b/veuilib/Makefile @@ -36,11 +36,6 @@ LIBS=libveuilib veuilib_build: $(MAKE) -C ./onvifcpplib; -ifneq ($(strip $(VE_OS)), macos)#macos do not build the server -ifeq ($(strip $(PRJ_CROSS)), ) - $(MAKE) -C ./rtspserver; -endif -endif ifeq ($(strip $(PRJ_CROSS)), ) cd ./prj_linux/ ; qmake .; else