mirror of
https://github.com/SCST-project/scst.git
synced 2026-05-14 01:01:27 +00:00
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7396 d57e44dd-8a1f-0410-8b47-8ef2f437770f
612 lines
21 KiB
Makefile
612 lines
21 KiB
Makefile
#
|
|
# Common makefile for SCSI target mid-level and its drivers
|
|
#
|
|
# Copyright (C) 2015 - 2018 Vladislav Bolkhovitin <vst@vlnb.net>
|
|
# Copyright (C) 2007 - 2018 Western Digital Corporation
|
|
#
|
|
# This program is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU General Public License
|
|
# as published by the Free Software Foundation, version 2
|
|
# of the License.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
#
|
|
|
|
SHELL = /bin/bash
|
|
|
|
# Define the location to the kernel src. Can be defined here or on
|
|
# the command line during the build process. If KDIR is defined,
|
|
# we will determine an appropriate value for KVER from the kernel
|
|
# source tree. KVER can still be overridden by the user via the
|
|
# command line or by defining it in this Makefile. If KDIR and KVER
|
|
# are not defined by the user, the current running kernel version is
|
|
# used to define KVER.
|
|
|
|
#export KDIR=/usr/src/linux-2.6
|
|
#export KVER=2.6.x
|
|
|
|
ifdef KDIR
|
|
ifndef KVER
|
|
export KVER = $(strip $(shell \
|
|
cat $(KDIR)/include/config/kernel.release 2>/dev/null || \
|
|
make -s -C $(KDIR) kernelversion))
|
|
endif
|
|
endif
|
|
|
|
SCST_DIR=scst
|
|
DOC_DIR=doc
|
|
SCSTADM_DIR=scstadmin
|
|
QLA_DIR=qla2xxx-unified-target
|
|
QLA_GIT_DIR=qla2x00t_git/scst-qla2xxx-unified
|
|
QLA_OLD_INI_DIR=qla2x00t
|
|
QLA_OLD_DIR=qla2x00t/qla2x00-target
|
|
LSI_DIR=mpt
|
|
USR_DIR=usr
|
|
SRP_DIR=srpt
|
|
SCST_LOCAL_DIR=scst_local
|
|
MVSAS_DIR=mvsas_tgt
|
|
FCST_DIR=fcst
|
|
EMULEX_DIR=emulex
|
|
|
|
ISCSI_DIR=iscsi-scst
|
|
|
|
REVISION ?= $(shell if svn info >/dev/null 2>&1; \
|
|
then svn info | sed -n 's/^Revision:[[:blank:]]*//p';\
|
|
else git log | grep -c ^commit; \
|
|
fi)
|
|
VERSION := $(shell echo -n "$$(sed -n 's/^\#define[[:blank:]]SCST_VERSION_NAME[[:blank:]]*\"\([^-]*\).*\"/\1/p' scst/include/scst_const.h).$(REVISION)")
|
|
DEBIAN_REVISION=1
|
|
|
|
help:
|
|
@echo " all : make all"
|
|
@echo " clean : clean files"
|
|
@echo " extraclean : clean + clean dependencies"
|
|
@echo " install : install"
|
|
@echo " uninstall : uninstall"
|
|
@echo ""
|
|
@echo " scst : make scst only"
|
|
@echo " scst_clean : scst: clean "
|
|
@echo " scst_extraclean : scst: clean + clean dependencies"
|
|
@echo " scst_install : scst: install"
|
|
@echo " scst_uninstall : scst: uninstall"
|
|
@echo ""
|
|
@echo " scstadm_install : scstadmin: install"
|
|
@echo " scstadm_uninstall : scstadmin: uninstall"
|
|
@echo ""
|
|
@echo " qla : make QLA target driver"
|
|
@echo " qla_pull : pull the latest version of the QLA target driver from the QLogic's git"
|
|
@echo " qla_clean : qla target: clean "
|
|
@echo " qla_extraclean : qla target: clean + clean dependencies"
|
|
@echo " qla_install : qla target: install"
|
|
@echo " qla_uninstall : qla target: uninstall"
|
|
@echo ""
|
|
@echo " qla_old : make old Qlogic chipsets target driver"
|
|
@echo " qla_old_clean : qla old target: clean "
|
|
@echo " qla_old_extraclean: qla old target: clean + clean dependencies"
|
|
@echo " qla_old_install : qla old target: install"
|
|
@echo " qla_old_uninstall : qla old target: uninstall"
|
|
@echo ""
|
|
@echo " iscsi : make iSCSI target"
|
|
@echo " iscsi_clean : ISCSI target: clean "
|
|
@echo " iscsi_extraclean : ISCSI target: clean + clean dependencies"
|
|
@echo " iscsi_install : ISCSI target: install"
|
|
@echo " iscsi_uninstall : ISCSI target: uninstall"
|
|
@echo ""
|
|
@echo " emulex : make Emulex target"
|
|
@echo " emulex_clean : Emulex target: clean "
|
|
@echo " emulex_extraclean : Emulex target: clean + clean dependencies"
|
|
@echo " emulex_install : Emulex target: install"
|
|
@echo " emulex_uninstall : Emulex target: uninstall"
|
|
@echo ""
|
|
@echo " lsi : make LSI MPT target"
|
|
@echo " lsi_clean : lsi target: clean "
|
|
@echo " lsi_extraclean : lsi target: clean + clean dependencies"
|
|
@echo " lsi_install : lsi target: install"
|
|
@echo " lsi_uninstall : lsi target: uninstall"
|
|
@echo ""
|
|
@echo " srpt : make SRP target"
|
|
@echo " srpt_clean : srp target: clean "
|
|
@echo " srpt_extraclean : srp target: clean + clean dependencies"
|
|
@echo " srpt_install : srp target: install"
|
|
@echo " srpt_uninstall : srp target: uninstall"
|
|
@echo ""
|
|
@echo " mvsas : make MVSAS target"
|
|
@echo " mvsas_clean : mvsas target: clean "
|
|
@echo " mvsas_extraclean : mvsas target: clean + clean dependencies"
|
|
@echo " mvsas_install : mvsas target: install"
|
|
@echo " mvsas_uninstall : mvsas target: uninstall"
|
|
@echo ""
|
|
@echo " fcst : make FCoE target"
|
|
@echo " fcst_clean : FCoE target: clean "
|
|
@echo " fcst_extraclean : FCoE target: clean + clean dependencies"
|
|
@echo " fcst_install : FCoE target: install"
|
|
@echo " fcst_uninstall : FCoE target: uninstall"
|
|
@echo ""
|
|
@echo " scst_local : make scst_local target"
|
|
@echo " scst_local_install : scst_local target: install"
|
|
@echo " scst_local_uninstall : scst_local target: uninstall"
|
|
@echo ""
|
|
@echo " usr : make user space targets"
|
|
@echo " usr_clean : usr target: clean "
|
|
@echo " usr_extraclean : usr target: clean + clean dependencies"
|
|
@echo " usr_install : usr target: install"
|
|
@echo " usr_uninstall : usr target: uninstall"
|
|
@echo ""
|
|
@echo " enable_proc : switch to procfs interface"
|
|
@echo " disable_proc : switch to sysfs interface (default)"
|
|
@echo ""
|
|
@echo " 2perf : changes debug state to full performance"
|
|
@echo " 2release : changes debug state to release"
|
|
@echo " 2debug : changes debug state to full debug"
|
|
@echo ""
|
|
@echo " Note:"
|
|
@echo " - install and uninstall may need root privileges"
|
|
|
|
all:
|
|
cd $(SCST_DIR) && $(MAKE) $@
|
|
# @if [ -d $(DOC_DIR) ]; then cd $(DOC_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(QLA_DIR) ]; then cd $(QLA_DIR) && $(MAKE) $@; else if [ -d $(QLA_OLD_DIR) ]; then cd $(QLA_OLD_DIR) && $(MAKE) $@; fi fi
|
|
# @if [ -d $(QLA_OLD_DIR) ]; then cd $(QLA_OLD_DIR) && $(MAKE) $@; fi
|
|
# @if [ -d $(LSI_DIR) ]; then cd $(LSI_DIR) && $(MAKE) $@; fi
|
|
# @if [ -d $(SRP_DIR) ]; then cd $(SRP_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(ISCSI_DIR) ]; then cd $(ISCSI_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(USR_DIR) ]; then cd $(USR_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(SCST_LOCAL_DIR) ]; then cd $(SCST_LOCAL_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(EMULEX_DIR) ]; then cd $(EMULEX_DIR) && $(MAKE) $@; fi
|
|
|
|
install:
|
|
cd $(SCST_DIR) && $(MAKE) $@
|
|
# @if [ -d $(DOC_DIR) ]; then cd $(DOC_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(QLA_DIR) ]; then cd $(QLA_DIR) && $(MAKE) $@; else if [ -d $(QLA_OLD_DIR) ]; then cd $(QLA_OLD_DIR) && $(MAKE) $@; fi fi
|
|
# @if [ -d $(QLA_OLD_DIR) ]; then cd $(QLA_OLD_DIR) && $(MAKE) $@; fi
|
|
# @if [ -d $(LSI_DIR) ]; then cd $(LSI_DIR) && $(MAKE) $@; fi
|
|
# @if [ -d $(SRP_DIR) ]; then cd $(SRP_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(ISCSI_DIR) ]; then cd $(ISCSI_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(USR_DIR) ]; then cd $(USR_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(SCST_LOCAL_DIR) ]; then cd $(SCST_LOCAL_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(EMULEX_DIR) ]; then cd $(EMULEX_DIR) && $(MAKE) $@; fi
|
|
|
|
uninstall:
|
|
cd $(SCST_DIR) && $(MAKE) $@
|
|
# @if [ -d $(DOC_DIR) ]; then cd $(DOC_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(QLA_DIR) ]; then cd $(QLA_DIR) && $(MAKE) $@; else if [ -d $(QLA_OLD_DIR) ]; then cd $(QLA_OLD_DIR) && $(MAKE) $@; fi fi
|
|
# @if [ -d $(QLA_OLD_DIR) ]; then cd $(QLA_OLD_DIR) && $(MAKE) $@; fi
|
|
# @if [ -d $(LSI_DIR) ]; then cd $(LSI_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(SRP_DIR) ]; then cd $(SRP_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(ISCSI_DIR) ]; then cd $(ISCSI_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(USR_DIR) ]; then cd $(USR_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(SCST_LOCAL_DIR) ]; then cd $(SCST_LOCAL_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(EMULEX_DIR) ]; then cd $(EMULEX_DIR) && $(MAKE) $@; fi
|
|
|
|
clean:
|
|
cd $(SCST_DIR) && $(MAKE) $@
|
|
@if [ -d $(DOC_DIR) ]; then cd $(DOC_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(QLA_DIR) ]; then cd $(QLA_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(QLA_OLD_INI_DIR) ]; then cd $(QLA_OLD_INI_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(QLA_OLD_DIR) ]; then cd $(QLA_OLD_DIR) && $(MAKE) $@; fi
|
|
# @if [ -d $(LSI_DIR) ]; then cd $(LSI_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(SRP_DIR) ]; then cd $(SRP_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(ISCSI_DIR) ]; then cd $(ISCSI_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(USR_DIR) ]; then cd $(USR_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(SCST_LOCAL_DIR) ]; then cd $(SCST_LOCAL_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(EMULEX_DIR) ]; then cd $(EMULEX_DIR) && $(MAKE) $@; fi
|
|
|
|
extraclean:
|
|
-rm -f TAGS tags cscope.out
|
|
cd $(SCST_DIR) && $(MAKE) $@
|
|
@if [ -d $(DOC_DIR) ]; then cd $(DOC_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(QLA_DIR) ]; then cd $(QLA_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(QLA_OLD_INI_DIR) ]; then cd $(QLA_OLD_INI_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(QLA_OLD_DIR) ]; then cd $(QLA_OLD_DIR) && $(MAKE) $@; fi
|
|
# @if [ -d $(LSI_DIR) ]; then cd $(LSI_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(SRP_DIR) ]; then cd $(SRP_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(ISCSI_DIR) ]; then cd $(ISCSI_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(USR_DIR) ]; then cd $(USR_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(SCST_LOCAL_DIR) ]; then cd $(SCST_LOCAL_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(EMULEX_DIR) ]; then cd $(EMULEX_DIR) && $(MAKE) $@; fi
|
|
|
|
tags:
|
|
find . -type f -name "*.[ch]" | ctags --c-kinds=+p --fields=+iaS --extra=+q -e -L-
|
|
|
|
scst:
|
|
cd $(SCST_DIR) && $(MAKE) all
|
|
|
|
scst_install:
|
|
cd $(SCST_DIR) && $(MAKE) install
|
|
|
|
scst_uninstall:
|
|
cd $(SCST_DIR) && $(MAKE) uninstall
|
|
|
|
scst_clean:
|
|
cd $(SCST_DIR) && $(MAKE) clean
|
|
|
|
scst_extraclean:
|
|
cd $(SCST_DIR) && $(MAKE) extraclean
|
|
|
|
docs:
|
|
cd $(DOC_DIR) && $(MAKE) all
|
|
|
|
docs_clean:
|
|
cd $(DOC_DIR) && $(MAKE) clean
|
|
|
|
docs_extraclean:
|
|
cd $(DOC_DIR) && $(MAKE) extraclean
|
|
|
|
scstadm:
|
|
cd $(SCSTADM_DIR) && $(MAKE) all
|
|
|
|
scstadm_install:
|
|
cd $(SCSTADM_DIR) && $(MAKE) install
|
|
|
|
scstadm_uninstall:
|
|
cd $(SCSTADM_DIR) && $(MAKE) uninstall
|
|
|
|
scstadm_clean:
|
|
cd $(SCSTADM_DIR) && $(MAKE) clean
|
|
|
|
scstadm_extraclean:
|
|
cd $(SCSTADM_DIR) && $(MAKE) extraclean
|
|
|
|
qla:
|
|
cd $(QLA_DIR) && $(MAKE) all
|
|
|
|
qla_pull:
|
|
cd $(QLA_GIT_DIR) && git pull
|
|
|
|
qla_install:
|
|
cd $(QLA_DIR) && $(MAKE) install
|
|
|
|
qla_uninstall:
|
|
cd $(QLA_DIR) && $(MAKE) uninstall
|
|
|
|
qla_clean:
|
|
cd $(QLA_DIR) && $(MAKE) clean
|
|
|
|
qla_extraclean:
|
|
cd $(QLA_DIR) && $(MAKE) extraclean
|
|
|
|
qla_old:
|
|
cd $(QLA_OLD_DIR) && $(MAKE) all
|
|
|
|
qla_old_install:
|
|
cd $(QLA_OLD_DIR) && $(MAKE) install
|
|
|
|
qla_old_uninstall:
|
|
cd $(QLA_OLD_DIR) && $(MAKE) uninstall
|
|
|
|
qla_old_clean:
|
|
cd $(QLA_OLD_DIR) && $(MAKE) clean
|
|
|
|
qla_old_extraclean:
|
|
cd $(QLA_OLD_DIR) && $(MAKE) extraclean
|
|
|
|
iscsi:
|
|
cd $(ISCSI_DIR) && $(MAKE) all
|
|
|
|
iscsi_install:
|
|
cd $(ISCSI_DIR) && $(MAKE) install
|
|
|
|
iscsi_uninstall:
|
|
cd $(ISCSI_DIR) && $(MAKE) uninstall
|
|
|
|
iscsi_clean:
|
|
cd $(ISCSI_DIR) && $(MAKE) clean
|
|
|
|
iscsi_extraclean:
|
|
cd $(ISCSI_DIR) && $(MAKE) extraclean
|
|
|
|
emulex:
|
|
cd $(EMULEX_DIR) && $(MAKE) all
|
|
|
|
emulex_install:
|
|
cd $(EMULEX_DIR) && $(MAKE) install
|
|
|
|
emulex_uninstall:
|
|
cd $(EMULEX_DIR) && $(MAKE) uninstall
|
|
|
|
emulex_clean:
|
|
cd $(EMULEX_DIR) && $(MAKE) clean
|
|
|
|
emulex_extraclean:
|
|
cd $(EMULEX_DIR) && $(MAKE) extraclean
|
|
|
|
lsi:
|
|
cd $(LSI_DIR) && $(MAKE) all
|
|
|
|
lsi_install:
|
|
cd $(LSI_DIR) && $(MAKE) install
|
|
|
|
lsi_uninstall:
|
|
cd $(LSI_DIR) && $(MAKE) uninstall
|
|
|
|
lsi_clean:
|
|
cd $(LSI_DIR) && $(MAKE) clean
|
|
|
|
lsi_extraclean:
|
|
cd $(LSI_DIR) && $(MAKE) extraclean
|
|
|
|
srpt:
|
|
cd $(SRP_DIR) && $(MAKE) all
|
|
|
|
srpt_install:
|
|
cd $(SRP_DIR) && $(MAKE) install
|
|
|
|
srpt_uninstall:
|
|
cd $(SRP_DIR) && $(MAKE) uninstall
|
|
|
|
srpt_clean:
|
|
cd $(SRP_DIR) && $(MAKE) clean
|
|
|
|
srpt_extraclean:
|
|
cd $(SRP_DIR) && $(MAKE) extraclean
|
|
|
|
scst_local:
|
|
cd $(SCST_LOCAL_DIR) && $(MAKE) all
|
|
|
|
scst_local_install:
|
|
cd $(SCST_LOCAL_DIR) && $(MAKE) install
|
|
|
|
scst_local_uninstall:
|
|
cd $(SCST_LOCAL_DIR) && $(MAKE) uninstall
|
|
|
|
scst_local_clean:
|
|
cd $(SCST_LOCAL_DIR) && $(MAKE) clean
|
|
|
|
scst_local_extraclean:
|
|
cd $(SCST_LOCAL_DIR) && $(MAKE) extraclean
|
|
|
|
usr:
|
|
cd $(USR_DIR) && $(MAKE)
|
|
|
|
usr_install:
|
|
cd $(USR_DIR) && $(MAKE) install
|
|
|
|
usr_uninstall:
|
|
cd $(USR_DIR) && $(MAKE) uninstall
|
|
|
|
usr_clean:
|
|
cd $(USR_DIR) && $(MAKE) clean
|
|
|
|
usr_extraclean:
|
|
cd $(USR_DIR) && $(MAKE) extraclean
|
|
|
|
mvsas:
|
|
cd $(MVSAS_DIR) && $(MAKE) all
|
|
|
|
mvsas_install:
|
|
cd $(MVSAS_DIR) && $(MAKE) install
|
|
|
|
mvsas_uninstall:
|
|
cd $(MVSAS_DIR) && $(MAKE) uninstall
|
|
|
|
mvsas_clean:
|
|
cd $(MVSAS_DIR) && $(MAKE) clean
|
|
|
|
mvsas_extraclean:
|
|
cd $(MVSAS_DIR) && $(MAKE) extraclean
|
|
|
|
fcst:
|
|
cd $(FCST_DIR) && $(MAKE) all
|
|
|
|
fcst_install:
|
|
cd $(FCST_DIR) && $(MAKE) install
|
|
|
|
fcst_uninstall:
|
|
cd $(FCST_DIR) && $(MAKE) uninstall
|
|
|
|
fcst_clean:
|
|
cd $(FCST_DIR) && $(MAKE) clean
|
|
|
|
fcst_extraclean:
|
|
cd $(FCST_DIR) && $(MAKE) extraclean
|
|
|
|
# Make an SCST source code archive. $(1) is the tar compression option, $(2)
|
|
# is the tar filename compression suffix, $(3) is the version and $(4) is the
|
|
# source file filter.
|
|
make-scst-dist = \
|
|
[ -n "$(1)" ] && [ -n "$(2)" ] && [ -n "$(3)" ] && \
|
|
[ -n "$(4)" ] && \
|
|
name=scst && \
|
|
mkdir "$${name}-$(3)" && \
|
|
{ \
|
|
{ \
|
|
if [ -e qla2x00t_git ]; then \
|
|
scripts/list-source-files | grep -v ^qla2x00t/; \
|
|
( dir="$$PWD" && cd qla2x00t_git && \
|
|
"$$dir/scripts/list-source-files" ) | \
|
|
sed 's,^,qla2x00t_git/,'; \
|
|
else \
|
|
scripts/list-source-files; \
|
|
fi && \
|
|
if [ -e debian/changelog ]; then echo debian/changelog; fi; \
|
|
} | \
|
|
$(4) | \
|
|
tar -T- -cf- | \
|
|
tar -C "$${name}-$(3)" -xf-; \
|
|
} && \
|
|
rm -f "$${name}-$(3).tar.$(2)" && \
|
|
tar -c$(1) -f "$${name}-$(3).tar.$(2)" "$${name}-$(3)" && \
|
|
rm -rf "$${name}-$(3)"
|
|
|
|
scst-dist-gzip:
|
|
$(call make-scst-dist,j,bz2,$(VERSION),grep -E '^doc/|^fcst/|^iscsi-scst/|^Makefile|^qla2x00t(|_git)/|^scst.spec|^scst/|^scst_local/|^srpt/|^usr/|^scstadmin/')
|
|
|
|
scst-rpm:
|
|
name=scst && \
|
|
rpmtopdir="$$(if [ $$(id -u) = 0 ]; then echo /usr/src/packages;\
|
|
else echo $$PWD/rpmbuilddir; fi)" && \
|
|
$(MAKE) scst-dist-gzip && \
|
|
for d in BUILD RPMS SOURCES SPECS SRPMS; do \
|
|
mkdir -p $${rpmtopdir}/$$d; \
|
|
done && \
|
|
cp scst-$(VERSION).tar.bz2 $${rpmtopdir}/SOURCES && \
|
|
sed -e "s/@rpm_version@/$(VERSION)/g" \
|
|
-e "s|@depmod@|$(shell which depmod)|g" \
|
|
<$${name}.spec.in >$${name}.spec && \
|
|
MAKE="$(MAKE)" rpmbuild --define="%_topdir $${rpmtopdir}" \
|
|
$(if $(KVER),--define="%kversion $(KVER)") \
|
|
$(if $(KDIR),--define="%kdir $(KDIR)") \
|
|
-ba $${name}.spec && \
|
|
rm -f $${name}-$(VERSION).tar.bz2
|
|
|
|
scst-dkms-rpm:
|
|
name=scst-dkms && \
|
|
rpmtopdir="$$(if [ $$(id -u) = 0 ]; then echo /usr/src/packages;\
|
|
else echo $$PWD/rpmbuilddir; fi)" && \
|
|
$(MAKE) scst-dist-gzip && \
|
|
for d in BUILD RPMS SOURCES SPECS SRPMS; do \
|
|
mkdir -p $${rpmtopdir}/$$d; \
|
|
done && \
|
|
cp scst-$(VERSION).tar.bz2 $${rpmtopdir}/SOURCES && \
|
|
sed "s/@rpm_version@/$(VERSION)/g" \
|
|
<$${name}.spec.in >$${name}.spec && \
|
|
MAKE="$(MAKE)" rpmbuild --define="%_topdir $${rpmtopdir}" \
|
|
$(if $(KVER),--define="%kversion $(KVER)") \
|
|
$(if $(KDIR),--define="%kdir $(KDIR)") \
|
|
-ba $${name}.spec && \
|
|
rm -f $${name}-$(VERSION).tar.bz2
|
|
|
|
rpm:
|
|
$(MAKE) scst-rpm
|
|
$(MAKE) -C scstadmin rpm
|
|
@if [ "$$(id -u)" != 0 ]; then \
|
|
echo; \
|
|
echo "The following RPMs have been built:"; \
|
|
find -name '*.rpm'; \
|
|
fi
|
|
|
|
debian/changelog: debian/changelog.in
|
|
sed 's/%{scst_version}/$(VERSION)-$(DEBIAN_REVISION)/' \
|
|
<debian/changelog.in >debian/changelog
|
|
|
|
../scst_$(VERSION).orig.tar.xz: debian/changelog Makefile
|
|
$(call make-scst-dist,J,xz,$(VERSION),cat) && \
|
|
mv "scst-$(VERSION).tar.xz" "$@"
|
|
|
|
dpkg: ../scst_$(VERSION).orig.tar.xz
|
|
@if [ -z "$$DEBEMAIL" ]; then \
|
|
echo "Error: \$$DEBEMAIL has not been set"; \
|
|
false; \
|
|
fi && \
|
|
if [ -z "$$DEBFULLNAME" ]; then \
|
|
echo "Error: \$$DEBFULLNAME has not been set"; \
|
|
false; \
|
|
fi && \
|
|
sed 's/%{scst_version}/$(VERSION)/' \
|
|
<debian/scst.dkms.in >debian/scst.dkms && \
|
|
output_files=( \
|
|
../*_$(VERSION)-$(DEBIAN_REVISION)_*.deb \
|
|
../*_$(VERSION)-$(DEBIAN_REVISION)_*.ddeb \
|
|
../scst_$(VERSION)-$(DEBIAN_REVISION).debian.tar.xz \
|
|
../scst_$(VERSION)-$(DEBIAN_REVISION).dsc \
|
|
../scst_$(VERSION)-$(DEBIAN_REVISION)_amd64.build \
|
|
../scst_$(VERSION)-$(DEBIAN_REVISION)_amd64.buildinfo \
|
|
../scst_$(VERSION)-$(DEBIAN_REVISION)_amd64.changes \
|
|
) && \
|
|
rm -f "$${output_files[@]}" && \
|
|
buildopts=(-uc -us) && \
|
|
if dpkg-buildpackage --help 2>&1 | grep -- '-ui'; then \
|
|
buildopts+=(-ui); \
|
|
fi && \
|
|
if dpkg-buildpackage --help 2>&1 | \
|
|
grep -q -- '--jobs\[=<number>|auto\]'; then \
|
|
buildopts+=(-jauto); \
|
|
else \
|
|
buildopts+=(-j4); \
|
|
fi && \
|
|
if false; then \
|
|
dpkg-buildpackage "$${buildopts[@]}"; \
|
|
else \
|
|
debuild "$${buildopts[@]}" --lintian-opts --profile debian; \
|
|
fi && \
|
|
mkdir -p dpkg && \
|
|
for f in "$${output_files[@]}" ../scst_$(VERSION).orig.tar.xz; do\
|
|
mv $$f dpkg || true; \
|
|
done && \
|
|
echo "Output files:" && \
|
|
ls -l dpkg
|
|
|
|
release-archive:
|
|
$(MAKE) 2release
|
|
for m in $$(find -name Makefile | \
|
|
xargs grep -l '^release-archive:' | \
|
|
grep -v '^\./Makefile'); \
|
|
do \
|
|
(cd $$(dirname $$m) && $(MAKE) release-archive) \
|
|
done
|
|
$(MAKE) 2debug
|
|
|
|
2perf: extraclean
|
|
cd $(SCST_DIR) && $(MAKE) $@
|
|
@if [ -d $(QLA_DIR) ]; then cd $(QLA_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(QLA_OLD_DIR) ]; then cd $(QLA_OLD_DIR) && $(MAKE) $@; fi
|
|
# @if [ -d $(LSI_DIR) ]; then cd $(LSI_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(SRP_DIR) ]; then cd $(SRP_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(ISCSI_DIR) ]; then cd $(ISCSI_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(USR_DIR) ]; then cd $(USR_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(SCST_LOCAL_DIR) ]; then cd $(SCST_LOCAL_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(FCST_DIR) ]; then cd $(FCST_DIR) && $(MAKE) $@; fi
|
|
|
|
2release: extraclean
|
|
cd $(SCST_DIR) && $(MAKE) $@
|
|
@if [ -d $(QLA_DIR) ]; then cd $(QLA_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(QLA_OLD_DIR) ]; then cd $(QLA_OLD_DIR) && $(MAKE) $@; fi
|
|
# @if [ -d $(LSI_DIR) ]; then cd $(LSI_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(SRP_DIR) ]; then cd $(SRP_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(ISCSI_DIR) ]; then cd $(ISCSI_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(USR_DIR) ]; then cd $(USR_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(SCST_LOCAL_DIR) ]; then cd $(SCST_LOCAL_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(FCST_DIR) ]; then cd $(FCST_DIR) && $(MAKE) $@; fi
|
|
|
|
2debug: extraclean
|
|
cd $(SCST_DIR) && $(MAKE) $@
|
|
@if [ -d $(QLA_DIR) ]; then cd $(QLA_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(QLA_OLD_DIR) ]; then cd $(QLA_OLD_DIR) && $(MAKE) $@; fi
|
|
# @if [ -d $(LSI_DIR) ]; then cd $(LSI_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(SRP_DIR) ]; then cd $(SRP_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(ISCSI_DIR) ]; then cd $(ISCSI_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(USR_DIR) ]; then cd $(USR_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(SCST_LOCAL_DIR) ]; then cd $(SCST_LOCAL_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(FCST_DIR) ]; then cd $(FCST_DIR) && $(MAKE) $@; fi
|
|
|
|
enable_proc: extraclean
|
|
cd $(SCST_DIR) && $(MAKE) $@
|
|
@if [ -d $(QLA_DIR) ]; then cd $(QLA_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(QLA_OLD_DIR) ]; then cd $(QLA_OLD_DIR) && $(MAKE) $@; fi
|
|
# @if [ -d $(LSI_DIR) ]; then cd $(LSI_DIR) && $(MAKE) $@; fi
|
|
# @if [ -d $(SRP_DIR) ]; then cd $(SRP_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(ISCSI_DIR) ]; then cd $(ISCSI_DIR) && $(MAKE) $@; fi
|
|
# @if [ -d $(SCST_LOCAL_DIR) ]; then cd $(SCST_LOCAL_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(SCSTADM_DIR) ]; then cd $(SCSTADM_DIR) && $(MAKE) $@; fi
|
|
|
|
disable_proc: extraclean
|
|
cd $(SCST_DIR) && $(MAKE) $@
|
|
@if [ -d $(QLA_DIR) ]; then cd $(QLA_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(QLA_OLD_DIR) ]; then cd $(QLA_OLD_DIR) && $(MAKE) $@; fi
|
|
# @if [ -d $(LSI_DIR) ]; then cd $(LSI_DIR) && $(MAKE) $@; fi
|
|
# @if [ -d $(SRP_DIR) ]; then cd $(SRP_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(ISCSI_DIR) ]; then cd $(ISCSI_DIR) && $(MAKE) $@; fi
|
|
# @if [ -d $(SCST_LOCAL_DIR) ]; then cd $(SCST_LOCAL_DIR) && $(MAKE) $@; fi
|
|
@if [ -d $(SCSTADM_DIR) ]; then cd $(SCSTADM_DIR) && $(MAKE) $@; fi
|
|
|
|
.PHONY: all install uninstall clean extraclean tags help \
|
|
qla qla_install qla_uninstall qla_clean qla_extraclean \
|
|
qla_old qla_old_install qla_old_uninstall qla_old_clean qla_old_extraclean \
|
|
lsi lsi_install lsi_uninstall lsi_clean lsi_extraclean \
|
|
iscsi iscsi_install iscsi_uninstall iscsi_clean iscsi_extraclean \
|
|
emulex emulex_install emulex_uninstall emulex_clean emulex_extraclean \
|
|
scst scst_install scst_uninstall scst_clean scst_extraclean \
|
|
docs docs_clean docs_extraclean \
|
|
scstadm scstadm_install scstadm_uninstall scstadm_clean scstadm_extraclean \
|
|
srpt srpt_install srpt_uninstall srpt_clean srpt_extraclean \
|
|
usr usr_install usr_uninstall usr_clean usr_extraclean \
|
|
scst_local scst_local_install scst_local_uninstall scst_local_clean scst_local_extraclean \
|
|
mvsas mvsas_install mvsas_uninstall mvsas_clean mvsas_extraclean \
|
|
fcst fcst_install fcst_uninstall fcst_clean fcst_extraclean \
|
|
scst-rpm scst-dkms-rpm dpkg \
|
|
2perf 2release 2debug enable_proc disable_proc
|