120 lines
5.4 KiB
Makefile
120 lines
5.4 KiB
Makefile
# BackOne addon install paths and targets (linux, mac, windows).
|
|
# Included from make-linux.mk, make-mac.mk, and make-windows.mk.
|
|
|
|
ifndef BACKONE_PLATFORM
|
|
ifeq ($(OSTYPE),Darwin)
|
|
BACKONE_PLATFORM := mac
|
|
else ifeq ($(OSTYPE),Linux)
|
|
BACKONE_PLATFORM := linux
|
|
else ifeq ($(OS),Windows_NT)
|
|
BACKONE_PLATFORM := windows
|
|
else
|
|
BACKONE_PLATFORM := linux
|
|
endif
|
|
endif
|
|
|
|
RESOLVE_INSTALL_PATH := BACKONE_PLATFORM='$(BACKONE_PLATFORM)' bash pkg/common/resolve-install-path.sh
|
|
|
|
BACKONE_HOME_DEFAULT := $(shell $(RESOLVE_INSTALL_PATH) home)
|
|
BACKONE_ADDONS_DEFAULT := $(shell $(RESOLVE_INSTALL_PATH) addons)
|
|
BACKONE_BIN_DEFAULT := $(shell $(RESOLVE_INSTALL_PATH) bin)
|
|
|
|
# DESTDIR prefixes packaging staging; empty DESTDIR installs to live BackOne paths.
|
|
BACKONE_HOME_PREFIX ?= $(DESTDIR)/$(patsubst /%,%,$(BACKONE_HOME_DEFAULT))
|
|
BACKONE_ADDONS_PREFIX ?= $(DESTDIR)/$(patsubst /%,%,$(BACKONE_ADDONS_DEFAULT))
|
|
BACKONE_BIN_PREFIX ?= $(DESTDIR)/$(patsubst /%,%,$(BACKONE_BIN_DEFAULT))
|
|
|
|
ADDON_VERSION ?= $(shell cat debian/version 2>/dev/null || echo 1.17.1)
|
|
|
|
install-app-shell: FORCE
|
|
mkdir -p "$(BACKONE_HOME_PREFIX)/app"
|
|
cp -r app-shell/dist/* "$(BACKONE_HOME_PREFIX)/app/"
|
|
mkdir -p "$(BACKONE_HOME_PREFIX)"
|
|
printf '{}' > "$(BACKONE_HOME_PREFIX)/contacts.json"
|
|
|
|
install-app-tray: FORCE
|
|
ifeq ($(BACKONE_PLATFORM),linux)
|
|
mkdir -p "$(BACKONE_BIN_PREFIX)"
|
|
mkdir -p "$(BACKONE_ADDONS_PREFIX)/app-tray"
|
|
mkdir -p "$(DESTDIR)/usr/share/applications"
|
|
mkdir -p "$(DESTDIR)/etc/xdg/autostart"
|
|
cp app-tray/backone-tray.py "$(BACKONE_BIN_PREFIX)/backone-tray"
|
|
chmod 755 "$(BACKONE_BIN_PREFIX)/backone-tray"
|
|
cp app-tray/addon.json "$(BACKONE_ADDONS_PREFIX)/app-tray/"
|
|
cp app-tray/backone-tray.desktop "$(DESTDIR)/usr/share/applications/"
|
|
cp app-tray/backone-tray-autostart.desktop "$(DESTDIR)/etc/xdg/autostart/"
|
|
else
|
|
@echo "install-app-tray: skipped on $(BACKONE_PLATFORM) (Linux-only)"
|
|
endif
|
|
|
|
install-addon-comms-core: FORCE
|
|
mkdir -p "$(BACKONE_ADDONS_PREFIX)/comms-core"
|
|
cp addons/comms-core/addon.json "$(BACKONE_ADDONS_PREFIX)/comms-core/"
|
|
cp addons/comms-core/schema.sql "$(BACKONE_ADDONS_PREFIX)/comms-core/"
|
|
|
|
install-addon-webhub: FORCE
|
|
mkdir -p "$(BACKONE_ADDONS_PREFIX)/webhub"
|
|
cp addons/webhub/addon.json "$(BACKONE_ADDONS_PREFIX)/webhub/"
|
|
cp addons/webhub/backone-webhub "$(BACKONE_ADDONS_PREFIX)/webhub/"
|
|
chmod 755 "$(BACKONE_ADDONS_PREFIX)/webhub/backone-webhub"
|
|
ifeq ($(BACKONE_PLATFORM),linux)
|
|
mkdir -p "$(DESTDIR)/lib/systemd/system"
|
|
cp addons/webhub/backone-webhub.service "$(DESTDIR)/lib/systemd/system/backone-webhub.service"
|
|
endif
|
|
|
|
install-addon-voice: FORCE
|
|
mkdir -p "$(BACKONE_ADDONS_PREFIX)/voice"
|
|
mkdir -p "$(BACKONE_HOME_PREFIX)/app/addons/voice"
|
|
cp addons/voice/addon.json "$(BACKONE_ADDONS_PREFIX)/voice/"
|
|
cp addons/voice/frontend/index.js "$(BACKONE_HOME_PREFIX)/app/addons/voice/"
|
|
|
|
install-addon-video: FORCE
|
|
mkdir -p "$(BACKONE_ADDONS_PREFIX)/video"
|
|
mkdir -p "$(BACKONE_HOME_PREFIX)/app/addons/video"
|
|
cp addons/video/addon.json "$(BACKONE_ADDONS_PREFIX)/video/"
|
|
cp addons/video/frontend/index.js "$(BACKONE_HOME_PREFIX)/app/addons/video/"
|
|
|
|
install-addon-chat: FORCE
|
|
mkdir -p "$(BACKONE_ADDONS_PREFIX)/chat"
|
|
mkdir -p "$(BACKONE_HOME_PREFIX)/app/addons/chat"
|
|
mkdir -p "$(BACKONE_ADDONS_PREFIX)/chat/attachments"
|
|
cp addons/chat/addon.json "$(BACKONE_ADDONS_PREFIX)/chat/"
|
|
cp addons/chat/frontend/index.js "$(BACKONE_HOME_PREFIX)/app/addons/chat/"
|
|
|
|
install-addon-secure-chat: FORCE
|
|
mkdir -p "$(BACKONE_ADDONS_PREFIX)/secure-chat"
|
|
mkdir -p "$(BACKONE_HOME_PREFIX)/app/addons/secure-chat"
|
|
cp addons/secure-chat/addon.json "$(BACKONE_ADDONS_PREFIX)/secure-chat/"
|
|
cp addons/secure-chat/frontend/index.js "$(BACKONE_HOME_PREFIX)/app/addons/secure-chat/"
|
|
|
|
install-addon-updater: FORCE
|
|
mkdir -p "$(BACKONE_ADDONS_PREFIX)/updater/migrations"
|
|
cp addons/updater/addon.json "$(BACKONE_ADDONS_PREFIX)/updater/"
|
|
cp addons/updater/backone-updater "$(BACKONE_ADDONS_PREFIX)/updater/"
|
|
cp addons/updater/rebuild-addon-manifest.sh "$(BACKONE_ADDONS_PREFIX)/updater/"
|
|
cp addons/updater/merge-local-conf.sh "$(BACKONE_ADDONS_PREFIX)/updater/"
|
|
cp addons/updater/sync-authtoken.sh "$(BACKONE_ADDONS_PREFIX)/updater/"
|
|
cp pkg/common/platform-paths.sh "$(BACKONE_ADDONS_PREFIX)/updater/"
|
|
chmod 755 "$(BACKONE_ADDONS_PREFIX)/updater/backone-updater"
|
|
chmod 755 "$(BACKONE_ADDONS_PREFIX)/updater/rebuild-addon-manifest.sh"
|
|
chmod 755 "$(BACKONE_ADDONS_PREFIX)/updater/merge-local-conf.sh"
|
|
chmod 755 "$(BACKONE_ADDONS_PREFIX)/updater/sync-authtoken.sh"
|
|
cp addons/updater/migrations/* "$(BACKONE_ADDONS_PREFIX)/updater/migrations/"
|
|
mkdir -p "$(BACKONE_BIN_PREFIX)"
|
|
ifeq ($(BACKONE_PLATFORM),linux)
|
|
ln -sf ../lib/backone/addons/updater/backone-updater "$(BACKONE_BIN_PREFIX)/backone-updater"
|
|
else
|
|
cp addons/updater/backone-updater "$(BACKONE_BIN_PREFIX)/backone-updater"
|
|
chmod 755 "$(BACKONE_BIN_PREFIX)/backone-updater"
|
|
endif
|
|
|
|
install-addon-manifest: install-addon-comms-core install-addon-webhub install-addon-voice install-addon-video install-addon-chat install-addon-secure-chat install-addon-updater FORCE
|
|
ifeq ($(DESTDIR),)
|
|
bash addons/updater/rebuild-addon-manifest.sh || true
|
|
else
|
|
BACKONE_HOME="$(BACKONE_HOME_PREFIX)" BACKONE_ADDONS_DIR="$(BACKONE_ADDONS_PREFIX)" \
|
|
bash addons/updater/rebuild-addon-manifest.sh || true
|
|
endif
|
|
|
|
install-addons: install-app-shell install-app-tray install-addon-comms-core install-addon-webhub install-addon-voice install-addon-video install-addon-chat install-addon-secure-chat install-addon-updater install-addon-manifest FORCE
|