Files
libiscsi/Makefile.am
Ronnie Sahlberg efc556e2e9 TESTS: Create a test that tries to overflow the maxcmdsn counter
so that i/o from the initiator stops flowing and are just queued locally
until teh cmdsn window opens up again.

Send a lot of writes that block until we have processed the R2T
back from the target and verify we can still make process when we
have saturated the cmdsn window and are also blocked waiting for R2Ts.
2012-11-27 19:51:22 -08:00

178 lines
7.0 KiB
Makefile

# Generic definitions
ACLOCAL_AMFLAGS =-I m4
AUTOMAKE_OPTIONS = foreign subdir-objects
AM_CPPFLAGS=-I. -I$(srcdir)/include "-D_U_=__attribute__((unused))"
AM_CFLAGS=$(WARN_CFLAGS)
LDADD = lib/libiscsi.la -lpopt
EXTRA_DIST = autogen.sh COPYING LICENCE-GPL-2.txt LICENCE-LGPL-2.1.txt \
packaging/RPM/libiscsi.spec.in packaging/RPM/makerpms.sh
# Simplify conditions below by declaring variables as empty
bin_PROGRAMS =
noinst_PROGRAMS =
EXTRA_PROGRAMS =
# libiscsi shared library
iscsi_includedir = $(includedir)/iscsi
dist_iscsi_include_HEADERS = include/iscsi.h include/scsi-lowlevel.h
dist_noinst_HEADERS = include/iscsi-private.h include/md5.h include/slist.h
dist_noinst_DATA = lib/libiscsi.syms
lib_LTLIBRARIES = lib/libiscsi.la
lib_libiscsi_la_SOURCES = \
lib/connect.c lib/crc32c.c lib/discovery.c lib/init.c \
lib/login.c lib/md5.c lib/nop.c lib/pdu.c lib/iscsi-command.c \
lib/scsi-lowlevel.c lib/socket.c lib/sync.c lib/task_mgmt.c \
lib/logging.c
SONAME=$(firstword $(subst ., ,$(VERSION)))
SOREL=$(shell printf "%d%02d%02d" $(subst ., ,$(VERSION)))
lib_libiscsi_la_LDFLAGS = \
-version-info $(SONAME):$(SOREL):0 -bindir $(bindir) -no-undefined \
-export-symbols $(srcdir)/lib/libiscsi.syms
# libiscsi utilities
if PROGRAMS
bin_PROGRAMS += bin/iscsi-inq bin/iscsi-ls bin/iscsi-readcapacity16
bin_iscsi_inq_SOURCES = src/iscsi-inq.c
bin_iscsi_ls_SOURCES = src/iscsi-ls.c
bin_iscsi_readcapacity16_SOURCES = src/iscsi-readcapacity16.c
# Other examples
noinst_PROGRAMS += bin/iscsiclient
bin_iscsiclient_SOURCES = examples/iscsiclient.c
EXTRA_PROGRAMS += bin/iscsi-dd
bin_iscsi_dd_SOURCES = examples/iscsi-dd.c
# libiscsi test tool
noinst_PROGRAMS += bin/iscsi-test
dist_noinst_HEADERS += test-tool/iscsi-test.h
bin_iscsi_test_CPPFLAGS = $(AM_CPPFLAGS) -I$(srcdir)/test-tool
bin_iscsi_test_LDFLAGS = -ldl
bin_iscsi_test_SOURCES = test-tool/iscsi-test.c \
test-tool/0000_testunitready_simple.c \
test-tool/0100_read10_simple.c test-tool/0101_read10_beyond_eol.c \
test-tool/0102_read10_0blocks.c test-tool/0103_read10_rdprotect.c \
test-tool/0104_read10_flags.c test-tool/0105_read10_invalid.c \
test-tool/0110_readcapacity10_simple.c \
test-tool/0120_read6_simple.c \
test-tool/0121_read6_beyond_eol.c test-tool/0122_read6_invalid.c \
test-tool/0130_verify10_simple.c test-tool/0131_verify10_mismatch.c \
test-tool/0132_verify10_mismatch_no_cmp.c test-tool/0133_verify10_beyondeol.c \
test-tool/0160_readcapacity16_simple.c \
test-tool/0161_readcapacity16_alloclen.c \
test-tool/0170_unmap_simple.c test-tool/0171_unmap_zero.c \
test-tool/0180_writesame10_unmap.c test-tool/0181_writesame10_unmap_unaligned.c \
test-tool/0182_writesame10_beyondeol.c \
test-tool/0183_writesame10_wrprotect.c \
test-tool/0184_writesame10_0blocks.c \
test-tool/0190_writesame16_unmap.c test-tool/0191_writesame16_unmap_unaligned.c \
test-tool/0192_writesame16_beyondeol.c \
test-tool/0193_writesame16_wrprotect.c \
test-tool/0194_writesame16_0blocks.c \
test-tool/0200_read16_simple.c test-tool/0201_read16_rdprotect.c \
test-tool/0202_read16_flags.c test-tool/0203_read16_0blocks.c \
test-tool/0204_read16_beyondeol.c \
test-tool/0210_read12_simple.c test-tool/0211_read12_rdprotect.c \
test-tool/0212_read12_flags.c test-tool/0213_read12_0blocks.c \
test-tool/0214_read12_beyondeol.c \
test-tool/0220_write16_simple.c test-tool/0221_write16_wrprotect.c \
test-tool/0222_write16_flags.c test-tool/0223_write16_0blocks.c \
test-tool/0224_write16_beyondeol.c \
test-tool/0230_write12_simple.c test-tool/0231_write12_wrprotect.c \
test-tool/0232_write12_flags.c test-tool/0233_write12_0blocks.c \
test-tool/0234_write12_beyondeol.c \
test-tool/0240_prefetch10_simple.c \
test-tool/0241_prefetch10_flags.c \
test-tool/0242_prefetch10_beyondeol.c \
test-tool/0243_prefetch10_0blocks.c \
test-tool/0250_prefetch16_simple.c \
test-tool/0251_prefetch16_flags.c \
test-tool/0252_prefetch16_beyondeol.c \
test-tool/0253_prefetch16_0blocks.c \
test-tool/0260_get_lba_status_simple.c test-tool/0264_get_lba_status_beyondeol.c \
test-tool/0270_verify16_simple.c test-tool/0271_verify16_mismatch.c \
test-tool/0272_verify16_mismatch_no_cmp.c test-tool/0273_verify16_beyondeol.c \
test-tool/0280_verify12_simple.c test-tool/0281_verify12_mismatch.c \
test-tool/0282_verify12_mismatch_no_cmp.c test-tool/0283_verify12_beyondeol.c \
test-tool/0290_write10_simple.c test-tool/0291_write10_wrprotect.c \
test-tool/0292_write10_flags.c test-tool/0293_write10_0blocks.c \
test-tool/0294_write10_beyondeol.c \
test-tool/0300_readonly.c \
test-tool/0310_writeverify10_simple.c test-tool/0311_writeverify10_wrprotect.c \
test-tool/0314_writeverify10_beyondeol.c \
test-tool/0320_writeverify12_simple.c test-tool/0321_writeverify12_wrprotect.c \
test-tool/0324_writeverify12_beyondeol.c \
test-tool/0330_writeverify16_simple.c test-tool/0331_writeverify16_wrprotect.c \
test-tool/0334_writeverify16_beyondeol.c \
test-tool/0340_compareandwrite_simple.c test-tool/0341_compareandwrite_mismatch.c \
test-tool/0343_compareandwrite_beyondeol.c \
test-tool/0350_orwrite_simple.c \
test-tool/0351_orwrite_wrprotect.c \
test-tool/0354_orwrite_beyondeol.c \
test-tool/0360_startstopunit_simple.c \
test-tool/0361_startstopunit_pwrcnd.c \
test-tool/0362_startstopunit_noloej.c \
test-tool/0370_nomedia.c \
test-tool/0380_preventallow_simple.c \
test-tool/0381_preventallow_eject.c \
test-tool/0382_preventallow_itnexus_loss.c \
test-tool/0383_preventallow_target_warm_reset.c \
test-tool/0384_preventallow_target_cold_reset.c \
test-tool/0385_preventallow_lun_reset.c \
test-tool/0386_preventallow_2_it_nexuses.c \
test-tool/0390_mandatory_opcodes_sbc.c \
test-tool/0400_inquiry_basic.c \
test-tool/0401_inquiry_alloclen.c \
test-tool/0402_inquiry_evpd.c \
test-tool/0403_inquiry_supported_vpd.c \
test-tool/0404_inquiry_all_reported_vpd.c \
test-tool/0410_readtoc_basic.c \
test-tool/0420_reserve6_simple.c \
test-tool/0421_reserve6_lun_reset.c \
test-tool/0422_reserve6_logout.c \
test-tool/0423_reserve6_sessionloss.c \
test-tool/0424_reserve6_target_reset.c \
test-tool/0430_report_all_supported_ops.c \
\
test-tool/1000_cmdsn_invalid.c \
test-tool/1010_datasn_invalid.c \
test-tool/1020_bufferoffset_invalid.c \
test-tool/1030_unsolicited_data_overflow.c \
test-tool/1031_unsolicited_data_out.c \
test-tool/1040_saturate_maxcmdsn.c
endif
# LD_PRELOAD library.
if LD_ISCSI
EXTRA_PROGRAMS += bin/ld_iscsi
CLEANFILES = bin/ld_iscsi.o bin/ld_iscsi.so
# This gets a bit messy:
#
# 1) let automake compile the sources
bin_ld_iscsi_SOURCES = src/ld_iscsi.c
bin_ld_iscsi_CFLAGS = $(AM_CFLAGS) -fPIC
# 2) let libtool link in the static version of the library
noinst_LTLIBRARIES = lib/libiscsi_convenience.la
lib_libiscsi_convenience_la_SOURCES = $(lib_libiscsi_la_SOURCES)
bin/ld_iscsi.o: src/bin_ld_iscsi-ld_iscsi.o lib/libiscsi_convenience.la
$(LIBTOOL) --mode=link $(CC) -o $@ $^
# 3) Manually create the .so file.
bin_SCRIPTS = bin/ld_iscsi.so
bin/ld_iscsi.so: bin/ld_iscsi.o
$(CC) -shared -o bin/ld_iscsi.so bin/ld_iscsi.o -ldl
endif