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