Blame Makefile

Packit eace71
#
Packit eace71
# Makefile for the Open-iSCSI Initiator
Packit eace71
#
Packit eace71
Packit eace71
# if you are packaging open-iscsi, set this variable to the location
Packit eace71
# that you want everything installed into.
Packit eace71
DESTDIR ?=
Packit eace71
Packit eace71
prefix = /usr
Packit Service 109a08
exec_prefix = /
Packit eace71
sbindir = $(exec_prefix)/sbin
Packit eace71
bindir = $(exec_prefix)/bin
Packit eace71
mandir = $(prefix)/share/man
Packit eace71
etcdir = /etc
Packit eace71
initddir = $(etcdir)/init.d
Packit eace71
rulesdir = $(etcdir)/udev/rules.d
Packit eace71
systemddir = $(prefix)/lib/systemd/system
Packit eace71
Packit eace71
MANPAGES = doc/iscsid.8 doc/iscsiadm.8 doc/iscsi_discovery.8 \
Packit eace71
		iscsiuio/docs/iscsiuio.8 doc/iscsi_fw_login.8 doc/iscsi-iname.8 \
Packit eace71
		doc/iscsistart.8
Packit eace71
PROGRAMS = usr/iscsid usr/iscsiadm utils/iscsi-iname iscsiuio/src/unix/iscsiuio \
Packit eace71
		   usr/iscsistart
Packit eace71
SCRIPTS = utils/iscsi_discovery utils/iscsi_fw_login utils/iscsi_offload \
Packit eace71
		  utils/iscsi-gen-initiatorname
Packit eace71
INSTALL = install
Packit eace71
ETCFILES = etc/iscsid.conf
Packit eace71
IFACEFILES = etc/iface.example
Packit eace71
RULESFILES = utils/50-iscsi-firmware-login.rules
Packit eace71
SYSTEMDFILES = etc/systemd/iscsi.service \
Packit eace71
			   etc/systemd/iscsid.service etc/systemd/iscsid.socket \
Packit eace71
			   etc/systemd/iscsiuio.service etc/systemd/iscsiuio.socket
Packit eace71
Packit eace71
export DESTDIR prefix INSTALL
Packit eace71
Packit eace71
# Compatibility: parse old OPTFLAGS argument
Packit eace71
ifdef OPTFLAGS
Packit eace71
CFLAGS = $(OPTFLAGS)
Packit eace71
endif
Packit eace71
Packit eace71
# Export it so configure of iscsiuio will
Packit eace71
# pick it up.
Packit eace71
ifneq (,$(CFLAGS))
Packit eace71
export CFLAGS
Packit eace71
endif
Packit eace71
Packit eace71
# export systemd disablement if set
Packit eace71
ifneq ($(NO_SYSTEMD),)
Packit eace71
export NO_SYSTEMD
Packit eace71
WITHOUT_ARG = --without-systemd
Packit eace71
else
Packit eace71
WITHOUT_ARG =
Packit eace71
endif
Packit eace71
Packit eace71
# Random comments:
Packit eace71
# using '$(MAKE)' instead of just 'make' allows make to run in parallel
Packit eace71
# over multiple makefile.
Packit eace71
Packit eace71
all: user
Packit eace71
Packit eace71
user: iscsiuio/Makefile
Packit eace71
	$(MAKE) -C libopeniscsiusr
Packit eace71
	$(MAKE) -C utils/sysdeps
Packit eace71
	$(MAKE) -C utils/fwparam_ibft
Packit eace71
	$(MAKE) -C usr
Packit eace71
	$(MAKE) -C utils
Packit eace71
	$(MAKE) -C iscsiuio
Packit eace71
	@echo
Packit eace71
	@echo "Compilation complete                 Output file"
Packit eace71
	@echo "-----------------------------------  ----------------"
Packit eace71
	@echo "Built iSCSI daemon:                  usr/iscsid"
Packit eace71
	@echo "Built management application:        usr/iscsiadm"
Packit eace71
	@echo "Built boot tool:                     usr/iscsistart"
Packit eace71
	@echo "Built iscsiuio daemon:               iscsiuio/src/unix/iscsiuio"
Packit eace71
	@echo "Built libopeniscsiusr library:       libopeniscsiusr/libopeniscsiusr.so"
Packit eace71
	@echo
Packit eace71
	@echo "Read README file for detailed information."
Packit eace71
Packit eace71
iscsiuio/Makefile: iscsiuio/configure iscsiuio/Makefile.in
Packit eace71
	cd iscsiuio; ./configure $(WITHOUT_ARG)
Packit eace71
Packit eace71
iscsiuio/configure iscsiuio/Makefile.in: iscsiuio/configure.ac iscsiuio/Makefile.am
Packit eace71
	cd iscsiuio; autoreconf --install
Packit eace71
Packit eace71
force: ;
Packit eace71
Packit eace71
clean:
Packit eace71
	$(MAKE) -C utils/sysdeps clean
Packit eace71
	$(MAKE) -C utils/fwparam_ibft clean
Packit eace71
	$(MAKE) -C utils clean
Packit eace71
	$(MAKE) -C usr clean
Packit eace71
	$(MAKE) -C libopeniscsiusr clean
Packit eace71
	[ ! -f iscsiuio/Makefile ] || $(MAKE) -C iscsiuio clean
Packit eace71
	[ ! -f iscsiuio/Makefile ] || $(MAKE) -C iscsiuio distclean
Packit eace71
Packit eace71
# this is for safety
Packit eace71
# now -jXXX will still be safe
Packit eace71
# note that make may still execute the blocks in parallel
Packit eace71
.NOTPARALLEL: install_user install_programs install_initd \
Packit eace71
	install_initd_suse install_initd_redhat install_initd_debian \
Packit eace71
	install_etc install_iface install_doc install_iname
Packit eace71
Packit eace71
install: install_programs install_doc install_etc \
Packit eace71
	install_initd install_iname install_iface install_libopeniscsiusr
Packit eace71
Packit eace71
install_user: install_programs install_doc install_etc \
Packit eace71
	install_initd install_iname install_iface
Packit eace71
Packit eace71
install_udev_rules:
Packit eace71
	$(INSTALL) -d $(DESTDIR)$(rulesdir)
Packit eace71
	$(INSTALL) -m 644 $(RULESFILES) $(DESTDIR)/$(rulesdir)
Packit eace71
Packit eace71
install_systemd:
Packit eace71
	$(INSTALL) -d $(DESTDIR)$(systemddir)
Packit eace71
	$(INSTALL) -m 644 $(SYSTEMDFILES) $(DESTDIR)/$(systemddir)
Packit eace71
Packit Service 83beb6
install_programs:  $(PROGRAMS) $(SCRIPTS)
Packit eace71
	$(INSTALL) -d $(DESTDIR)$(sbindir)
Packit eace71
	$(INSTALL) -m 755 $^ $(DESTDIR)$(sbindir)
Packit eace71
Packit eace71
# ugh, auto-detection is evil
Packit eace71
# Gentoo maintains their own init.d stuff
Packit eace71
install_initd:
Packit eace71
	if [ -f /etc/debian_version ]; then \
Packit eace71
		$(MAKE) install_initd_debian ; \
Packit eace71
	elif [ -f /etc/redhat-release ]; then \
Packit eace71
		$(MAKE) install_initd_redhat ; \
Packit eace71
	elif [ -f /etc/SuSE-release ]; then \
Packit eace71
		$(MAKE) install_initd_suse ; \
Packit eace71
	fi
Packit eace71
Packit eace71
# these are external targets to allow bypassing distribution detection
Packit eace71
install_initd_suse:
Packit eace71
	$(INSTALL) -d $(DESTDIR)$(initddir)
Packit eace71
	$(INSTALL) -m 755 etc/initd/initd.suse \
Packit eace71
		$(DESTDIR)$(initddir)/open-iscsi
Packit eace71
	$(INSTALL) -m 755 etc/initd/boot.suse \
Packit eace71
		$(DESTDIR)$(initddir)/boot.open-iscsi
Packit eace71
Packit eace71
install_initd_redhat:
Packit eace71
	$(INSTALL) -d $(DESTDIR)$(initddir)
Packit eace71
	$(INSTALL) -m 755 etc/initd/initd.redhat \
Packit eace71
		$(DESTDIR)$(initddir)/open-iscsi
Packit eace71
Packit eace71
install_initd_debian:
Packit eace71
	$(INSTALL) -d $(DESTDIR)$(initddir)
Packit eace71
	$(INSTALL) -m 755 etc/initd/initd.debian \
Packit eace71
		$(DESTDIR)$(initddir)/open-iscsi
Packit eace71
Packit eace71
install_iface: $(IFACEFILES)
Packit eace71
	$(INSTALL) -d $(DESTDIR)$(etcdir)/iscsi/ifaces
Packit eace71
	$(INSTALL) -m 644 $^ $(DESTDIR)$(etcdir)/iscsi/ifaces
Packit eace71
Packit eace71
install_etc: $(ETCFILES)
Packit eace71
	if [ ! -f $(DESTDIR)/etc/iscsi/iscsid.conf ]; then \
Packit eace71
		$(INSTALL) -d $(DESTDIR)$(etcdir)/iscsi ; \
Packit eace71
		$(INSTALL) -m 644 $^ $(DESTDIR)$(etcdir)/iscsi ; \
Packit eace71
	fi
Packit eace71
Packit eace71
install_doc: $(MANPAGES)
Packit eace71
	$(INSTALL) -d $(DESTDIR)$(mandir)/man8
Packit eace71
	$(INSTALL) -m 644 $^ $(DESTDIR)$(mandir)/man8
Packit eace71
Packit eace71
install_iname:
Packit eace71
	if [ ! -f $(DESTDIR)/etc/iscsi/initiatorname.iscsi ]; then \
Packit eace71
		echo "InitiatorName=`$(DESTDIR)/sbin/iscsi-iname`" > $(DESTDIR)/etc/iscsi/initiatorname.iscsi ; \
Packit eace71
		echo "***************************************************" ; \
Packit eace71
		echo "Setting InitiatorName to `cat $(DESTDIR)/etc/iscsi/initiatorname.iscsi`" ; \
Packit eace71
		echo "To override edit $(DESTDIR)/etc/iscsi/initiatorname.iscsi" ; \
Packit eace71
		echo "***************************************************" ; \
Packit eace71
	fi
Packit eace71
Packit eace71
install_libopeniscsiusr:
Packit eace71
	$(MAKE) -C libopeniscsiusr install
Packit eace71
Packit eace71
depend:
Packit eace71
	for dir in usr utils utils/fwparam_ibft; do \
Packit eace71
		$(MAKE) -C $$dir $@; \
Packit eace71
	done
Packit eace71
Packit eace71
# vim: ft=make tw=72 sw=4 ts=4: