Blame libiscsi/Makefile

Packit Service 2a7015
# This Makefile will work only with GNU make.
Packit Service 2a7015
Packit Service 2a7015
ifeq ($(TOPDIR),)
Packit Service 2a7015
	TOPDIR = ..
Packit Service 2a7015
endif
Packit Service 2a7015
Packit Service 2a7015
OSNAME=$(shell uname -s)
Packit Service 2a7015
OPTFLAGS ?= -O2 -g
Packit Service 2a7015
WARNFLAGS ?= -Wall -Wstrict-prototypes
Packit Service 2a7015
CFLAGS = $(OPTFLAGS) $(WARNFLAGS) -I../include -I../usr \
Packit Service 9cd03b
		-D$(OSNAME) -fPIC -D_GNU_SOURCE -fvisibility=hidden \
Packit Service 9cd03b
		-I../libopeniscsiusr
Packit Service 9cd03b
LDFLAGS = -L../libopeniscsiusr -lopeniscsiusr
Packit Service 2a7015
LIB = libiscsi.so.0
Packit Service 2a7015
TESTS = tests/test_discovery_sendtargets tests/test_discovery_firmware
Packit Service 2a7015
TESTS += tests/test_login tests/test_logout tests/test_params
Packit Service 2a7015
TESTS += tests/test_get_network_config tests/test_get_initiator_name
Packit Service 2a7015
TESTS += tests/test_set_auth tests/test_get_auth
Packit Service 2a7015
Packit Service 2a7015
COMMON_SRCS = sysdeps.o
Packit Service 2a7015
# sources shared between iscsid, iscsiadm and iscsistart
Packit Service 2a7015
ISCSI_LIB_SRCS = netlink.o transport.o cxgbi.o be2iscsi.o iscsi_timer.o initiator_common.o iscsi_err.o session_info.o iscsi_util.o io.o auth.o discovery.o login.o log.o md5.o sha1.o iface.o idbm.o sysfs.o iscsi_sysfs.o iscsi_net_util.o iscsid_req.o iser.o uip_mgmt_ipc.o
Packit Service 2a7015
FW_PARAM_SRCS = fw_entry.o prom_lex.o prom_parse.tab.o fwparam_ppc.o fwparam_sysfs.o
Packit Service 2a7015
Packit Service 2a7015
# sources shared with the userspace utils, note we build these separately
Packit Service 2a7015
# to get PIC versions.
Packit Service 2a7015
COMMON_OBJS = $(patsubst %.o, common-objs/%.o, $(COMMON_SRCS))
Packit Service 9cd03b
USR_OBJS = $(patsubst %.o, usr-objs/%.o, $(ISCSI_LIB_SRCS) local_strings.o)
Packit Service 2a7015
FW_OBJS = $(patsubst %.o, fw-objs/%.o, $(FW_PARAM_SRCS))
Packit Service 2a7015
Packit Service 2a7015
# Flags for the tests
Packit Service 2a7015
tests/% : CFLAGS = $(OPTFLAGS) $(WARNFLAGS) -I.
Packit Service 2a7015
Packit Service 2a7015
all: lib tests html
Packit Service 2a7015
Packit Service 2a7015
lib: $(LIB)
Packit Service 2a7015
tests: $(TESTS)
Packit Service 2a7015
Packit Service 2a7015
common-objs/%.o: ../utils/sysdeps/%.c
Packit Service 2a7015
	mkdir -p common-objs
Packit Service 2a7015
	$(CC) $(CFLAGS) -c $< -o $@
Packit Service 2a7015
Packit Service 2a7015
usr-objs/%.o: ../usr/%.c
Packit Service 2a7015
	mkdir -p usr-objs
Packit Service 2a7015
	$(CC) $(CFLAGS) -c $< -o $@
Packit Service 2a7015
Packit Service 2a7015
fw-objs/%.o: ../utils/fwparam_ibft/%.c
Packit Service 2a7015
	mkdir -p fw-objs
Packit Service 2a7015
	$(CC) $(CFLAGS) -c $< -o $@
Packit Service 2a7015
Packit Service 2a7015
$(LIB): $(COMMON_OBJS) $(FW_OBJS) $(USR_OBJS) libiscsi.o
Packit Service 2a7015
	$(CC) $(CFLAGS) -shared -Wl,-soname,$(LIB) $^ -o $@ -L$(TOPDIR)/libopeniscsiusr -lopeniscsiusr
Packit Service 2a7015
	ln -s -f $(LIB) libiscsi.so
Packit Service 2a7015
Packit Service 2a7015
$(TESTS): $(FW_OBJS) $(COMMON_OBJS) $(USR_OBJS) $(LIB)
Packit Service 2a7015
Packit Service 2a7015
html: libiscsi.h libiscsi.doxy
Packit Service 2a7015
	doxygen libiscsi.doxy
Packit Service 2a7015
Packit Service 2a7015
clean:
Packit Service 2a7015
	rm -rf *.o common-objs usr-objs fw-objs libuip-objs libiscsi.so* \
Packit Service 2a7015
			.depend *~ html $(TESTS) tests/*~
Packit Service 2a7015
Packit Service 2a7015
depend:
Packit Service 2a7015
	gcc $(CFLAGS) -M `ls *.c` > .depend
Packit Service 2a7015
Packit Service 2a7015
-include .depend ../usr/.depend