blob: ecfa9ab711c995b62dbe87d89e8f3c5c2087de3f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
NAME = ldetect
LIB_MAJOR = 0.8
LIB_MINOR = 0
VERSION=$(LIB_MAJOR).$(LIB_MINOR)
prefix = /usr
bindir = $(prefix)/bin
libdir = $(prefix)/lib
includedir = $(prefix)/include
binaries = lspcidrake
lib_objs = common.o hid.o modalias.o pciusb.o pci.o usb.o pciclass.o usbclass.o dmi.o sysfs_attr.o sysfs_utils.o
lib_major = libldetect.so.$(LIB_MAJOR)
libraries = libldetect.so $(lib_major) $(lib_major).$(LIB_MINOR) libldetect.a
CFLAGS = -Wall -W -Wstrict-prototypes -Os -fPIC -fvisibility=hidden
RPM ?= $(HOME)/rpm
build: $(binaries) $(libraries)
lspcidrake: lspcidrake.c libldetect.so
$(lib_major).$(LIB_MINOR): $(lib_objs)
$(CC) -shared -Wl,-z,relro -Wl,-O1,-soname,$(lib_major) -o $@ $^ -lpci -lmodprobe -lz
$(lib_major): $(lib_major).$(LIB_MINOR)
ln -sf $< $@
libldetect.so: $(lib_major)
ln -sf $< $@
libldetect.a: $(lib_objs)
ar -cru $@ $^
ranlib $@
pciclass.c: /usr/include/linux/pci.h /usr/include/linux/pci_ids.h
rm -f $@
perl generate_pciclass.pl $^ > $@
chmod a-w $@
usbclass.c: /usr/share/usb.ids
rm -f $@
perl generate_usbclass.pl $^ > $@
chmod a-w $@
common.o: common.c 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
sysfs_attr.o: sysfs_attr.c sysfs.h libsysfs.h
sysfs_utils.o: sysfs_utils.c sysfs.h libsysfs.h
clean:
rm -f *~ *.o pciclass.c usbclass.c $(binaries) $(libraries)
install: build
install -d $(bindir) $(libdir) $(includedir)
install $(binaries) $(bindir)
cp -a $(libraries) $(libdir)
install libldetect.h $(includedir)
dis ../$(NAME)-$(VERSION).tar.bz2: clean
svn export -q -rBASE . $(NAME)-$(VERSION)
tar cfj ../$(NAME)-$(VERSION).tar.bz2 $(NAME)-$(VERSION)
rm -rf $(NAME)-$(VERSION)
log:
svn2cl --authors ../common/username.xml --accum
|