[dm-devel] [PATCH V5 3/3] Introducing multipath C API
Xose Vazquez Perez
xose.vazquez at gmail.com
Mon Jul 4 16:32:56 UTC 2016
Gris Ge wrote:
> diff --git a/libdmmp/Makefile b/libdmmp/Makefile
> new file mode 100644
> index 0000000..ce7ca3f
> --- /dev/null
> +++ b/libdmmp/Makefile
> @@ -0,0 +1,78 @@
> +# Makefile
> +#
> +# Copyright (C) 2015 - 2016 Red Hat, Inc.
> +# Gris Ge <fge at redhat.com>
> +#
> +include ../Makefile.inc
> +
> +LIBDMMP_VERSION=0.1.0
> +SONAME=$(LIBDMMP_VERSION)
> +DEVLIB = libdmmp.so
> +LIBS = $(DEVLIB).$(SONAME)
> +LIBDEPS = -pthread
> +PKGFILE = libdmmp.pc
> +EXTRA_MAN_FILES = libdmmp.h.3
> +HEADERS = libdmmp/libdmmp.h
> +OBJS = libdmmp.o libdmmp_mp.o libdmmp_pg.o libdmmp_path.o libdmmp_misc.o
> +
> +CFLAGS += -fvisibility=hidden -I$(libdmmpdir) -I$(mpathcmddir) \
> + $(shell pkg-config --cflags json-c)
> +LDFLAGS += $(shell pkg-config --libs json-c) -L$(mpathcmddir) -lmpathcmd
> +
> +all: $(LIBS) doc
> +
> +$(LIBS): $(OBJS)
> + $(CC) $(LDFLAGS) $(SHARED_FLAGS) \
> + -Wl,-soname=$@ $(CFLAGS) -o $@ $(OBJS) $(LIBDEPS)
> + ln -sf $@ $(DEVLIB)
> +
> +install:
> + $(INSTALL_PROGRAM) -m 755 $(LIBS) $(DESTDIR)$(syslibdir)/$(LIBS)
> + $(INSTALL_PROGRAM) -m 644 -D \
> + $(HEADERS) $(DESTDIR)/$(includedir)/$(HEADERS)
> + ln -sf $(LIBS) $(DESTDIR)/$(syslibdir)/$(DEVLIB)
> + $(INSTALL_PROGRAM) -m 644 -D \
> + $(PKGFILE).in $(DESTDIR)/$(pkgconfdir)/$(PKGFILE)
> + perl -i -pe 's|__VERSION__|$(LIBDMMP_VERSION)|g' \
> + $(DESTDIR)/$(pkgconfdir)/$(PKGFILE)
> + perl -i -pe 's|__LIBDIR__|$(syslibdir)|g' \
> + $(DESTDIR)/$(pkgconfdir)/$(PKGFILE)
> + perl -i -pe 's|__INCLUDEDIR__|$(includedir)|g' \
> + $(DESTDIR)/$(pkgconfdir)/$(PKGFILE)
Please, replace perl with sed, awk or any other basic tool.
> + @for file in docs/man/*.3.gz; do \
> + $(INSTALL_PROGRAM) -m 644 -D \
> + $$file \
> + $(DESTDIR)/$(man3dir)/ || exit $?; \
> + done
> +
> +uninstall:
> + rm -f $(DESTDIR)$(syslibdir)/$(LIBS)
> + rm -f $(DESTDIR)$(includedir)/$(HEADERS)
> + rm -f $(DESTDIR)/$(syslibdir)/$(DEVLIB)
> + @for file in $(DESTDIR)/$(man3dir)/dmmp_*; do \
> + rm $$file; \
> + done
> + rm -f $(DESTDIR)$(man3dir)/libdmmp.h*
> +
> +clean:
> + rm -f core *.a *.o *.gz *.so *.so.*
> + rm -f docs/man/*.3.gz
> + $(MAKE) -C test clean
> +
> +check: all
> + $(MAKE) -C test check
> +
> +speed_test: all
> + $(MAKE) -C test speed_test
> +
> +doc: docs/man/$(EXTRA_MAN_FILES).gz
> +
> +docs/man/$(EXTRA_MAN_FILES).gz: $(HEADERS)
> + @for file in $(EXTRA_MAN_FILES); do \
> + $(INSTALL_PROGRAM) -v -m 644 -D docs/$$file docs/man/$$file; \
> + done
> + perl docs/kernel-doc -man $(HEADERS) | perl docs/split-man.pl docs/man
> + @for file in docs/man/*.3; do \
> + gzip -f $$file; \
> + done
> + find docs/man -type f -name \*[0-9].gz
More information about the dm-devel
mailing list