lfs/udev-lfs/makefile-incl.gudev
Bruce Dubbs 06d04ebbfb Add some prereqs to udev-lfs to support make with j > 1
Add support for French version of the book.


git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@9987 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2012-09-08 21:41:53 +00:00

109 lines
3.3 KiB
Plaintext

# Custom systemd Makefile include that builds/installs gudev only for LFS
# vim: tabstop=3
LIBGUDEV_SRCS = \
gudevclient.c \
gudevdevice.c \
gudevenumerator.c \
gudevenumtypes.c \
gudevmarshal.c
LIBGUDEV_INCLUDES = \
src/gudev/gudev.h \
src/gudev/gudevenums.h \
src/gudev/gudevenumtypes.h \
src/gudev/gudevtypes.h \
src/gudev/gudevclient.h \
src/gudev/gudevdevice.h \
src/gudev/gudevenumerator.h
LIBGUDEV_OBJS := $(addprefix build/, $(LIBGUDEV_SRCS:.c=.o))
LIBGUDEV_CFLAGS = \
-I src/gudev \
-D_POSIX_PTHREAD_SEMANTICS \
-D_REENTRANT \
-D_GUDEV_COMPILATION \
-DG_LOG_DOMAIN=\"GUdev\" \
-fvisibility=default \
-I /usr/include/glib-2.0 \
-I /usr/lib/glib-2.0/include
LIBGUDEV_LDFLAGS = \
-L build -L /usr/lib \
-ludev -lgobject-2.0 \
-lglib-2.0
GUDEV_GENERATED = \
src/gudev/gudevmarshal.h \
src/gudev/gudevmarshal.c \
src/gudev/gudevenumtypes.h \
src/gudev/gudevenumtypes.c
LIBGUDEV = libgudev-1.0
LIBGUDEV_MAJOR = .0
LIBGUDEV_MINOR = .1
LIBGUDEV_PATCH = .2
LIBGUDEV_SONAME := $(LIBGUDEV).so
LIBGUDEV_LINK_NAME := $(LIBGUDEV_SONAME)$(LIBGUDEV_MAJOR)
LIBGUDEV_REAL_NAME := $(LIBGUDEV_LINK_NAME)$(LIBGUDEV_MINOR)$(LIBGUDEV_PATCH)
src/gudev/gudevmarshal.h: src/gudev/gudevmarshal.list
@echo GEN $@
$(VB)glib-genmarshal $< --prefix=g_udev_marshal --header > $@
src/gudev/gudevmarshal.c: src/gudev/gudevmarshal.list
@echo GEN $@
@echo "#include \"gudevmarshal.h\"" > $@
$(VB)glib-genmarshal $< --prefix=g_udev_marshal --body >> $@
src/gudev/gudevenumtypes.h: src/gudev/gudevenumtypes.h.template src/gudev/gudevenums.h
@echo GEN $@
$(VB)glib-mkenums --template $^ > $@
src/gudev/gudevenumtypes.c: src/gudev/gudevenumtypes.c.template src/gudev/gudevenums.h
@echo GEN $@
$(VB)glib-mkenums --template $^ > $@
build/%o: src/gudev/%c $(GUDEV_GENERATED) common
@echo CC $<
$(VB)gcc -c $(LIBGUDEV_CFLAGS) $(WARN) $(OPTIONS) $(INCLUDE) $(DEF) -o $@ $<
build/$(LIBGUDEV_REAL_NAME): $(LIBGUDEV_OBJS) build/udev-local.a build/$(LIBUDEV_REAL_NAME)
@echo LINK $@
$(VB)gcc -shared -Wl,--export-dynamic -Wl,-soname,$(LIBGUDEV_LINK_NAME) \
-o build/$(LIBGUDEV_REAL_NAME) $(LIBGUDEV_OBJS) $(LIBGUDEV_LDFLAGS)
ln -sfn $(LIBGUDEV_REAL_NAME) build/$(LIBGUDEV_LINK_NAME)
ln -sfn $(LIBGUDEV_REAL_NAME) build/$(LIBGUDEV_SONAME)
build/gudev-1.0.pc: src/gudev/gudev-1.0.pc.in common
@echo GEN $@
@$(SED_PROCESS)
gudev: build/$(LIBGUDEV_REAL_NAME) build/gudev-1.0.pc
clean-gudev:
rm -f src/gudev/gudevmarshal.h
rm -f src/gudev/gudevmarshal.c
rm -f src/gudev/gudevenumtypes.h
rm -f src/gudev/gudevenumtypes.c
rm -f $(LIBGUDEV_OBJS)
rm -f build/libgudev-1.0.so*
install-gudev: gudev
@mkdir -pv $(DESTDIR)/usr/include/gudev-1.0/gudev \
$(DESTDIR)/usr/lib/pkgconfig \
$(DESTDIR)/usr/share/gtk-doc/html/gudev
@cp -v $(LIBGUDEV_INCLUDES) $(DESTDIR)/usr/include/gudev-1.0/gudev
@cp -v build/$(LIBGUDEV_REAL_NAME) $(DESTDIR)/usr/lib
@ln -svfn $(LIBGUDEV_REAL_NAME) $(DESTDIR)/usr/lib/$(LIBGUDEV_SONAME)
@ln -svfn $(LIBGUDEV_REAL_NAME) $(DESTDIR)/usr/lib/$(LIBGUDEV_LINK_NAME)
@cp -v build/gudev-1.0.pc $(DESTDIR)/usr/lib/pkgconfig
@cp -v docs/gudev/html/* $(DESTDIR)/usr/share/gtk-doc/html/gudev