[b2b1e1a] | 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
|
---|
[028c886] | 47 | LIBGUDEV_PATCH = .3
|
---|
[b2b1e1a] | 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 |
|
---|
[06d04eb] | 81 | build/gudev-1.0.pc: src/gudev/gudev-1.0.pc.in common
|
---|
[b2b1e1a] | 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 |
|
---|
[d736904] | 106 | @cp -v build/gudev-1.0.pc $(DESTDIR)/usr/lib/pkgconfig
|
---|
[028c886] | 107 | @cp -v docs/gudev/html/* $(DESTDIR)/usr/share/gtk-doc/html/gudev
|
---|
[b2b1e1a] | 108 |
|
---|