chiark / gitweb /
a0c773550ed61b2311a34cbab5e327bab74d6f44
[elogind.git] / extras / volume_id / lib / Makefile
1 # libvolume_id - read filesystem label/uuid
2 #
3 # Copyright (C) 2004-2006 Kay Sievers <kay.sievers@vrfy.org>
4 #
5 # Released under the GNU General Public License, version 2.
6 #
7 includedir =    ${prefix}/usr/include
8 libdir =        ${prefix}/lib
9 usrlibdir =     ${prefix}/usr/lib
10
11 INSTALL = /usr/bin/install -c
12 INSTALL_DATA  = ${INSTALL} -m 644
13 INSTALL_LIB = ${INSTALL} -m 755
14
15 SHLIB_CUR = 0
16 SHLIB_REV = 61
17 SHLIB_AGE = 0
18 SHLIB = libvolume_id.so.$(SHLIB_CUR).$(SHLIB_REV).$(SHLIB_AGE)
19
20 OBJS=                           \
21         ext.o                   \
22         fat.o                   \
23         hfs.o                   \
24         highpoint.o             \
25         isw_raid.o              \
26         lsi_raid.o              \
27         via_raid.o              \
28         silicon_raid.o          \
29         nvidia_raid.o           \
30         promise_raid.o          \
31         iso9660.o               \
32         jfs.o                   \
33         linux_raid.o            \
34         linux_swap.o            \
35         lvm.o                   \
36         ntfs.o                  \
37         reiserfs.o              \
38         udf.o                   \
39         ufs.o                   \
40         xfs.o                   \
41         cramfs.o                \
42         hpfs.o                  \
43         romfs.o                 \
44         sysv.o                  \
45         minix.o                 \
46         luks.o                  \
47         ocfs.o                  \
48         vxfs.o                  \
49         squashfs.o              \
50         volume_id.o             \
51         util.o
52
53 HEADERS=                        \
54         libvolume_id.h          \
55         util.h
56
57 all: libvolume_id.a $(SHLIB) libvolume_id.pc
58 .PHONY: all
59 .DEFAULT: all
60
61 %.o: %.c
62         $(E) "  CC      " $@
63         $(Q) $(CC) -c $(CFLAGS) $< -o $@
64
65 .shlib:
66         $(Q) mkdir .shlib
67
68 .shlib/%.o: %.c
69         $(E) "  CC      " $@
70         $(Q) $(CC) -c $(CFLAGS) -fPIC $< -o $@
71
72 libvolume_id.a: $(HEADERS) $(OBJS)
73         $(Q) rm -f $@
74         $(E) "  AR      " $@
75         $(Q) $(AR) cq $@ $(OBJS)
76         $(E) "  RANLIB  " $@
77         $(Q) $(RANLIB) $@
78
79 $(SHLIB): $(HEADERS) .shlib $(addprefix .shlib/,$(OBJS))
80         $(E) "  CC      " $@
81         $(Q) $(CC) -shared $(CFLAGS) -o $@ \
82                 -Wl,-soname,libvolume_id.so.$(SHLIB_CUR),--version-script,exported_symbols \
83                 $(addprefix .shlib/,$(OBJS))
84         $(Q) ln -sf $@ libvolume_id.so.$(SHLIB_CUR)
85         $(Q) ln -sf $@ libvolume_id.so
86
87 libvolume_id.pc:
88         $(E) "  GENPC   " $@
89         $(Q) echo "prefix=${prefix}" > $@
90         $(Q) echo "libdir=${libdir}" >> $@
91         $(Q) echo "includedir=${includedir}" >> $@
92         $(Q) echo "" >> $@
93         $(Q) echo "Name: libvolume_id" >> $@
94         $(Q) echo "Description: Filesystem label and uuid access" >> $@
95         $(Q) echo "Version: $(SHLIB_CUR).$(SHLIB_REV).$(SHLIB_AGE)" >> $@
96         $(Q) echo "Libs: -L\$${libdir} -lvolume_id" >> $@
97         $(Q) echo "Cflags: -I\$${includedir}" >> $@
98
99 install: all
100         $(INSTALL_DATA) -D libvolume_id.h $(DESTDIR)$(includedir)/libvolume_id.h
101         $(INSTALL_LIB) -D libvolume_id.a $(DESTDIR)$(usrlibdir)/libvolume_id.a
102         $(INSTALL_LIB) -D $(SHLIB) $(DESTDIR)$(libdir)/$(SHLIB)
103         ln -sf $(DESTDIR)$(libdir)/$(SHLIB) $(DESTDIR)$(libdir)/libvolume_id.so.$(SHLIB_CUR)
104         ln -sf $(DESTDIR)$(libdir)/$(SHLIB) $(DESTDIR)$(usrlibdir)/libvolume_id.so
105         $(INSTALL_DATA) -D libvolume_id.pc $(DESTDIR)$(usrlibdir)/pkgconfig/libvolume_id.pc
106 .PHONY: install
107
108 uninstall:
109         rm -f $(DESTDIR)$(includedir)/libvolume_id.h
110         rm -f $(DESTDIR)$(usrlibdir)/libvolume_id.a
111         rm -f $(DESTDIR)$(libdir)/$(SHLIB)
112         rm -f $(DESTDIR)$(libdir)/libvolume_id.so.$(SHLIB_CUR)
113         rm -f $(DESTDIR)$(libdir)/libvolume_id.so
114 .PHONY: uninstall
115
116 clean:
117         $(E) "  CLEAN   "
118         $(Q) rm -f libvolume_id.a $(OBJS)
119         $(Q) rm -f $(SHLIB) libvolume_id.so.$(SHLIB_CUR) libvolume_id.so
120         $(Q) rm -rf .shlib
121         $(Q) rm -f libvolume_id.pc
122 .PHONY: clean
123