summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile23
-rwxr-xr-xgui/build.sh48
2 files changed, 46 insertions, 25 deletions
diff --git a/Makefile b/Makefile
index 1483a9f..560c123 100644
--- a/Makefile
+++ b/Makefile
@@ -77,13 +77,15 @@ ifeq ($(PLATFORM), windows)
EXTRA_GO_LDFLAGS = "-H windowsgui"
endif
-golib:
- # TODO port the buildGoLib parts of the gui/build.sh script here (issue #363)
- # or at least call that function from here --
- @echo "doing nothing"
+
+PKGFILES = $(shell find pkg -type f -name '*.go')
+lib/%.a: $(PKGFILES)
+ @./gui/build.sh --just-golib
+
+golib: lib/libgoshim.a
build_gui:
- @XBUILD=no TARGET=${TARGET} VENDOR_PATH=${VENDOR_PATH}/${PROVIDER} gui/build.sh
+ @XBUILD=no TARGET=${TARGET} VENDOR_PATH=${VENDOR_PATH}/${PROVIDER} gui/build.sh --skip-golib
build: golib build_helper build_openvpn build_gui
@@ -96,9 +98,6 @@ build_helper:
build_openvpn:
@[ -f $(OPENVPN_BIN) ] && echo "OpenVPN already built at" $(OPENVPN_BIN) || ./branding/thirdparty/openvpn/build_openvpn.sh
-debug_installer:
- @VERSION=${VERSION} ${SCRIPTS}/gen-qtinstaller osx ${INSTALLER}
-
build_installer: check_qtifw build
@mkdir -p ${INST_DATA}
@cp -r ${TEMPLATES}/qtinstaller/packages ${INSTALLER}
@@ -106,7 +105,7 @@ build_installer: check_qtifw build
@cp -r ${TEMPLATES}/qtinstaller/config ${INSTALLER}
ifeq (${PLATFORM}, darwin)
@mkdir -p ${INST_DATA}/helper
- @VERSION=${VERSION} ${SCRIPTS}/gen-qtinstaller osx ${INSTALLER}
+ @VERSION=${VERSION} VENDOR_PATH=${VENDOR_PATH} ${SCRIPTS}/gen-qtinstaller osx ${INSTALLER}
@cp "${TEMPLATES}/osx/bitmask.pf.conf" ${INST_DATA}helper/bitmask.pf.conf
@cp "${TEMPLATES}/osx/client.up.sh" ${INST_DATA}
@cp "${TEMPLATES}/osx/client.down.sh" ${INST_DATA}
@@ -265,9 +264,6 @@ packages: package_deb package_snap package_osx package_win
package_snap_in_docker:
@make -C docker package_snap
-package_win_in_docker:
- @make -C docker package_win
-
package_snap:
@unlink snap || true
@ln -s build/${PROVIDER}/snap snap
@@ -276,9 +272,6 @@ package_snap:
package_deb:
@make -C build/${PROVIDER} pkg_deb
-package_osx:
- @echo "tbd"
-
#########################################################################
# icons & locales
diff --git a/gui/build.sh b/gui/build.sh
index deb73a1..c3d1699 100755
--- a/gui/build.sh
+++ b/gui/build.sh
@@ -20,6 +20,7 @@ VENDOR_PATH=${VENDOR_PATH-providers/riseup}
PLATFORM=$(uname -s)
LDFLAGS=""
+BUILD_GOLIB="yes"
if [ "$TARGET" == "" ]
then
@@ -45,7 +46,6 @@ function init {
mkdir -p lib
}
-# TODO this should be moved to the makefile
function buildGoLib {
echo "[+] Using go in" $GO "[`go version`]"
$GO generate ./pkg/config/version/genver/gen.go
@@ -101,16 +101,44 @@ function renameOutput {
fi
}
-echo "[+] Building BitmaskVPN"
+function buildDefault {
+ echo "[+] Building BitmaskVPN"
+ lrelease bitmask.pro
+ if [ "$BUILD_GOLIB" == "yes" ]
+ then
+ buildGoLib
+ fi
+ buildQmake
-lrelease bitmask.pro
+ make -C $QTBUILD clean
+ make -C $QTBUILD -j4 all
+
+ renameOutput
+ echo "[+] Done."
+}
-# FIXME move buildGoLib to the main makefile, to avoid redundant builds if possible
-buildGoLib
-buildQmake
-make -C $QTBUILD clean
-make -C $QTBUILD -j4 all
+for i in "$@"
+do
+case $i in
+ --skip-golib)
+ BUILD_GOLIB="no"
+ shift # past argument=value
+ ;;
+ --just-golib)
+ BUILD_GOLIB="just"
+ shift # past argument=value
+ ;;
+ *)
+ # unknown option
+ ;;
+esac
+done
+
+if [ "$BUILD_GOLIB" == "just" ]
+then
+ buildGoLib
+else
+ buildDefault
+fi
-renameOutput
-echo "[+] Done."