Makefile changes for building RPM

Signed-off-by: Rafal Stefanowski <rafal.stefanowski@intel.com>
This commit is contained in:
Rafal Stefanowski 2020-02-11 11:58:02 +01:00
parent 2e801caf25
commit 0d256b675d
3 changed files with 65 additions and 54 deletions

View File

@ -131,26 +131,31 @@ clean:
distclean: clean distclean: clean
@rm -f $(VERSION_FILE) @rm -f $(VERSION_FILE)
install: install: install_files
install_files:
@echo "Installing casadm" @echo "Installing casadm"
@install -m 755 $(TARGET) $(BINARY_PATH)/$(TARGET) @mkdir -p $(DESTDIR)$(BINARY_PATH)
@install -m 644 $(UTILS_DIR)/$(TARGET).8 /usr/share/man/man8/$(TARGET).8 @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 755 -d $(DESTDIR)/etc/opencas
@install -m 644 $(UTILS_DIR)/opencas.conf /etc/opencas/opencas.conf @install -m 644 $(UTILS_DIR)/opencas.conf $(DESTDIR)/etc/opencas/opencas.conf
@install -m 444 $(UTILS_DIR)/ioclass-config.csv /etc/opencas/ioclass-config.csv @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: uninstall:
@echo "Uninstalling casadm" @echo "Uninstalling casadm"
@rm $(BINARY_PATH)/$(TARGET) @rm $(DESTDIR)$(BINARY_PATH)/$(TARGET)
@rm /usr/share/man/man8/$(TARGET).8 @rm $(DESTDIR)/usr/share/man/man8/$(TARGET).8
@rm /etc/opencas/opencas.conf @rm $(DESTDIR)/etc/opencas/opencas.conf
@rm /etc/opencas/ioclass-config.csv @rm $(DESTDIR)/etc/opencas/ioclass-config.csv
@rm -rf /etc/opencas @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 .PHONY: clean distclean all sync build install uninstall

View File

@ -49,22 +49,23 @@ clean:
distclean: clean distsync distclean: clean distsync
@rm -f $(PWD)/generated_defines.h @rm -f $(PWD)/generated_defines.h
install: install: install_files
@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
@$(DEPMOD) @$(DEPMOD)
@$(MODPROBE) $(CACHE_MODULE) @$(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: uninstall:
@echo "Uninstalling Open-CAS modules" @echo "Uninstalling Open-CAS modules"
@$(RMMOD) $(CACHE_MODULE) @$(RMMOD) $(CACHE_MODULE)
@$(RMMOD) $(DISK_MODULE) @$(RMMOD) $(DISK_MODULE)
@rm $(MODULES_DIR)/$(CACHE_MODULE).ko @rm $(DESTDIR)$(MODULES_DIR)/$(CACHE_MODULE).ko
@rm $(MODULES_DIR)/$(DISK_MODULE).ko @rm $(DESTDIR)$(MODULES_DIR)/$(DISK_MODULE).ko
@$(DEPMOD) @$(DEPMOD)

View File

@ -18,58 +18,63 @@ endif
# Just a placeholder when running make from parent dir without install/uninstall arg # Just a placeholder when running make from parent dir without install/uninstall arg
all: ; all: ;
install: install: install_files
ifeq (, $(PYTHON3)) ifeq (, $(PYTHON3))
$(error package 'python3' not found) $(error package 'python3' not found)
else 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 @$(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) daemon-reload
@$(SYSTEMCTL) -q enable open-cas-shutdown @$(SYSTEMCTL) -q enable open-cas-shutdown
@$(SYSTEMCTL) -q enable open-cas @$(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 endif
uninstall: uninstall:
@rm $(CASCTL_DIR)/opencas.py @rm $(DESTDIR)$(CASCTL_DIR)/opencas.py
@rm $(CASCTL_DIR)/casctl @rm $(DESTDIR)$(CASCTL_DIR)/casctl
@rm $(CASCTL_DIR)/open-cas-loader @rm $(DESTDIR)$(CASCTL_DIR)/open-cas-loader
@rm -rf $(CASCTL_DIR) @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 $(DESTDIR)$(UDEVRULES_DIR)/60-persistent-storage-cas-load.rules
@rm /lib/udev/rules.d/60-persistent-storage-cas.rules @rm $(DESTDIR)$(UDEVRULES_DIR)/60-persistent-storage-cas.rules
@$(UDEV) control --reload-rules @$(UDEV) control --reload-rules
@$(SYSTEMCTL) -q disable open-cas-shutdown @$(SYSTEMCTL) -q disable open-cas-shutdown
@$(SYSTEMCTL) -q disable open-cas @$(SYSTEMCTL) -q disable open-cas
@$(SYSTEMCTL) daemon-reload @$(SYSTEMCTL) daemon-reload
@rm $(SYSTEMD_DIR)/open-cas-shutdown.service @rm $(DESTDIR)$(SYSTEMD_DIR)/open-cas-shutdown.service
@rm $(SYSTEMD_DIR)/open-cas.service @rm $(DESTDIR)$(SYSTEMD_DIR)/open-cas.service
@rm $(SYSTEMD_DIR)/../system-shutdown/open-cas.shutdown @rm $(DESTDIR)$(SYSTEMD_DIR)/../system-shutdown/open-cas.shutdown
.PHONY: install uninstall clean distclean .PHONY: install uninstall clean distclean