chiark / gitweb /
release 123
[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 = install -c
12 INSTALL_DATA  = ${INSTALL} -m 644
13 INSTALL_LIB = ${INSTALL} -m 755
14
15 SHLIB_CUR = 0
16 SHLIB_REV = 85
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         adaptec_raid.o          \
32         jmicron_raid.o          \
33         ddf_raid.o              \
34         iso9660.o               \
35         jfs.o                   \
36         linux_raid.o            \
37         linux_swap.o            \
38         lvm.o                   \
39         ntfs.o                  \
40         reiserfs.o              \
41         udf.o                   \
42         ufs.o                   \
43         xfs.o                   \
44         cramfs.o                \
45         hpfs.o                  \
46         romfs.o                 \
47         sysv.o                  \
48         minix.o                 \
49         gfs.o                   \
50         luks.o                  \
51         ocfs.o                  \
52         vxfs.o                  \
53         squashfs.o              \
54         netware.o               \
55         oracleasm.o             \
56         volume_id.o             \
57         util.o
58
59 HEADERS=                        \
60         libvolume_id.h          \
61         util.h
62
63 all: libvolume_id.a $(SHLIB) libvolume_id.pc
64 .PHONY: all
65 .DEFAULT: all
66
67 .SUFFIXES:
68
69 %.o: %.c
70         $(E) "  CC      " $@
71         $(Q) $(CC) -c $(CFLAGS) $< -o $@
72
73 .shlib/%.o: %.c
74         $(E) "  CC      " $@
75         $(Q) mkdir -p $(dir $@)
76         $(Q) $(CC) -c $(CFLAGS) -fPIC $< -o $@
77
78 libvolume_id.a: $(HEADERS) $(OBJS)
79         $(Q) rm -f $@
80         $(E) "  AR      " $@
81         $(Q) $(AR) cq $@ $(OBJS)
82         $(E) "  RANLIB  " $@
83         $(Q) $(RANLIB) $@
84
85 $(SHLIB): $(HEADERS) exported_symbols $(addprefix .shlib/,$(OBJS))
86         $(E) "  CC      " $@
87         $(Q) $(CC) -shared $(CFLAGS) $(LDFLAGS) -o $@ \
88                 -Wl,-soname,libvolume_id.so.$(SHLIB_CUR),--version-script,exported_symbols \
89                 $(addprefix .shlib/,$(OBJS))
90         $(Q) ln -sf $@ libvolume_id.so.$(SHLIB_CUR)
91         $(Q) ln -sf $@ libvolume_id.so
92
93 libvolume_id.pc:
94         $(E) "  GENPC   " $@
95         $(Q) echo "prefix=${prefix}/usr" >> $@
96         $(Q) echo "exec_prefix=\$${prefix}" >> $@
97         $(Q) echo "libdir=${usrlibdir}" >> $@
98         $(Q) echo "includedir=${includedir}" >> $@
99         $(Q) echo "" >> $@
100         $(Q) echo "Name: libvolume_id" >> $@
101         $(Q) echo "Description: Filesystem label and uuid access" >> $@
102         $(Q) echo "Version: $(SHLIB_CUR).$(SHLIB_REV).$(SHLIB_AGE)" >> $@
103         $(Q) echo "Libs: -L\$${libdir} -lvolume_id" >> $@
104         $(Q) echo "Cflags: -I\$${includedir}" >> $@
105
106 install: all
107         $(INSTALL) -d $(DESTDIR)$(includedir)
108         $(INSTALL_DATA) libvolume_id.h $(DESTDIR)$(includedir)/libvolume_id.h
109         $(INSTALL) -d $(DESTDIR)$(libdir)
110         $(INSTALL_LIB) $(SHLIB) $(DESTDIR)$(libdir)/$(SHLIB)
111         $(INSTALL) -d $(DESTDIR)$(usrlibdir)
112         ln -sf $(SHLIB) $(DESTDIR)$(libdir)/libvolume_id.so.$(SHLIB_CUR)
113 ifeq ($(libdir),$(usrlibdir))
114         ln -sf $(SHLIB) $(DESTDIR)$(usrlibdir)/libvolume_id.so
115 else
116         ln -sf $(libdir)/$(SHLIB) $(DESTDIR)$(usrlibdir)/libvolume_id.so
117 endif
118         $(INSTALL) -d $(DESTDIR)$(usrlibdir)/pkgconfig
119         $(INSTALL_DATA) libvolume_id.pc $(DESTDIR)$(usrlibdir)/pkgconfig/libvolume_id.pc
120 .PHONY: install
121
122 uninstall:
123         rm -f $(DESTDIR)$(includedir)/libvolume_id.h
124         rm -f $(DESTDIR)$(usrlibdir)/libvolume_id.a
125         rm -f $(DESTDIR)$(libdir)/$(SHLIB)
126         rm -f $(DESTDIR)$(libdir)/libvolume_id.so.$(SHLIB_CUR)
127         rm -f $(DESTDIR)$(libdir)/libvolume_id.so
128 .PHONY: uninstall
129
130 clean:
131         $(E) "  CLEAN   "
132         $(Q) rm -f libvolume_id.a $(OBJS)
133         $(Q) rm -f $(SHLIB) libvolume_id.so.$(SHLIB_CUR) libvolume_id.so
134         $(Q) rm -rf .shlib
135         $(Q) rm -f libvolume_id.pc
136 .PHONY: clean
137