]> glassweightruler.freedombox.rocks Git - waydroid.git/blob - Makefile
session_manager: Stop the container on SIGHUP
[waydroid.git] / Makefile
1 PREFIX := /usr
2
3 USE_SYSTEMD ?= 1
4 USE_DBUS_ACTIVATION ?= 1
5 USE_NFTABLES ?= 0
6
7 SYSCONFDIR := /etc
8 WAYDROID_DIR := $(PREFIX)/lib/waydroid
9 BIN_DIR := $(PREFIX)/bin
10 APPS_DIR := $(PREFIX)/share/applications
11 APPS_DIRECTORY_DIR := $(PREFIX)/share/desktop-directories
12 APPS_MENU_DIR := $(SYSCONFDIR)/xdg/menus/applications-merged
13 METAINFO_DIR := $(PREFIX)/share/metainfo
14 ICONS_DIR := $(PREFIX)/share/icons
15 SYSD_DIR := $(PREFIX)/lib/systemd/system
16 DBUS_DIR := $(PREFIX)/share/dbus-1
17 POLKIT_DIR := $(PREFIX)/share/polkit-1
18 APPARMOR_DIR := $(SYSCONFDIR)/apparmor.d
19
20 INSTALL_WAYDROID_DIR := $(DESTDIR)$(WAYDROID_DIR)
21 INSTALL_BIN_DIR := $(DESTDIR)$(BIN_DIR)
22 INSTALL_APPS_DIR := $(DESTDIR)$(APPS_DIR)
23 INSTALL_APPS_DIRECTORY_DIR := $(DESTDIR)$(APPS_DIRECTORY_DIR)
24 INSTALL_APPS_MENU_DIR := $(DESTDIR)$(APPS_MENU_DIR)
25 INSTALL_METAINFO_DIR := $(DESTDIR)$(METAINFO_DIR)
26 INSTALL_ICONS_DIR := $(DESTDIR)$(ICONS_DIR)
27 INSTALL_SYSD_DIR := $(DESTDIR)$(SYSD_DIR)
28 INSTALL_DBUS_DIR := $(DESTDIR)$(DBUS_DIR)
29 INSTALL_POLKIT_DIR := $(DESTDIR)$(POLKIT_DIR)
30 INSTALL_APPARMOR_DIR := $(DESTDIR)$(APPARMOR_DIR)
31
32 build:
33 @echo "Nothing to build, run 'make install' to copy the files!"
34
35 install:
36 install -d $(INSTALL_WAYDROID_DIR) $(INSTALL_BIN_DIR) $(INSTALL_DBUS_DIR)/system.d $(INSTALL_POLKIT_DIR)/actions
37 install -d $(INSTALL_APPS_DIR) $(INSTALL_METAINFO_DIR) $(INSTALL_ICONS_DIR)/hicolor/512x512/apps
38 install -d $(INSTALL_APPS_DIRECTORY_DIR) $(INSTALL_APPS_MENU_DIR)
39 cp -a data tools waydroid.py $(INSTALL_WAYDROID_DIR)
40 ln -sf $(WAYDROID_DIR)/waydroid.py $(INSTALL_BIN_DIR)/waydroid
41 mv $(INSTALL_WAYDROID_DIR)/data/AppIcon.png $(INSTALL_ICONS_DIR)/hicolor/512x512/apps/waydroid.png
42 mv $(INSTALL_WAYDROID_DIR)/data/*.desktop $(INSTALL_APPS_DIR)
43 mv $(INSTALL_WAYDROID_DIR)/data/*.menu $(INSTALL_APPS_MENU_DIR)
44 mv $(INSTALL_WAYDROID_DIR)/data/*.directory $(INSTALL_APPS_DIRECTORY_DIR)
45 mv $(INSTALL_WAYDROID_DIR)/data/*.metainfo.xml $(INSTALL_METAINFO_DIR)
46 cp dbus/id.waydro.Container.conf $(INSTALL_DBUS_DIR)/system.d/
47 cp dbus/id.waydro.Container.policy $(INSTALL_POLKIT_DIR)/actions/
48 if [ $(USE_DBUS_ACTIVATION) = 1 ]; then \
49 install -d $(INSTALL_DBUS_DIR)/system-services; \
50 cp dbus/id.waydro.Container.service $(INSTALL_DBUS_DIR)/system-services/; \
51 fi
52 if [ $(USE_SYSTEMD) = 1 ]; then \
53 install -d $(INSTALL_SYSD_DIR); \
54 cp systemd/waydroid-container.service $(INSTALL_SYSD_DIR); \
55 fi
56 if [ $(USE_NFTABLES) = 1 ]; then \
57 sed '/LXC_USE_NFT=/ s/false/true/' -i $(INSTALL_WAYDROID_DIR)/data/scripts/waydroid-net.sh; \
58 fi
59
60 install_apparmor:
61 install -d $(INSTALL_APPARMOR_DIR) $(INSTALL_APPARMOR_DIR)/lxc
62 mkdir -p $(INSTALL_APPARMOR_DIR)/local/
63 touch $(INSTALL_APPARMOR_DIR)/local/adbd
64 touch $(INSTALL_APPARMOR_DIR)/local/android_app
65 touch $(INSTALL_APPARMOR_DIR)/local/lxc-waydroid
66 cp -f data/configs/apparmor_profiles/adbd $(INSTALL_APPARMOR_DIR)/adbd
67 cp -f data/configs/apparmor_profiles/android_app $(INSTALL_APPARMOR_DIR)/android_app
68 cp -f data/configs/apparmor_profiles/lxc-waydroid $(INSTALL_APPARMOR_DIR)/lxc/lxc-waydroid
69 # Load the profiles if not just packaging
70 if [ -z $(DESTDIR) ] && { aa-enabled --quiet || systemctl is-active -q apparmor; } 2>/dev/null; then \
71 apparmor_parser -r -T -W "$(INSTALL_APPARMOR_DIR)/adbd"; \
72 apparmor_parser -r -T -W "$(INSTALL_APPARMOR_DIR)/android_app"; \
73 apparmor_parser -r -T -W "$(INSTALL_APPARMOR_DIR)/lxc/lxc-waydroid"; \
74 fi