lists.zerezo.com



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

PATCH: libv4l-makefile-improvements.patch



Hi,

Makefile improvements:
* Split DESTDIR into DESTDIR and PREFIX as used in most makefiles out there
* Add LIBDIR variable to allow installation in <prefix>/lib64 for example
* Install the wrappers in <libdir>/libv4l instead of directly under libdir,
  as they are not libraries meant for linking
* preserve timestamps of header files when installing them

Signed-off-by: Hans de Goede <j.w.r.degoede@xxxxxx>

Regards,

Hans


Makefile improvements:
* Split DESTDIR into DESTDIR and PREFIX as used in most makefiles out there
* Add LIBDIR variable to allow installation in <prefix>/lib64 for example
* Install the wrappers in <libdir>/libv4l instead of directly under libdir,
  as they are not libraries meant for linking
* preserve timestamps of header files when installing them

Signed-off-by: Hans de Goede <j.w.r.degoede@xxxxxx>

diff -r d4e241f9a06c v4l2-apps/lib/libv4l/README
--- a/v4l2-apps/lib/libv4l/README	Fri Jul 04 13:21:38 2008 +0200
+++ b/v4l2-apps/lib/libv4l/README	Fri Jul 04 13:52:07 2008 +0200
@@ -59,11 +59,12 @@
 counterparts.
 
 The preloadable libv4l1 wrapper which adds v4l2 device compatibility to v4l1
-applications is called v4l1compat.so. The preloadable libv4l1 wrapper which
-adds v4l2 device compatibility to v4l1 applications is called v4l2convert.so
+applications is called v4l1compat.so. The preloadable libv4l2 wrapper which
+adds support for various pixelformats to v4l2 applications is called
+v4l2convert.so.
 
 Example usage (after install in default location):
-$ export LD_PRELOAD=/usr/local/lib/v4l1compat.so
+$ export LD_PRELOAD=/usr/local/lib/libv4l/v4l1compat.so
 $ camorama
 
 
@@ -71,9 +72,12 @@
 -------------------------
 
 Simple type the following commands from the libv4l-x.y.z directory
-(adjusting DESTDIR as desired):
+(adjusting PREFIX as desired):
 make
-make install DESTDIR=/usr/local
+make install PREFIX=/usr/local
+
+Note: make install also supports the DESTDIR=... paramter for installation
+into chroots.
 
 
 FAQ
diff -r d4e241f9a06c v4l2-apps/lib/libv4l/libv4l1/Makefile
--- a/v4l2-apps/lib/libv4l/libv4l1/Makefile	Fri Jul 04 13:21:38 2008 +0200
+++ b/v4l2-apps/lib/libv4l/libv4l1/Makefile	Fri Jul 04 13:52:07 2008 +0200
@@ -19,8 +19,12 @@
 LIB_RELEASE = 0
 endif
 
-ifeq ($(DESTDIR),)
-DESTDIR = /usr/local
+ifeq ($(PREFIX),)
+PREFIX = /usr/local
+endif
+
+ifeq ($(LIBDIR),)
+LIBDIR = $(PREFIX)/lib
 endif
 
 all: $(TARGETS)
@@ -31,15 +35,14 @@
 $(V4L1COMPAT): $(V4L1COMPAT_O) $(V4L1_LIB)
 
 install: all
-	mkdir -p $(DESTDIR)/include
-	cp $(INCLUDES) $(DESTDIR)/include
-	mkdir -p $(DESTDIR)/lib
-	cp $(V4L1_LIB).$(LIB_RELEASE) $(DESTDIR)/lib
-	cd $(DESTDIR)/lib && \
+	mkdir -p $(DESTDIR)$(PREFIX)/include
+	install -p -m 644 $(INCLUDES) $(DESTDIR)$(PREFIX)/include
+	mkdir -p $(DESTDIR)$(LIBDIR)/libv4l
+	install -m 755 $(V4L1_LIB).$(LIB_RELEASE) $(DESTDIR)$(LIBDIR)
+	cd $(DESTDIR)$(LIBDIR) && \
 	  ln -f -s $(V4L1_LIB).$(LIB_RELEASE) $(V4L1_LIB)
-	cp $(V4L1COMPAT).$(LIB_RELEASE) $(DESTDIR)/lib
-	cd $(DESTDIR)/lib && \
-	  ln -f -s $(V4L1COMPAT).$(LIB_RELEASE) $(V4L1COMPAT)
+	install -m 755 $(V4L1COMPAT).$(LIB_RELEASE) \
+	  $(DESTDIR)$(LIBDIR)/libv4l/$(V4L1COMPAT)
 
 clean::
 	rm -f *.so* *.o log *~
diff -r d4e241f9a06c v4l2-apps/lib/libv4l/libv4l2/Makefile
--- a/v4l2-apps/lib/libv4l/libv4l2/Makefile	Fri Jul 04 13:21:38 2008 +0200
+++ b/v4l2-apps/lib/libv4l/libv4l2/Makefile	Fri Jul 04 13:52:07 2008 +0200
@@ -19,8 +19,12 @@
 LIB_RELEASE = 0
 endif
 
-ifeq ($(DESTDIR),)
-DESTDIR = /usr/local
+ifeq ($(PREFIX),)
+PREFIX = /usr/local
+endif
+
+ifeq ($(LIBDIR),)
+LIBDIR = $(PREFIX)/lib
 endif
 
 all: $(TARGETS)
@@ -30,15 +34,14 @@
 $(V4L2CONVERT): $(V4L2CONVERT_O) $(V4L2_LIB)
 
 install: all
-	mkdir -p $(DESTDIR)/include
-	cp $(INCLUDES) $(DESTDIR)/include
-	mkdir -p $(DESTDIR)/lib
-	cp $(V4L2_LIB).$(LIB_RELEASE) $(DESTDIR)/lib
-	cd $(DESTDIR)/lib && \
+	mkdir -p $(DESTDIR)$(PREFIX)/include
+	install -p -m 644 $(INCLUDES) $(DESTDIR)$(PREFIX)/include
+	mkdir -p $(DESTDIR)$(LIBDIR)/libv4l
+	install -m 755 $(V4L2_LIB).$(LIB_RELEASE) $(DESTDIR)$(LIBDIR)
+	cd $(DESTDIR)$(LIBDIR) && \
 	  ln -f -s $(V4L2_LIB).$(LIB_RELEASE) $(V4L2_LIB)
-	cp $(V4L2CONVERT).$(LIB_RELEASE) $(DESTDIR)/lib
-	cd $(DESTDIR)/lib && \
-	  ln -f -s $(V4L2CONVERT).$(LIB_RELEASE) $(V4L2CONVERT)
+	install -m 755 $(V4L2CONVERT).$(LIB_RELEASE) \
+	  $(DESTDIR)$(LIBDIR)/libv4l/$(V4L2CONVERT)
 
 clean::
 	rm -f *.so* *.o log *~
diff -r d4e241f9a06c v4l2-apps/lib/libv4l/libv4lconvert/Makefile
--- a/v4l2-apps/lib/libv4l/libv4lconvert/Makefile	Fri Jul 04 13:21:38 2008 +0200
+++ b/v4l2-apps/lib/libv4l/libv4lconvert/Makefile	Fri Jul 04 13:52:07 2008 +0200
@@ -18,8 +18,12 @@
 LIB_RELEASE = 0
 endif
 
-ifeq ($(DESTDIR),)
-DESTDIR = /usr/local
+ifeq ($(PREFIX),)
+PREFIX = /usr/local
+endif
+
+ifeq ($(LIBDIR),)
+LIBDIR = $(PREFIX)/lib
 endif
 
 all: $(TARGETS)
@@ -27,11 +31,11 @@
 $(CONVERT_LIB): $(CONVERT_OBJS)
 
 install: all
-	mkdir -p $(DESTDIR)/include
-	cp $(INCLUDES) $(DESTDIR)/include
-	mkdir -p $(DESTDIR)/lib
-	cp $(CONVERT_LIB).$(LIB_RELEASE) $(DESTDIR)/lib
-	cd $(DESTDIR)/lib && \
+	mkdir -p $(DESTDIR)$(PREFIX)/include
+	install -p -m 644 $(INCLUDES) $(DESTDIR)$(PREFIX)/include
+	mkdir -p $(DESTDIR)$(LIBDIR)
+	install -m 755 $(CONVERT_LIB).$(LIB_RELEASE) $(DESTDIR)$(LIBDIR)
+	cd $(DESTDIR)$(LIBDIR) && \
 	  ln -f -s $(CONVERT_LIB).$(LIB_RELEASE) $(CONVERT_LIB)
 
 clean::
--
video4linux-list mailing list
Unsubscribe mailto:video4linux-list-request@xxxxxxxxxx?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/video4linux-list