VeraCrypt
aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMounir IDRASSI <mounir.idrassi@idrix.fr>2017-06-13 16:40:05 +0200
committerMounir IDRASSI <mounir.idrassi@idrix.fr>2017-06-13 18:21:13 +0200
commit5d0321291f4df297b0d9f9837099a36cdf1c83b6 (patch)
treed90894454931f927bcc13382d3d47db9856c1d4b
parenteb4f5ac4e7fedae6061a9615d41dd6c2c8779c92 (diff)
downloadVeraCrypt-5d0321291f4df297b0d9f9837099a36cdf1c83b6.tar.gz
VeraCrypt-5d0321291f4df297b0d9f9837099a36cdf1c83b6.zip
Linux/MacOSX: Modify Makefile to separate between build and packaging. Add install target for local installation.
-rwxr-xr-xsrc/Build/build_veracrypt_linux.sh8
-rwxr-xr-xsrc/Build/build_veracrypt_macosx.sh8
-rwxr-xr-xsrc/Main/Main.make31
-rw-r--r--src/Makefile5
4 files changed, 43 insertions, 9 deletions
diff --git a/src/Build/build_veracrypt_linux.sh b/src/Build/build_veracrypt_linux.sh
index 8e16ebfe..deed925b 100755
--- a/src/Build/build_veracrypt_linux.sh
+++ b/src/Build/build_veracrypt_linux.sh
@@ -31,17 +31,17 @@ echo "Building GUI version of VeraCrypt"
# this will be the temporary wxWidgets directory
export WX_BUILD_DIR=$PARENTDIR/wxBuildGui
-make WXSTATIC=1 wxbuild && make WXSTATIC=1 clean && make WXSTATIC=1
+make WXSTATIC=1 wxbuild && make WXSTATIC=1 clean && make WXSTATIC=1 && make WXSTATIC=1 package
# Uncomment below and comment line above to reuse existing wxWidgets build
-# make WXSTATIC=1 clean && make WXSTATIC=1
+# make WXSTATIC=1 clean && make WXSTATIC=1 && make WXSTATIC=1 package
echo "Building console version of VeraCrypt"
# this will be the temporary wxWidgets directory
export WX_BUILD_DIR=$PARENTDIR/wxBuildConsole
-make WXSTATIC=1 NOGUI=1 wxbuild && make WXSTATIC=1 NOGUI=1 clean && make WXSTATIC=1 NOGUI=1
+make WXSTATIC=1 NOGUI=1 wxbuild && make WXSTATIC=1 NOGUI=1 clean && make WXSTATIC=1 NOGUI=1 && make WXSTATIC=1 NOGUI=1 package
# Uncomment below and comment line above to reuse existing wxWidgets build
-# make WXSTATIC=1 NOGUI=1 clean && make WXSTATIC=1 NOGUI=1
+# make WXSTATIC=1 NOGUI=1 clean && make WXSTATIC=1 NOGUI=1 && make WXSTATIC=1 NOGUI=1 package
diff --git a/src/Build/build_veracrypt_macosx.sh b/src/Build/build_veracrypt_macosx.sh
index f8146422..ba325d4b 100755
--- a/src/Build/build_veracrypt_macosx.sh
+++ b/src/Build/build_veracrypt_macosx.sh
@@ -12,8 +12,8 @@ SOURCEPATH=$(cd "$(dirname "$SCRIPTPATH/../.")"; pwd)
# directory where the VeraCrypt project has been checked out
PARENTDIR=$(cd "$(dirname "$SCRIPTPATH/../../../.")"; pwd)
-# the sources of wxWidgets 3.0.2 must be extracted to the parent directory
-export WX_ROOT=$PARENTDIR/wxWidgets-3.0.2
+# the sources of wxWidgets 3.0.3 must be extracted to the parent directory
+export WX_ROOT=$PARENTDIR/wxWidgets-3.0.3
echo "Using wxWidgets sources in $WX_ROOT"
# this will be the temporary wxWidgets directory
@@ -27,7 +27,7 @@ echo "Using MacOSX SDK $VC_OSX_TARGET"
cd $SOURCEPATH
echo "Building VeraCrypt"
-make WXSTATIC=1 wxbuild && make WXSTATIC=1 clean && make WXSTATIC=1
+make WXSTATIC=1 wxbuild && make WXSTATIC=1 clean && make WXSTATIC=1 && make WXSTATIC=1 package
# Uncomment below and comment line above to reuse existing wxWidgets build
-# make WXSTATIC=1 clean && make WXSTATIC=1
+# make WXSTATIC=1 clean && make WXSTATIC=1 && make WXSTATIC=1 package
diff --git a/src/Main/Main.make b/src/Main/Main.make
index 7041d66e..b7c107a5 100755
--- a/src/Main/Main.make
+++ b/src/Main/Main.make
@@ -152,6 +152,7 @@ endif
endif
ifeq "$(PLATFORM)" "MacOSX"
+prepare: $(APPNAME)
mkdir -p $(APPNAME).app/Contents/MacOS $(APPNAME).app/Contents/Resources/doc/HTML
-rm -f $(APPNAME).app/Contents/MacOS/$(APPNAME)
-rm -f $(APPNAME).app/Contents/MacOS/$(APPNAME)_console
@@ -179,6 +180,11 @@ endif
echo -n APPLTRUE >$(APPNAME).app/Contents/PkgInfo
sed -e 's/_VERSION_/$(patsubst %a,%.1,$(patsubst %b,%.2,$(TC_VERSION)))/' ../Build/Resources/MacOSX/Info.plist.xml >$(APPNAME).app/Contents/Info.plist
codesign -s "Developer ID Application: Mounir IDRASSI" --timestamp $(APPNAME).app
+
+install: prepare
+ cp -R $(APPNAME).app /Applications/.
+
+package: prepare
/usr/local/bin/packagesbuild $(PWD)/Setup/MacOSX/veracrypt.pkgproj
productsign --sign "Developer ID Installer: Mounir IDRASSI" --timestamp "$(PWD)/Setup/MacOSX/VeraCrypt $(TC_VERSION).pkg" $(PWD)/Setup/MacOSX/VeraCrypt_$(TC_VERSION).pkg
rm -f $(APPNAME)_$(TC_VERSION).dmg
@@ -197,7 +203,7 @@ endif
ifeq "$(PLATFORM)" "Linux"
-ifeq "$(TC_BUILD_CONFIG)" "Release"
+prepare: $(APPNAME)
mkdir -p $(PWD)/Setup/Linux/usr/bin
mkdir -p $(PWD)/Setup/Linux/usr/share/$(APPNAME)/doc/HTML
cp $(PWD)/Main/$(APPNAME) $(PWD)/Setup/Linux/usr/bin/$(APPNAME)
@@ -214,6 +220,11 @@ ifndef TC_NO_GUI
endif
+install: prepare
+ cp -R $(PWD)/Setup/Linux/usr /.
+
+ifeq "$(TC_BUILD_CONFIG)" "Release"
+package: prepare
tar cfz $(PWD)/Setup/Linux/$(PACKAGE_NAME) --directory $(PWD)/Setup/Linux usr
@rm -fr $(INTERNAL_INSTALLER_NAME)
@@ -237,6 +248,24 @@ endif
endif
+ifeq "$(PLATFORM)" "FreeBSD"
+install: $(APPNAME)
+ mkdir -p /usr/share/$(APPNAME)/doc/HTML
+ cp $(PWD)/Main/$(APPNAME) /usr/bin/$(APPNAME)
+ cp $(PWD)/Setup/Linux/$(APPNAME)-uninstall.sh /usr/bin/$(APPNAME)-uninstall.sh
+ chmod +x /usr/bin/$(APPNAME)-uninstall.sh
+ cp $(PWD)/License.txt /usr/share/$(APPNAME)/doc/License.txt
+ cp $(PWD)/../doc/html/* "/usr/share/$(APPNAME)/doc/HTML"
+
+ifndef TC_NO_GUI
+ mkdir -p /usr/share/applications
+ mkdir -p /usr/share/pixmaps
+ cp $(PWD)/Resources/Icons/VeraCrypt-256x256.xpm /usr/share/pixmaps/$(APPNAME).xpm
+ cp $(PWD)/Setup/Linux/$(APPNAME).desktop /usr/share/applications/$(APPNAME).desktop
+endif
+
+endif
+
$(OBJS): $(PCH)
Resources.o: $(RESOURCES)
diff --git a/src/Makefile b/src/Makefile
index 3b6c0867..c1c4f02f 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -362,6 +362,11 @@ all clean:
export LIBS="$(BASE_DIR)/$$DIR/$$PROJ.a $$LIBS"; \
done
+install:
+ $(MAKE) -C Main -f Main.make NAME=Main install
+
+package:
+ $(MAKE) -C Main -f Main.make NAME=Main package
#------ wxWidgets build ------