Makefile 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. RPMS_DIR=rpm/
  2. VERSION := $(shell cat version)
  3. DIST_DOM0 ?= fc18
  4. OS ?= Linux
  5. ifeq ($(OS),Linux)
  6. DATADIR ?= /var/lib/qubes
  7. STATEDIR ?= /var/run/qubes
  8. LOGDIR ?= /var/log/qubes
  9. else ifeq ($(OS),Windows_NT)
  10. DATADIR ?= c:/qubes
  11. STATEDIR ?= c:/qubes/state
  12. LOGDIR ?= c:/qubes/log
  13. endif
  14. help:
  15. @echo "make rpms -- generate binary rpm packages"
  16. @echo "make rpms-dom0 -- generate binary rpm packages for Dom0"
  17. @echo "make update-repo-current -- copy newly generated rpms to qubes yum repo"
  18. @echo "make update-repo-current-testing -- same, but to -current-testing repo"
  19. @echo "make update-repo-unstable -- same, but to -testing repo"
  20. @echo "make update-repo-installer -- copy dom0 rpms to installer repo"
  21. @echo "make clean -- cleanup"
  22. rpms: rpms-dom0
  23. rpms-vm:
  24. @true
  25. rpms-dom0:
  26. rpmbuild --define "_rpmdir $(RPMS_DIR)" -bb rpm_spec/core-dom0.spec
  27. rpmbuild --define "_rpmdir $(RPMS_DIR)" -bb rpm_spec/core-dom0-doc.spec
  28. rpm --addsign \
  29. $(RPMS_DIR)/x86_64/qubes-core-dom0-$(VERSION)*.rpm \
  30. $(RPMS_DIR)/noarch/qubes-core-dom0-doc-$(VERSION)*rpm
  31. clean:
  32. make -C dispvm clean
  33. make -C qmemman clean
  34. all:
  35. make all -C core
  36. make all -C core-modules
  37. make all -C tests
  38. # Currently supported only on xen
  39. ifeq ($(BACKEND_VMM),xen)
  40. make all -C qmemman
  41. make all -C dispvm
  42. endif
  43. install:
  44. ifeq ($(OS),Linux)
  45. $(MAKE) install -C linux/systemd
  46. $(MAKE) install -C linux/aux-tools
  47. $(MAKE) install -C linux/system-config
  48. endif
  49. $(MAKE) install -C qvm-tools
  50. $(MAKE) install -C core
  51. $(MAKE) install -C core-modules
  52. $(MAKE) install -C tests
  53. ifeq ($(BACKEND_VMM),xen)
  54. # Currently supported only on xen
  55. $(MAKE) install -C qmemman
  56. $(MAKE) install -C dispvm
  57. endif
  58. mkdir -p $(DESTDIR)/etc/qubes-rpc/policy
  59. mkdir -p $(DESTDIR)/usr/libexec/qubes
  60. cp qubes-rpc-policy/qubes.Filecopy.policy $(DESTDIR)/etc/qubes-rpc/policy/qubes.Filecopy
  61. cp qubes-rpc-policy/qubes.OpenInVM.policy $(DESTDIR)/etc/qubes-rpc/policy/qubes.OpenInVM
  62. cp qubes-rpc-policy/qubes.VMShell.policy $(DESTDIR)/etc/qubes-rpc/policy/qubes.VMShell
  63. cp qubes-rpc-policy/qubes.NotifyUpdates.policy $(DESTDIR)/etc/qubes-rpc/policy/qubes.NotifyUpdates
  64. cp qubes-rpc-policy/qubes.NotifyTools.policy $(DESTDIR)/etc/qubes-rpc/policy/qubes.NotifyTools
  65. cp qubes-rpc-policy/qubes.GetImageRGBA.policy $(DESTDIR)/etc/qubes-rpc/policy/qubes.GetImageRGBA
  66. cp qubes-rpc/qubes.NotifyUpdates $(DESTDIR)/etc/qubes-rpc/
  67. cp qubes-rpc/qubes.NotifyTools $(DESTDIR)/etc/qubes-rpc/
  68. cp qubes-rpc/qubes-notify-updates $(DESTDIR)/usr/libexec/qubes/
  69. cp qubes-rpc/qubes-notify-tools $(DESTDIR)/usr/libexec/qubes/
  70. mkdir -p $(DESTDIR)/usr/share/qubes
  71. ifeq ($(BACKEND_VMM),xen)
  72. cp xen-vm-config/vm-template.xml $(DESTDIR)/usr/share/qubes/xen-vm-template.xml
  73. cp xen-vm-config/vm-template-hvm.xml $(DESTDIR)/usr/share/qubes/
  74. endif
  75. mkdir -p $(DESTDIR)$(DATADIR)
  76. mkdir -p $(DESTDIR)$(DATADIR)/vm-templates
  77. mkdir -p $(DESTDIR)$(DATADIR)/appvms
  78. mkdir -p $(DESTDIR)$(DATADIR)/servicevms
  79. mkdir -p $(DESTDIR)$(DATADIR)/vm-kernels
  80. mkdir -p $(DESTDIR)$(DATADIR)/backup
  81. mkdir -p $(DESTDIR)$(DATADIR)/dvmdata
  82. mkdir -p $(DESTDIR)$(STATEDIR)
  83. mkdir -p $(DESTDIR)$(LOGDIR)