blob: 2b8784aa4a95c3a78e5d64ed6778b3c2428db5ba (
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
68
69
70
71
72
73
74
|
NAME = ldetect
LIB_MAJOR = 0.12
LIB_MINOR = 8
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 names.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 -g
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 $@ $^ -ludev -lpci -lkmod -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/pci/pci.h /usr/include/pci/header.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 names.h
dmi.o: dmi.c libldetect.h common.h
names.o: names.c names.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)
dist: dis
dis ../$(NAME)-$(VERSION).tar.xz: tar
tar:
git archive --prefix=$(NAME)-$(VERSION)/ HEAD | xz >../$(NAME)-$(VERSION).tar.xz;
$(info $(NAME)-$(VERSION).tar.xz is ready)
gdb: lspcidrake
LD_LIBRARY_PATH=$(PWD) gdb -q ./lspcidrake
run: lspcidrake
LD_LIBRARY_PATH=$(PWD) ./lspcidrake -v
|