1 | # Custom systemd Makefile include that builds/installs gudev only for LFS
|
---|
2 |
|
---|
3 | # vim: tabstop=3
|
---|
4 |
|
---|
5 | LIBGUDEV_SRCS = \
|
---|
6 | gudevclient.c \
|
---|
7 | gudevdevice.c \
|
---|
8 | gudevenumerator.c \
|
---|
9 | gudevenumtypes.c \
|
---|
10 | gudevmarshal.c
|
---|
11 |
|
---|
12 | LIBGUDEV_INCLUDES = \
|
---|
13 | src/gudev/gudev.h \
|
---|
14 | src/gudev/gudevenums.h \
|
---|
15 | src/gudev/gudevenumtypes.h \
|
---|
16 | src/gudev/gudevtypes.h \
|
---|
17 | src/gudev/gudevclient.h \
|
---|
18 | src/gudev/gudevdevice.h \
|
---|
19 | src/gudev/gudevenumerator.h
|
---|
20 |
|
---|
21 | LIBGUDEV_OBJS := $(addprefix build/, $(LIBGUDEV_SRCS:.c=.o))
|
---|
22 |
|
---|
23 | LIBGUDEV_CFLAGS = \
|
---|
24 | -I src/gudev \
|
---|
25 | -D_POSIX_PTHREAD_SEMANTICS \
|
---|
26 | -D_REENTRANT \
|
---|
27 | -D_GUDEV_COMPILATION \
|
---|
28 | -DG_LOG_DOMAIN=\"GUdev\" \
|
---|
29 | -fvisibility=default \
|
---|
30 | -I /usr/include/glib-2.0 \
|
---|
31 | -I /usr/lib/glib-2.0/include
|
---|
32 |
|
---|
33 | LIBGUDEV_LDFLAGS = \
|
---|
34 | -L build -L /usr/lib \
|
---|
35 | -ludev -lgobject-2.0 \
|
---|
36 | -lglib-2.0
|
---|
37 |
|
---|
38 | GUDEV_GENERATED = \
|
---|
39 | src/gudev/gudevmarshal.h \
|
---|
40 | src/gudev/gudevmarshal.c \
|
---|
41 | src/gudev/gudevenumtypes.h \
|
---|
42 | src/gudev/gudevenumtypes.c
|
---|
43 |
|
---|
44 | LIBGUDEV = libgudev-1.0
|
---|
45 | LIBGUDEV_MAJOR = .0
|
---|
46 | LIBGUDEV_MINOR = .1
|
---|
47 | LIBGUDEV_PATCH = .3
|
---|
48 | LIBGUDEV_SONAME := $(LIBGUDEV).so
|
---|
49 | LIBGUDEV_LINK_NAME := $(LIBGUDEV_SONAME)$(LIBGUDEV_MAJOR)
|
---|
50 | LIBGUDEV_REAL_NAME := $(LIBGUDEV_LINK_NAME)$(LIBGUDEV_MINOR)$(LIBGUDEV_PATCH)
|
---|
51 |
|
---|
52 | src/gudev/gudevmarshal.h: src/gudev/gudevmarshal.list
|
---|
53 | @echo GEN $@
|
---|
54 | $(VB)glib-genmarshal $< --prefix=g_udev_marshal --header > $@
|
---|
55 |
|
---|
56 | src/gudev/gudevmarshal.c: src/gudev/gudevmarshal.list
|
---|
57 | @echo GEN $@
|
---|
58 | @echo "#include \"gudevmarshal.h\"" > $@
|
---|
59 | $(VB)glib-genmarshal $< --prefix=g_udev_marshal --body >> $@
|
---|
60 |
|
---|
61 | src/gudev/gudevenumtypes.h: src/gudev/gudevenumtypes.h.template src/gudev/gudevenums.h
|
---|
62 | @echo GEN $@
|
---|
63 | $(VB)glib-mkenums --template $^ > $@
|
---|
64 |
|
---|
65 | src/gudev/gudevenumtypes.c: src/gudev/gudevenumtypes.c.template src/gudev/gudevenums.h
|
---|
66 | @echo GEN $@
|
---|
67 | $(VB)glib-mkenums --template $^ > $@
|
---|
68 |
|
---|
69 | build/%o: src/gudev/%c $(GUDEV_GENERATED) common
|
---|
70 | @echo CC $<
|
---|
71 | $(VB)gcc -c $(LIBGUDEV_CFLAGS) $(WARN) $(OPTIONS) $(INCLUDE) $(DEF) -o $@ $<
|
---|
72 |
|
---|
73 | build/$(LIBGUDEV_REAL_NAME): $(LIBGUDEV_OBJS) build/udev-local.a build/$(LIBUDEV_REAL_NAME)
|
---|
74 | @echo LINK $@
|
---|
75 | $(VB)gcc -shared -Wl,--export-dynamic -Wl,-soname,$(LIBGUDEV_LINK_NAME) \
|
---|
76 | -o build/$(LIBGUDEV_REAL_NAME) $(LIBGUDEV_OBJS) $(LIBGUDEV_LDFLAGS)
|
---|
77 |
|
---|
78 | ln -sfn $(LIBGUDEV_REAL_NAME) build/$(LIBGUDEV_LINK_NAME)
|
---|
79 | ln -sfn $(LIBGUDEV_REAL_NAME) build/$(LIBGUDEV_SONAME)
|
---|
80 |
|
---|
81 | build/gudev-1.0.pc: src/gudev/gudev-1.0.pc.in common
|
---|
82 | @echo GEN $@
|
---|
83 | @$(SED_PROCESS)
|
---|
84 |
|
---|
85 | gudev: build/$(LIBGUDEV_REAL_NAME) build/gudev-1.0.pc
|
---|
86 |
|
---|
87 | clean-gudev:
|
---|
88 | rm -f src/gudev/gudevmarshal.h
|
---|
89 | rm -f src/gudev/gudevmarshal.c
|
---|
90 | rm -f src/gudev/gudevenumtypes.h
|
---|
91 | rm -f src/gudev/gudevenumtypes.c
|
---|
92 | rm -f $(LIBGUDEV_OBJS)
|
---|
93 | rm -f build/libgudev-1.0.so*
|
---|
94 |
|
---|
95 | install-gudev: gudev
|
---|
96 | @mkdir -pv $(DESTDIR)/usr/include/gudev-1.0/gudev \
|
---|
97 | $(DESTDIR)/usr/lib/pkgconfig \
|
---|
98 | $(DESTDIR)/usr/share/gtk-doc/html/gudev
|
---|
99 |
|
---|
100 | @cp -v $(LIBGUDEV_INCLUDES) $(DESTDIR)/usr/include/gudev-1.0/gudev
|
---|
101 | @cp -v build/$(LIBGUDEV_REAL_NAME) $(DESTDIR)/usr/lib
|
---|
102 |
|
---|
103 | @ln -svfn $(LIBGUDEV_REAL_NAME) $(DESTDIR)/usr/lib/$(LIBGUDEV_SONAME)
|
---|
104 | @ln -svfn $(LIBGUDEV_REAL_NAME) $(DESTDIR)/usr/lib/$(LIBGUDEV_LINK_NAME)
|
---|
105 |
|
---|
106 | @cp -v build/gudev-1.0.pc $(DESTDIR)/usr/lib/pkgconfig
|
---|
107 | @cp -v docs/gudev/html/* $(DESTDIR)/usr/share/gtk-doc/html/gudev
|
---|
108 |
|
---|