On 07/14/2012 11:23 PM, Armin K. wrote:
On 07/14/2012 11:20 PM, Armin K. wrote:
On 07/14/2012 10:49 PM, Bruce Dubbs wrote:
I'll take a look. Thanks for the suggestions.
-- Bruce
Here are some corrections to your work. I've defined path to usb.ids and
pci.ids, added common library to shared libudev because there are
undefined references later when linking against that one. Also, I've
modified installation to install gtk-doc htmldocs that are present there.
Next one describes build for keymap feature, needs gperf. It has
seperate build, install and clean target.
This one does the gudev build and installation. It needs glib-2.0. It
has also seperate build, install and clean target.
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
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 $^ > $@
gudev-dep: src/gudev/gudevmarshal.h src/gudev/gudevmarshal.c
src/gudev/gudevenumtypes.h src/gudev/gudevenumtypes.c
build/%o: src/gudev/%c build cfg.h gudev-dep
@echo CC $<
$(VB)gcc -c $(LIBGUDEV_CFLAGS) $(WARN) $(OPTIONS) $(INCLUDE) $(DEF) -o
$@ $<
build/$(LIBGUDEV_REAL_NAME): $(LIBGUDEV_OBJS) 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)
gudev: build/$(LIBGUDEV_REAL_NAME)
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)
@sed -e 's|@VERSION@|$(VERSION)|g' \
-e 's|@prefix@|/usr|g' \
-e 's|@exec_prefix@|/usr|g' \
-e 's|@libdir@|/usr/lib|g' \
-e 's|@includedir@|/usr/include|g' \
src/gudev/gudev-1.0.pc.in \
> $(DESTDIR)/usr/lib/pkgconfig/gudev-1.0.pc
@cp -v docs/gudev/html/* $(DESTDIR)/usr/share/gtk-doc/html/gudev
--
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page