Blame libopeniscsiusr/Makefile

Packit Service 646995
# Makefile
Packit Service 646995
#
Packit Service 646995
# Copyright (C) 2017 Red Hat, Inc.
Packit Service 646995
# Gris Ge <fge@redhat.com>
Packit Service 646995
#
Packit Service 646995
Packit Service 646995
ifeq ($(TOPDIR),)
Packit Service 646995
	TOPDIR = ..
Packit Service 646995
endif
Packit Service 646995
Packit Service 646995
DESTDIR ?=
Packit Service 646995
prefix ?= /usr
Packit Service 646995
INSTALL ?= install
Packit Service 646995
Packit Service 646995
ifndef LIB_DIR
Packit Service 646995
	ifeq ($(shell test -d /lib64 && echo 1),1)
Packit Service 646995
		LIB_DIR=$(prefix)/lib64
Packit Service 646995
	else
Packit Service 646995
		LIB_DIR=$(prefix)/lib
Packit Service 646995
	endif
Packit Service 646995
endif
Packit Service 646995
Packit Service 646995
INCLUDE_DIR ?= $(prefix)/include
Packit Service 646995
PKGCONF_DIR ?= $(LIB_DIR)/pkgconfig
Packit Service 646995
Packit Service 646995
PKG_CONFIG = /usr/bin/pkg-config
Packit Service 646995
Packit Service 646995
LIBISCSI_USR_DIR=$(TOPDIR)/libopeniscsiusr
Packit Service 646995
Packit Service 646995
LIBISCSI_USR_VERSION_MAJOR=0
Packit Service 646995
LIBISCSI_USR_VERSION=0.2.0
Packit Service 646995
SONAME=$(LIBISCSI_USR_VERSION)
Packit Service 646995
DEVLIB = libopeniscsiusr.so
Packit Service 646995
LIBS = $(DEVLIB).$(SONAME)
Packit Service 646995
LIBS_MAJOR = $(DEVLIB).$(LIBISCSI_USR_VERSION_MAJOR)
Packit Service 646995
PKGFILE = libopeniscsiusr.pc
Packit Service 646995
HEADERS = libopeniscsiusr/libopeniscsiusr.h \
Packit Service 646995
	  libopeniscsiusr/libopeniscsiusr_common.h \
Packit Service 646995
	  libopeniscsiusr/libopeniscsiusr_session.h \
Packit Service 646995
	  libopeniscsiusr/libopeniscsiusr_iface.h \
Packit Service 646995
	  libopeniscsiusr/libopeniscsiusr_node.h
Packit Service 646995
TESTS = tests/test_context tests/test_session tests/test_iface tests/test_node
Packit Service 646995
EXTRA_MAN_FILES = libopeniscsiusr.h.3
Packit Service 646995
Packit Service 646995
OBJS = context.o misc.o session.o sysfs.o iface.o idbm.o node.o default.o
Packit Service 646995
Packit Service 646995
CFLAGS ?= -O2 -g
Packit Service 646995
CFLAGS += -Wall -Werror -Wextra -fvisibility=hidden -fPIC
Packit Service 646995
CFLAGS += $(shell $(PKG_CONFIG) --cflags libkmod)
Packit Service 646995
Packit Service 646995
LDFLAGS += $(shell $(PKG_CONFIG) --libs libkmod)
Packit Service 646995
Packit Service 646995
LIBADD =
Packit Service 646995
Packit Service 646995
all: $(LIBS) $(LIBS_MAJOR) $(TESTS) doc
Packit Service 646995
Packit Service 646995
$(LIBS): $(OBJS)
Packit Service 646995
	@echo CFLAGS= $(CFLAGS)
Packit Service 646995
	$(CC) $(CFLAGS) -shared -Wl,-soname=$@ -o $@ $(OBJS) $(LDFLAGS) $(LIBADD)
Packit Service 646995
	ln -sf $@ $(DEVLIB)
Packit Service 646995
Packit Service 646995
$(LIBS_MAJOR): $(LIBS)
Packit Service 646995
	ln -sf $(LIBS) $@
Packit Service 646995
Packit Service 646995
clean:
Packit Service 646995
	$(RM) vgcore* core *.a *.o *.gz *.so *.so.* $(TESTS)
Packit Service 646995
	$(RM) -r docs/man
Packit Service 646995
Packit Service 646995
$(TESTS): $(LIBS)
Packit Service 646995
$(TESTS): CFLAGS += -I$(TOPDIR)/libopeniscsiusr -g
Packit Service 646995
$(TESTS): LDFLAGS += $(LIBADD) -L$(TOPDIR)/libopeniscsiusr -lopeniscsiusr
Packit Service 646995
Packit Service 646995
check: $(LIBS) $(TESTS)
Packit Service 646995
	sudo env LD_LIBRARY_PATH=$(LIBISCSI_USR_DIR) TESTS="$(TESTS)" \
Packit Service 646995
		tests/runtest.sh || exit 1;
Packit Service 646995
Packit Service 646995
install: $(LIBS) $(LIBS_MAJOR)
Packit Service 646995
	$(INSTALL) -d $(DESTDIR)/$(LIB_DIR)/
Packit Service 646995
	$(INSTALL) -d $(DESTDIR)/$(INCLUDE_DIR)/
Packit Service 646995
	$(INSTALL) $(LIBS) $(DESTDIR)$(LIB_DIR)/
Packit Service 646995
	ln -sf $(LIBS) $(DESTDIR)/$(LIB_DIR)/$(DEVLIB)
Packit Service 646995
	ln -sf $(LIBS) $(DESTDIR)/$(LIB_DIR)/$(LIBS_MAJOR)
Packit Service 646995
	$(INSTALL) $(HEADERS) $(DESTDIR)$(INCLUDE_DIR)/
Packit Service 646995
	$(INSTALL) -m 644 -D $(PKGFILE).in $(DESTDIR)$(PKGCONF_DIR)/$(PKGFILE)
Packit Service 646995
	perl -i -pe 's|__VERSION__|$(LIBNVME_VERSION)|g' \
Packit Service 646995
		$(DESTDIR)$(PKGCONF_DIR)/$(PKGFILE)
Packit Service 646995
	perl -i -pe 's|__LIB_DIR__|$(LIB_DIR)|g' \
Packit Service 646995
		$(DESTDIR)$(PKGCONF_DIR)/$(PKGFILE)
Packit Service 646995
	perl -i -pe 's|__INCLUDE_DIR__|$(INCLUDE_DIR)|g' \
Packit Service 646995
		$(DESTDIR)$(PKGCONF_DIR)/$(PKGFILE)
Packit Service 646995
Packit Service 646995
doc: docs/man/$(EXTRA_MAN_FILES).gz
Packit Service 646995
Packit Service 646995
TEMPFILE := $(shell mktemp)
Packit Service 646995
Packit Service 646995
docs/man/$(EXTRA_MAN_FILES).gz: $(HEADERS)
Packit Service 646995
	@for file in $(EXTRA_MAN_FILES); do \
Packit Service 646995
		$(INSTALL) -v -m 644 -D docs/$$file docs/man/$$file; \
Packit Service 646995
	done
Packit Service 646995
	cat $(HEADERS) | \
Packit Service 646995
	    perl docs/doc-preclean.pl > "$(TEMPFILE)"
Packit Service 646995
	perl docs/kernel-doc -man "$(TEMPFILE)" | \
Packit Service 646995
	    perl docs/split-man.pl docs/man
Packit Service 646995
	-rm -f "$(TEMPFILE)"
Packit Service 646995
	@for file in docs/man/*.3; do \
Packit Service 646995
		gzip -f $$file; \
Packit Service 646995
	done
Packit Service 646995
	find docs/man -type f -name \*[0-9].gz