From 0d256b675d8a9a59d4521c4b81bfec1ee1cc7131 Mon Sep 17 00:00:00 2001 From: Rafal Stefanowski Date: Tue, 11 Feb 2020 11:58:02 +0100 Subject: [PATCH] Makefile changes for building RPM Signed-off-by: Rafal Stefanowski --- casadm/Makefile | 31 ++++++++++++--------- modules/Makefile | 17 ++++++------ utils/Makefile | 71 ++++++++++++++++++++++++++---------------------- 3 files changed, 65 insertions(+), 54 deletions(-) diff --git a/casadm/Makefile b/casadm/Makefile index acbc88a..dd12ee6 100644 --- a/casadm/Makefile +++ b/casadm/Makefile @@ -131,26 +131,31 @@ clean: distclean: clean @rm -f $(VERSION_FILE) -install: +install: install_files + +install_files: @echo "Installing casadm" - @install -m 755 $(TARGET) $(BINARY_PATH)/$(TARGET) - @install -m 644 $(UTILS_DIR)/$(TARGET).8 /usr/share/man/man8/$(TARGET).8 + @mkdir -p $(DESTDIR)$(BINARY_PATH) + @install -m 755 $(TARGET) $(DESTDIR)$(BINARY_PATH)/$(TARGET) + @mkdir -p $(DESTDIR)/usr/share/man/man8 + @install -m 644 $(UTILS_DIR)/$(TARGET).8 $(DESTDIR)/usr/share/man/man8/$(TARGET).8 - @install -m 755 -d /etc/opencas - @install -m 644 $(UTILS_DIR)/opencas.conf /etc/opencas/opencas.conf - @install -m 444 $(UTILS_DIR)/ioclass-config.csv /etc/opencas/ioclass-config.csv + @install -m 755 -d $(DESTDIR)/etc/opencas + @install -m 644 $(UTILS_DIR)/opencas.conf $(DESTDIR)/etc/opencas/opencas.conf + @install -m 444 $(UTILS_DIR)/ioclass-config.csv $(DESTDIR)/etc/opencas/ioclass-config.csv - @install -m 644 $(UTILS_DIR)/opencas.conf.5 /usr/share/man/man5/opencas.conf.5 + @mkdir -p $(DESTDIR)/usr/share/man/man5 + @install -m 644 $(UTILS_DIR)/opencas.conf.5 $(DESTDIR)/usr/share/man/man5/opencas.conf.5 uninstall: @echo "Uninstalling casadm" - @rm $(BINARY_PATH)/$(TARGET) - @rm /usr/share/man/man8/$(TARGET).8 + @rm $(DESTDIR)$(BINARY_PATH)/$(TARGET) + @rm $(DESTDIR)/usr/share/man/man8/$(TARGET).8 - @rm /etc/opencas/opencas.conf - @rm /etc/opencas/ioclass-config.csv - @rm -rf /etc/opencas + @rm $(DESTDIR)/etc/opencas/opencas.conf + @rm $(DESTDIR)/etc/opencas/ioclass-config.csv + @rm -rf $(DESTDIR)/etc/opencas - @rm /usr/share/man/man5/opencas.conf.5 + @rm $(DESTDIR)/usr/share/man/man5/opencas.conf.5 .PHONY: clean distclean all sync build install uninstall diff --git a/modules/Makefile b/modules/Makefile index da97184..2ff46c8 100644 --- a/modules/Makefile +++ b/modules/Makefile @@ -49,22 +49,23 @@ clean: distclean: clean distsync @rm -f $(PWD)/generated_defines.h -install: - @echo "Installing Open-CAS modules" - @install -m 755 -d $(MODULES_DIR) - @install -m 744 cas_disk/$(DISK_MODULE).ko $(MODULES_DIR)/$(DISK_MODULE).ko - @install -m 744 cas_cache/$(CACHE_MODULE).ko $(MODULES_DIR)/$(CACHE_MODULE).ko - +install: install_files @$(DEPMOD) @$(MODPROBE) $(CACHE_MODULE) +install_files: + @echo "Installing Open-CAS modules" + @install -m 755 -d $(DESTDIR)$(MODULES_DIR) + @install -m 744 cas_disk/$(DISK_MODULE).ko $(DESTDIR)$(MODULES_DIR)/$(DISK_MODULE).ko + @install -m 744 cas_cache/$(CACHE_MODULE).ko $(DESTDIR)$(MODULES_DIR)/$(CACHE_MODULE).ko + uninstall: @echo "Uninstalling Open-CAS modules" @$(RMMOD) $(CACHE_MODULE) @$(RMMOD) $(DISK_MODULE) - @rm $(MODULES_DIR)/$(CACHE_MODULE).ko - @rm $(MODULES_DIR)/$(DISK_MODULE).ko + @rm $(DESTDIR)$(MODULES_DIR)/$(CACHE_MODULE).ko + @rm $(DESTDIR)$(MODULES_DIR)/$(DISK_MODULE).ko @$(DEPMOD) diff --git a/utils/Makefile b/utils/Makefile index fc2fa6f..ac69fb2 100644 --- a/utils/Makefile +++ b/utils/Makefile @@ -18,58 +18,63 @@ endif # Just a placeholder when running make from parent dir without install/uninstall arg all: ; -install: +install: install_files ifeq (, $(PYTHON3)) $(error package 'python3' not found) else - @echo "Installing Open-CAS utils" - - @install -m 755 -d $(CASCTL_DIR) - @install -m 644 opencas.py $(CASCTL_DIR)/opencas.py - @install -m 755 casctl $(CASCTL_DIR)/casctl - @install -m 755 open-cas-loader $(CASCTL_DIR)/open-cas-loader - - @ln -fs $(CASCTL_DIR)/casctl /sbin/casctl - - @install -m 644 60-persistent-storage-cas-load.rules $(UDEVRULES_DIR)/60-persistent-storage-cas-load.rules - @install -m 644 60-persistent-storage-cas.rules $(UDEVRULES_DIR)/60-persistent-storage-cas.rules - - @install -m 755 -d /usr/share/doc/opencas - @$(UDEV) control --reload-rules - - @install -m 644 casctl.8 /usr/share/man/man8/casctl.8 - - @install -m 644 open-cas-shutdown.service $(SYSTEMD_DIR)/open-cas-shutdown.service - @install -m 644 open-cas.service $(SYSTEMD_DIR)/open-cas.service - @install -m 755 -d $(SYSTEMD_DIR)/../system-shutdown - @install -m 755 open-cas.shutdown $(SYSTEMD_DIR)/../system-shutdown/open-cas.shutdown @$(SYSTEMCTL) daemon-reload @$(SYSTEMCTL) -q enable open-cas-shutdown @$(SYSTEMCTL) -q enable open-cas + +install_files: + @echo "Installing Open-CAS utils" + + @install -m 755 -d $(DESTDIR)$(CASCTL_DIR) + @install -m 644 opencas.py $(DESTDIR)$(CASCTL_DIR)/opencas.py + @install -m 755 casctl $(DESTDIR)$(CASCTL_DIR)/casctl + @install -m 755 open-cas-loader $(DESTDIR)$(CASCTL_DIR)/open-cas-loader + + @mkdir -p $(DESTDIR)/sbin + @ln -fs $(CASCTL_DIR)/casctl $(DESTDIR)/sbin/casctl + + @mkdir -p $(DESTDIR)$(UDEVRULES_DIR) + @install -m 644 60-persistent-storage-cas-load.rules $(DESTDIR)$(UDEVRULES_DIR)/60-persistent-storage-cas-load.rules + @install -m 644 60-persistent-storage-cas.rules $(DESTDIR)$(UDEVRULES_DIR)/60-persistent-storage-cas.rules + + @install -m 755 -d $(DESTDIR)/usr/share/doc/opencas + + @mkdir -p $(DESTDIR)/usr/share/man/man8 + @install -m 644 casctl.8 $(DESTDIR)/usr/share/man/man8/casctl.8 + + @mkdir -p $(DESTDIR)$(SYSTEMD_DIR) + @install -m 644 open-cas-shutdown.service $(DESTDIR)$(SYSTEMD_DIR)/open-cas-shutdown.service + @install -m 644 open-cas.service $(DESTDIR)$(SYSTEMD_DIR)/open-cas.service + @install -m 755 -d $(DESTDIR)$(SYSTEMD_DIR)/../system-shutdown + @install -m 755 open-cas.shutdown $(DESTDIR)$(SYSTEMD_DIR)/../system-shutdown/open-cas.shutdown endif uninstall: - @rm $(CASCTL_DIR)/opencas.py - @rm $(CASCTL_DIR)/casctl - @rm $(CASCTL_DIR)/open-cas-loader - @rm -rf $(CASCTL_DIR) + @rm $(DESTDIR)$(CASCTL_DIR)/opencas.py + @rm $(DESTDIR)$(CASCTL_DIR)/casctl + @rm $(DESTDIR)$(CASCTL_DIR)/open-cas-loader + @rm -rf $(DESTDIR)$(CASCTL_DIR) - @rm /sbin/casctl + @rm $(DESTDIR)/sbin/casctl - @rm /usr/share/man/man8/casctl.8 + @rm $(DESTDIR)/usr/share/man/man8/casctl.8 - @rm /lib/udev/rules.d/60-persistent-storage-cas-load.rules - @rm /lib/udev/rules.d/60-persistent-storage-cas.rules + @rm $(DESTDIR)$(UDEVRULES_DIR)/60-persistent-storage-cas-load.rules + @rm $(DESTDIR)$(UDEVRULES_DIR)/60-persistent-storage-cas.rules @$(UDEV) control --reload-rules @$(SYSTEMCTL) -q disable open-cas-shutdown @$(SYSTEMCTL) -q disable open-cas @$(SYSTEMCTL) daemon-reload - @rm $(SYSTEMD_DIR)/open-cas-shutdown.service - @rm $(SYSTEMD_DIR)/open-cas.service - @rm $(SYSTEMD_DIR)/../system-shutdown/open-cas.shutdown + @rm $(DESTDIR)$(SYSTEMD_DIR)/open-cas-shutdown.service + @rm $(DESTDIR)$(SYSTEMD_DIR)/open-cas.service + @rm $(DESTDIR)$(SYSTEMD_DIR)/../system-shutdown/open-cas.shutdown .PHONY: install uninstall clean distclean