dce261033cb90caeecde70292d6ff33933cbdc9f
[platform/upstream/multipath-tools.git] / libmpathvalid / Makefile
1 include ../Makefile.inc
2
3 SONAME = 0
4 DEVLIB = libmpathvalid.so
5 LIBS = $(DEVLIB).$(SONAME)
6 VERSION_SCRIPT := libmpathvalid.version
7
8 CFLAGS += $(LIB_CFLAGS) -I$(multipathdir) -I$(mpathcmddir)
9
10 LIBDEPS += -lpthread -ldevmapper -ldl -L$(multipathdir) \
11            -lmultipath -L$(mpathcmddir) -lmpathcmd -ludev
12
13 OBJS = mpath_valid.o
14
15 all: $(LIBS)
16
17 $(LIBS): $(OBJS) $(VERSION_SCRIPT)
18         $(CC) $(LDFLAGS) $(SHARED_FLAGS) -Wl,-soname=$@ -o $@ $(OBJS) $(LIBDEPS) \
19                 -Wl,--version-script=$(VERSION_SCRIPT)
20         $(LN) $(LIBS) $(DEVLIB)
21
22 $(NV_VERSION_SCRIPT):   $(VERSION_SCRIPT)
23         @printf 'NOVERSION {\nglobal:\n' >$@
24         @grep -P '^[ \t]+[a-zA-Z_][a-zA-Z0-9_]*;' $< >>$@
25         @printf 'local:\n\t*;\n};\n' >>$@
26
27 $(LIBS:%.so.$(SONAME)=%-nv.so): $(OBJS) $(NV_VERSION_SCRIPT)
28         $(CC) $(LDFLAGS) $(SHARED_FLAGS) -Wl,-soname=$@ \
29                 -Wl,--version-script=$(NV_VERSION_SCRIPT) -o $@ $(OBJS) $(LIBDEPS)
30
31 abi:    $(LIBS:%.so.$(SONAME)=%-nv.abi)
32
33 install: $(LIBS)
34         $(INSTALL_PROGRAM) -m 755 -d $(DESTDIR)$(syslibdir)
35         $(INSTALL_PROGRAM) -m 755 $(LIBS) $(DESTDIR)$(syslibdir)/$(LIBS)
36         $(LN) $(LIBS) $(DESTDIR)$(syslibdir)/$(DEVLIB)
37         $(INSTALL_PROGRAM) -m 755 -d $(DESTDIR)$(includedir)
38         $(INSTALL_PROGRAM) -m 644 mpath_valid.h $(DESTDIR)$(includedir)
39
40 uninstall:
41         $(RM) $(DESTDIR)$(syslibdir)/$(LIBS)
42         $(RM) $(DESTDIR)$(syslibdir)/$(DEVLIB)
43         $(RM) $(DESTDIR)$(includedir)/mpath_valid.h
44
45 clean: dep_clean
46         $(RM) core *.a *.o *.so *.so.* *.gz *.abi $(NV_VERSION_SCRIPT)
47
48 include $(wildcard $(OBJS:.o=.d))
49
50 dep_clean:
51         $(RM) $(OBJS:.o=.d)