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#
7includedir = 	${prefix}/usr/include
8libdir =	${prefix}/lib
9usrlibdir =	${prefix}/usr/lib
10
11INSTALL = install -c
12INSTALL_DATA  = ${INSTALL} -m 644
13INSTALL_LIB = ${INSTALL} -m 755
14
15SHLIB_CUR = 0
16SHLIB_REV = 78
17SHLIB_AGE = 0
18SHLIB = libvolume_id.so.$(SHLIB_CUR).$(SHLIB_REV).$(SHLIB_AGE)
19
20OBJS=				\
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	volume_id.o		\
56	util.o
57
58HEADERS=			\
59	libvolume_id.h		\
60	util.h
61
62all: libvolume_id.a $(SHLIB) libvolume_id.pc
63.PHONY: all
64.DEFAULT: all
65
66.SUFFIXES:
67
68%.o: %.c
69	$(E) "  CC      " $@
70	$(Q) $(CC) -c $(CFLAGS) $< -o $@
71
72.shlib/%.o: %.c
73	$(E) "  CC      " $@
74	$(Q) mkdir -p $(dir $@)
75	$(Q) $(CC) -c $(CFLAGS) -fPIC $< -o $@
76
77libvolume_id.a: $(HEADERS) $(OBJS)
78	$(Q) rm -f $@
79	$(E) "  AR      " $@
80	$(Q) $(AR) cq $@ $(OBJS)
81	$(E) "  RANLIB  " $@
82	$(Q) $(RANLIB) $@
83
84$(SHLIB): $(HEADERS) exported_symbols $(addprefix .shlib/,$(OBJS))
85	$(E) "  CC      " $@
86	$(Q) $(CC) -shared $(CFLAGS) -o $@ \
87		-Wl,-soname,libvolume_id.so.$(SHLIB_CUR),--version-script,exported_symbols \
88		$(addprefix .shlib/,$(OBJS))
89	$(Q) ln -sf $@ libvolume_id.so.$(SHLIB_CUR)
90	$(Q) ln -sf $@ libvolume_id.so
91
92libvolume_id.pc:
93	$(E) "  GENPC   " $@
94	$(Q) echo "prefix=${prefix}" > $@
95	$(Q) echo "libdir=${libdir}" >> $@
96	$(Q) echo "includedir=${includedir}" >> $@
97	$(Q) echo "" >> $@
98	$(Q) echo "Name: libvolume_id" >> $@
99	$(Q) echo "Description: Filesystem label and uuid access" >> $@
100	$(Q) echo "Version: $(SHLIB_CUR).$(SHLIB_REV).$(SHLIB_AGE)" >> $@
101	$(Q) echo "Libs: -L\$${libdir} -lvolume_id" >> $@
102	$(Q) echo "Cflags: -I\$${includedir}" >> $@
103
104install: all
105	$(INSTALL_DATA) -D libvolume_id.h $(DESTDIR)$(includedir)/libvolume_id.h
106	$(INSTALL_LIB) -D $(SHLIB) $(DESTDIR)$(libdir)/$(SHLIB)
107	mkdir -p $(DESTDIR)$(usrlibdir)/
108	ln -sf $(SHLIB) $(DESTDIR)$(libdir)/libvolume_id.so.$(SHLIB_CUR)
109	ln -sf $(libdir)/$(SHLIB) $(DESTDIR)$(usrlibdir)/libvolume_id.so
110	$(INSTALL_DATA) -D libvolume_id.pc $(DESTDIR)$(usrlibdir)/pkgconfig/libvolume_id.pc
111.PHONY: install
112
113uninstall:
114	rm -f $(DESTDIR)$(includedir)/libvolume_id.h
115	rm -f $(DESTDIR)$(usrlibdir)/libvolume_id.a
116	rm -f $(DESTDIR)$(libdir)/$(SHLIB)
117	rm -f $(DESTDIR)$(libdir)/libvolume_id.so.$(SHLIB_CUR)
118	rm -f $(DESTDIR)$(libdir)/libvolume_id.so
119.PHONY: uninstall
120
121clean:
122	$(E) "  CLEAN   "
123	$(Q) rm -f libvolume_id.a $(OBJS)
124	$(Q) rm -f $(SHLIB) libvolume_id.so.$(SHLIB_CUR) libvolume_id.so
125	$(Q) rm -rf .shlib
126	$(Q) rm -f libvolume_id.pc
127.PHONY: clean
128