source: udev-lfs/makefile-incl.gudev@ b2b1e1a

10.0 10.0-rc1 10.1 10.1-rc1 11.0 11.0-rc1 11.0-rc2 11.0-rc3 11.1 11.1-rc1 11.2 11.2-rc1 11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 7.3 7.4 7.5 7.5-systemd 7.6 7.6-systemd 7.7 7.7-systemd 7.8 7.8-systemd 7.9 7.9-systemd 8.0 8.1 8.2 8.3 8.4 9.0 9.1 arm bdubbs/gcc13 ml-11.0 multilib renodr/libudev-from-systemd s6-init trunk xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/lfs-next xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since b2b1e1a was b2b1e1a, checked in by Bruce Dubbs <bdubbs@…>, 12 years ago

Move directory to make build easier

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@9973 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 3.3 KB
RevLine 
[b2b1e1a]1# Custom systemd Makefile include that builds/installs gudev only for LFS
2
3# vim: tabstop=3
4
5LIBGUDEV_SRCS = \
6 gudevclient.c \
7 gudevdevice.c \
8 gudevenumerator.c \
9 gudevenumtypes.c \
10 gudevmarshal.c
11
12LIBGUDEV_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
21LIBGUDEV_OBJS := $(addprefix build/, $(LIBGUDEV_SRCS:.c=.o))
22
23LIBGUDEV_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
33LIBGUDEV_LDFLAGS = \
34 -L build -L /usr/lib \
35 -ludev -lgobject-2.0 \
36 -lglib-2.0
37
38GUDEV_GENERATED = \
39 src/gudev/gudevmarshal.h \
40 src/gudev/gudevmarshal.c \
41 src/gudev/gudevenumtypes.h \
42 src/gudev/gudevenumtypes.c
43
44LIBGUDEV = libgudev-1.0
45LIBGUDEV_MAJOR = .0
46LIBGUDEV_MINOR = .1
47LIBGUDEV_PATCH = .2
48LIBGUDEV_SONAME := $(LIBGUDEV).so
49LIBGUDEV_LINK_NAME := $(LIBGUDEV_SONAME)$(LIBGUDEV_MAJOR)
50LIBGUDEV_REAL_NAME := $(LIBGUDEV_LINK_NAME)$(LIBGUDEV_MINOR)$(LIBGUDEV_PATCH)
51
52src/gudev/gudevmarshal.h: src/gudev/gudevmarshal.list
53 @echo GEN $@
54 $(VB)glib-genmarshal $< --prefix=g_udev_marshal --header > $@
55
56src/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
61src/gudev/gudevenumtypes.h: src/gudev/gudevenumtypes.h.template src/gudev/gudevenums.h
62 @echo GEN $@
63 $(VB)glib-mkenums --template $^ > $@
64
65src/gudev/gudevenumtypes.c: src/gudev/gudevenumtypes.c.template src/gudev/gudevenums.h
66 @echo GEN $@
67 $(VB)glib-mkenums --template $^ > $@
68
69build/%o: src/gudev/%c $(GUDEV_GENERATED) common
70 @echo CC $<
71 $(VB)gcc -c $(LIBGUDEV_CFLAGS) $(WARN) $(OPTIONS) $(INCLUDE) $(DEF) -o $@ $<
72
73build/$(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
81build/gudev-1.0.pc: src/gudev/gudev-1.0.pc.in
82 @echo GEN $@
83 @$(SED_PROCESS)
84
85gudev: build/$(LIBGUDEV_REAL_NAME) build/gudev-1.0.pc
86
87clean-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
95install-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
Note: See TracBrowser for help on using the repository browser.