summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile26
1 files changed, 17 insertions, 9 deletions
diff --git a/Makefile b/Makefile
index e5fb808..726c189 100644
--- a/Makefile
+++ b/Makefile
@@ -1,3 +1,6 @@
+LIB_MAJOR = 0.6
+LIB_MINOR = 0
+
project = ldetect
prefix = /usr
bindir = $(prefix)/bin
@@ -5,17 +8,22 @@ libdir = $(prefix)/lib
includedir = $(prefix)/include
binaries = lspcidrake
-libraries = libldetect.a
+lib_major = libldetect.so.$(LIB_MAJOR)
+libraries = libldetect.so $(lib_major) $(lib_major).$(LIB_MINOR)
CFLAGS = -Wall -W -Wstrict-prototypes -Os -fPIC
RPM ?= $(HOME)/rpm
build: $(binaries) $(libraries)
-lspcidrake: lspcidrake.c libldetect.a
+lspcidrake: lspcidrake.c libldetect.so
-libldetect.a: common.o pciusb.o pci.o usb.o pciclass.o usbclass.o dmi.o
- ar rsc $@ $^
+$(lib_major).$(LIB_MINOR): common.o pciusb.o pci.o usb.o pciclass.o usbclass.o dmi.o
+ $(CC) -shared -Wl,-soname,$(lib_major) -o $@ $^
+$(lib_major): $(lib_major).$(LIB_MINOR)
+ ln -sf $< $@
+libldetect.so: $(lib_major)
+ ln -sf $< $@
pciclass.c: /usr/include/linux/pci.h /usr/include/linux/pci_ids.h
rm -f $@
@@ -27,10 +35,10 @@ usbclass.c: /usr/share/usb.ids
perl generate_usbclass.pl $^ > $@
chmod a-w $@
-pciusb.o: pciusb.c libldetect.h libldetect-private.h common.h
-pci.o: pci.c libldetect.h libldetect-private.h common.h
-usb.o: usb.c libldetect.h libldetect-private.h common.h
-dmi.o: dmi.c libldetect.h libldetect-private.h common.h
+pciusb.o: pciusb.c libldetect.h common.h
+pci.o: pci.c libldetect.h common.h
+usb.o: usb.c libldetect.h common.h
+dmi.o: dmi.c libldetect.h common.h
clean:
rm -f *~ *.o pciclass.c usbclass.c $(binaries) $(libraries)
@@ -38,7 +46,7 @@ clean:
install: build
install -d $(bindir) $(libdir) $(includedir)
install $(binaries) $(bindir)
- install $(libraries) $(libdir)
+ cp -a $(libraries) $(libdir)
install libldetect.h $(includedir)
rpm: srpm