Blame libiscsi/Makefile

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