diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 8e3469c0..e771aa61 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -2812,6 +2812,7 @@ Christopher Reimer for suggesting to remove some redundancy in the Makefile/Make.global/Make.config mechanism for suggesting to give the plugin Makefiles a separate 'install' target + for making plugin Makefiles use DESTDIR and the 'install' program Stefan Huskamp for suggesting to make entering characters via the number keys diff --git a/HISTORY b/HISTORY index cb2676f7..d8c65611 100644 --- a/HISTORY +++ b/HISTORY @@ -7417,7 +7417,7 @@ Video Disk Recorder Revision History plugins to display these items in a more elaborate way than just a simple line of text. -2012-12-21: Version 1.7.34 +2012-12-22: Version 1.7.34 - Changed the type of the TimerMatch parameter in cSkinDisplayMenu::SetItemEvent() from 'int' to 'eTimerEvent' (reported by Christoph Haubrich). @@ -7443,6 +7443,7 @@ Video Disk Recorder Revision History call to 'make install-plugins'. This now also allows a user to copy a plugin source to any directory, change into that directory and do 'make' and 'make install' to have the plugin installed to wherever the local installation of VDR expects them. +- Plugin Makefiles now use DESTDIR and the 'install' program (thanks to Christopher Reimer). - Due to the changes to the plugin Makefiles, existing plugins will not build with this version of VDR any more. You can either use the new 'newplugin' script to generate a dummy plugin directory and use the Makefile from there (adapting it to your particular diff --git a/Make.config.template b/Make.config.template index 3a4e3842..a2cc6976 100644 --- a/Make.config.template +++ b/Make.config.template @@ -6,17 +6,19 @@ # See the main source file 'vdr.c' for copyright information and # how to reach the author. # -# $Id: Make.config.template 2.11 2012/12/18 17:37:54 kls Exp $ +# $Id: Make.config.template 2.12 2012/12/22 10:54:47 kls Exp $ ### The C compiler and options: CC = gcc CFLAGS = -g -O3 -Wall -CFLAGS += -fPIC CXX = g++ CXXFLAGS = $(CFLAGS) -Werror=overloaded-virtual -Wno-parentheses +CFLAGS += -fPIC +CXXFLAGS += -fPIC + # Use 'make M32=1 ...' to build a 32-bit version of VDR on a 64-bit machine: ifdef M32 CFLAGS += -m32 @@ -25,7 +27,7 @@ endif ### The directory environment: -PREFIX = $(DESTDIR)/usr/local +PREFIX = /usr/local #DVBDIR = /usr/src/v4l-dvb/linux MANDIR = $(PREFIX)/man BINDIR = $(PREFIX)/bin diff --git a/Makefile b/Makefile index 3b8a7d76..3eb0240a 100644 --- a/Makefile +++ b/Makefile @@ -4,20 +4,26 @@ # See the main source file 'vdr.c' for copyright information and # how to reach the author. # -# $Id: Makefile 2.34 2012/12/21 11:56:29 kls Exp $ +# $Id: Makefile 2.35 2012/12/22 10:40:31 kls Exp $ .DELETE_ON_ERROR: +# Compiler flags: + CC ?= gcc -CFLAGS ?= -g -O3 -Wall -fPIC -CFLAGS += -fPIC +CFLAGS ?= -g -O3 -Wall CXX ?= g++ CXXFLAGS ?= $(CFLAGS) -Werror=overloaded-virtual -Wno-parentheses +CFLAGS += -fPIC +CXXFLAGS += -fPIC + CDEFINES = -D_GNU_SOURCE CDEFINES += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE +# Directories: + CWD := $(shell pwd) LSIDIR = ./libsi DESTDIR ?= diff --git a/PLUGINS/src/dvbsddevice/Makefile b/PLUGINS/src/dvbsddevice/Makefile index be29bdf4..8ab36e39 100644 --- a/PLUGINS/src/dvbsddevice/Makefile +++ b/PLUGINS/src/dvbsddevice/Makefile @@ -1,7 +1,7 @@ # # Makefile for a Video Disk Recorder plugin # -# $Id: Makefile 1.13 2012/12/21 11:35:50 kls Exp $ +# $Id: Makefile 1.14 2012/12/22 11:49:42 kls Exp $ # The official name of this plugin. # This name will be used in the '-P...' option of VDR to load the plugin. @@ -17,15 +17,14 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri # Use package data if installed...otherwise assume we're under the VDR source directory: PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc)) -LIBDIR ?= $(call PKGCFG,libdir) -LOCDIR ?= $(call PKGCFG,locdir) +LIBDIR ?= $(DESTDIR)$(call PKGCFG,libdir) # TMPDIR ?= /tmp ### The compiler options: -export CFLAGS ?= $(call PKGCFG,cflags) -export CXXFLAGS ?= $(call PKGCFG,cxxflags) +export CFLAGS = $(call PKGCFG,cflags) +export CXXFLAGS = $(call PKGCFG,cxxflags) ### The version number of VDR's plugin API: @@ -74,8 +73,7 @@ $(SOFILE): $(OBJS) $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ install-lib: $(SOFILE) - @mkdir -p $(LIBDIR) - @cp --remove-destination $^ $(LIBDIR)/$^.$(APIVERSION) + install -D $^ $(LIBDIR)/$^.$(APIVERSION) install: install-lib diff --git a/PLUGINS/src/epgtableid0/Makefile b/PLUGINS/src/epgtableid0/Makefile index 9be4cdbb..43fd9096 100644 --- a/PLUGINS/src/epgtableid0/Makefile +++ b/PLUGINS/src/epgtableid0/Makefile @@ -1,7 +1,7 @@ # # Makefile for a Video Disk Recorder plugin # -# $Id: Makefile 1.6 2012/12/21 11:35:56 kls Exp $ +# $Id: Makefile 1.7 2012/12/22 11:49:47 kls Exp $ # The official name of this plugin. # This name will be used in the '-P...' option of VDR to load the plugin. @@ -17,15 +17,14 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri # Use package data if installed...otherwise assume we're under the VDR source directory: PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc)) -LIBDIR ?= $(call PKGCFG,libdir) -LOCDIR ?= $(call PKGCFG,locdir) +LIBDIR ?= $(DESTDIR)$(call PKGCFG,libdir) # TMPDIR ?= /tmp ### The compiler options: -export CFLAGS ?= $(call PKGCFG,cflags) -export CXXFLAGS ?= $(call PKGCFG,cxxflags) +export CFLAGS = $(call PKGCFG,cflags) +export CXXFLAGS = $(call PKGCFG,cxxflags) ### The version number of VDR's plugin API: @@ -74,8 +73,7 @@ $(SOFILE): $(OBJS) $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ install-lib: $(SOFILE) - @mkdir -p $(LIBDIR) - @cp --remove-destination $^ $(LIBDIR)/$^.$(APIVERSION) + install -D $^ $(LIBDIR)/$^.$(APIVERSION) install: install-lib diff --git a/PLUGINS/src/hello/Makefile b/PLUGINS/src/hello/Makefile index 6f720f60..9e2e922b 100644 --- a/PLUGINS/src/hello/Makefile +++ b/PLUGINS/src/hello/Makefile @@ -1,7 +1,7 @@ # # Makefile for a Video Disk Recorder plugin # -# $Id: Makefile 2.13 2012/12/21 11:36:15 kls Exp $ +# $Id: Makefile 2.14 2012/12/22 11:51:16 kls Exp $ # The official name of this plugin. # This name will be used in the '-P...' option of VDR to load the plugin. @@ -17,15 +17,15 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri # Use package data if installed...otherwise assume we're under the VDR source directory: PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc)) -LIBDIR ?= $(call PKGCFG,libdir) -LOCDIR ?= $(call PKGCFG,locdir) +LIBDIR ?= $(DESTDIR)$(call PKGCFG,libdir) +LOCDIR ?= $(DESTDIR)$(call PKGCFG,locdir) # TMPDIR ?= /tmp ### The compiler options: -export CFLAGS ?= $(call PKGCFG,cflags) -export CXXFLAGS ?= $(call PKGCFG,cxxflags) +export CFLAGS = $(call PKGCFG,cflags) +export CXXFLAGS = $(call PKGCFG,cxxflags) ### The version number of VDR's plugin API: @@ -87,8 +87,7 @@ $(I18Npot): $(wildcard *.c) @touch $@ $(I18Nmsgs): $(LOCDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo - @mkdir -p $(dir $@) - cp $< $@ + install -D -m644 $< $@ .PHONY: i18n i18n: $(I18Nmo) $(I18Npot) @@ -101,8 +100,7 @@ $(SOFILE): $(OBJS) $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ install-lib: $(SOFILE) - @mkdir -p $(LIBDIR) - @cp --remove-destination $^ $(LIBDIR)/$^.$(APIVERSION) + install -D $^ $(LIBDIR)/$^.$(APIVERSION) install: install-lib install-i18n diff --git a/PLUGINS/src/osddemo/Makefile b/PLUGINS/src/osddemo/Makefile index b6b4e9b9..607770b5 100644 --- a/PLUGINS/src/osddemo/Makefile +++ b/PLUGINS/src/osddemo/Makefile @@ -1,7 +1,7 @@ # # Makefile for a Video Disk Recorder plugin # -# $Id: Makefile 2.9 2012/12/21 11:45:26 kls Exp $ +# $Id: Makefile 2.10 2012/12/22 11:51:34 kls Exp $ # The official name of this plugin. # This name will be used in the '-P...' option of VDR to load the plugin. @@ -17,15 +17,14 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri # Use package data if installed...otherwise assume we're under the VDR source directory: PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc)) -LIBDIR ?= $(call PKGCFG,libdir) -LOCDIR ?= $(call PKGCFG,locdir) +LIBDIR ?= $(DESTDIR)$(call PKGCFG,libdir) # TMPDIR ?= /tmp ### The compiler options: -export CFLAGS ?= $(call PKGCFG,cflags) -export CXXFLAGS ?= $(call PKGCFG,cxxflags) +export CFLAGS = $(call PKGCFG,cflags) +export CXXFLAGS = $(call PKGCFG,cxxflags) ### The version number of VDR's plugin API: @@ -74,8 +73,7 @@ $(SOFILE): $(OBJS) $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ install-lib: $(SOFILE) - @mkdir -p $(LIBDIR) - @cp --remove-destination $^ $(LIBDIR)/$^.$(APIVERSION) + install -D $^ $(LIBDIR)/$^.$(APIVERSION) install: install-lib diff --git a/PLUGINS/src/pictures/Makefile b/PLUGINS/src/pictures/Makefile index d04378ee..ed5bdb92 100644 --- a/PLUGINS/src/pictures/Makefile +++ b/PLUGINS/src/pictures/Makefile @@ -1,7 +1,7 @@ # # Makefile for a Video Disk Recorder plugin # -# $Id: Makefile 2.13 2012/12/21 11:37:07 kls Exp $ +# $Id: Makefile 2.14 2012/12/22 11:51:44 kls Exp $ # The official name of this plugin. # This name will be used in the '-P...' option of VDR to load the plugin. @@ -17,15 +17,15 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri # Use package data if installed...otherwise assume we're under the VDR source directory: PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc)) -LIBDIR ?= $(call PKGCFG,libdir) -LOCDIR ?= $(call PKGCFG,locdir) +LIBDIR ?= $(DESTDIR)$(call PKGCFG,libdir) +LOCDIR ?= $(DESTDIR)$(call PKGCFG,locdir) # TMPDIR ?= /tmp ### The compiler options: -export CFLAGS ?= $(call PKGCFG,cflags) -export CXXFLAGS ?= $(call PKGCFG,cxxflags) +export CFLAGS = $(call PKGCFG,cflags) +export CXXFLAGS = $(call PKGCFG,cxxflags) ### The version number of VDR's plugin API: @@ -87,8 +87,7 @@ $(I18Npot): $(wildcard *.c) @touch $@ $(I18Nmsgs): $(LOCDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo - @mkdir -p $(dir $@) - cp $< $@ + install -D -m644 $< $@ .PHONY: i18n i18n: $(I18Nmo) $(I18Npot) @@ -101,8 +100,7 @@ $(SOFILE): $(OBJS) $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ install-lib: $(SOFILE) - @mkdir -p $(LIBDIR) - @cp --remove-destination $^ $(LIBDIR)/$^.$(APIVERSION) + install -D $^ $(LIBDIR)/$^.$(APIVERSION) install: install-lib install-i18n diff --git a/PLUGINS/src/rcu/Makefile b/PLUGINS/src/rcu/Makefile index 77c332b7..d18cf747 100644 --- a/PLUGINS/src/rcu/Makefile +++ b/PLUGINS/src/rcu/Makefile @@ -1,7 +1,7 @@ # # Makefile for a Video Disk Recorder plugin # -# $Id: Makefile 1.6 2012/12/21 11:37:13 kls Exp $ +# $Id: Makefile 1.7 2012/12/22 11:51:49 kls Exp $ # The official name of this plugin. # This name will be used in the '-P...' option of VDR to load the plugin. @@ -17,15 +17,14 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri # Use package data if installed...otherwise assume we're under the VDR source directory: PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc)) -LIBDIR ?= $(call PKGCFG,libdir) -LOCDIR ?= $(call PKGCFG,locdir) +LIBDIR ?= $(DESTDIR)$(call PKGCFG,libdir) # TMPDIR ?= /tmp ### The compiler options: -export CFLAGS ?= $(call PKGCFG,cflags) -export CXXFLAGS ?= $(call PKGCFG,cxxflags) +export CFLAGS = $(call PKGCFG,cflags) +export CXXFLAGS = $(call PKGCFG,cxxflags) ### The version number of VDR's plugin API: @@ -74,8 +73,7 @@ $(SOFILE): $(OBJS) $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ install-lib: $(SOFILE) - @mkdir -p $(LIBDIR) - @cp --remove-destination $^ $(LIBDIR)/$^.$(APIVERSION) + install -D $^ $(LIBDIR)/$^.$(APIVERSION) install: install-lib diff --git a/PLUGINS/src/servicedemo/Makefile b/PLUGINS/src/servicedemo/Makefile index 79f879b5..e308f7db 100644 --- a/PLUGINS/src/servicedemo/Makefile +++ b/PLUGINS/src/servicedemo/Makefile @@ -1,7 +1,7 @@ # # Makefile for a Video Disk Recorder plugin # -# $Id: Makefile 2.7 2012/12/20 13:35:20 kls Exp $ +# $Id: Makefile 2.8 2012/12/22 11:51:55 kls Exp $ # The official name of this plugin. # This name will be used in the '-P...' option of VDR to load the plugin. @@ -18,15 +18,14 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN1).c | awk '{ pr # Use package data if installed...otherwise assume we're under the VDR source directory: PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc)) -LIBDIR ?= $(call PKGCFG,libdir) -LOCDIR ?= $(call PKGCFG,locdir) +LIBDIR ?= $(DESTDIR)$(call PKGCFG,libdir) # TMPDIR ?= /tmp ### The compiler options: -export CFLAGS ?= $(call PKGCFG,cflags) -export CXXFLAGS ?= $(call PKGCFG,cxxflags) +export CFLAGS = $(call PKGCFG,cflags) +export CXXFLAGS = $(call PKGCFG,cxxflags) ### The version number of VDR's plugin API: @@ -74,9 +73,8 @@ libvdr-$(PLUGIN2).so: $(PLUGIN2).o $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(PLUGIN2).o -o $@ install: libvdr-$(PLUGIN1).so libvdr-$(PLUGIN2).so - @mkdir -p $(LIBDIR) - @cp --remove-destination libvdr-$(PLUGIN1).so $(LIBDIR)/libvdr-$(PLUGIN1).so.$(APIVERSION) - @cp --remove-destination libvdr-$(PLUGIN2).so $(LIBDIR)/libvdr-$(PLUGIN2).so.$(APIVERSION) + install -D libvdr-$(PLUGIN1).so $(LIBDIR)/libvdr-$(PLUGIN1).so.$(APIVERSION) + install -D libvdr-$(PLUGIN2).so $(LIBDIR)/libvdr-$(PLUGIN2).so.$(APIVERSION) dist: clean @-rm -rf $(TMPDIR)/$(ARCHIVE) diff --git a/PLUGINS/src/skincurses/Makefile b/PLUGINS/src/skincurses/Makefile index d8e312b1..0ce37fa5 100644 --- a/PLUGINS/src/skincurses/Makefile +++ b/PLUGINS/src/skincurses/Makefile @@ -1,7 +1,7 @@ # # Makefile for a Video Disk Recorder plugin # -# $Id: Makefile 2.13 2012/12/21 11:37:32 kls Exp $ +# $Id: Makefile 2.14 2012/12/22 11:52:01 kls Exp $ # The official name of this plugin. # This name will be used in the '-P...' option of VDR to load the plugin. @@ -17,15 +17,15 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri # Use package data if installed...otherwise assume we're under the VDR source directory: PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc)) -LIBDIR ?= $(call PKGCFG,libdir) -LOCDIR ?= $(call PKGCFG,locdir) +LIBDIR ?= $(DESTDIR)$(call PKGCFG,libdir) +LOCDIR ?= $(DESTDIR)$(call PKGCFG,locdir) # TMPDIR ?= /tmp ### The compiler options: -export CFLAGS ?= $(call PKGCFG,cflags) -export CXXFLAGS ?= $(call PKGCFG,cxxflags) +export CFLAGS = $(call PKGCFG,cflags) +export CXXFLAGS = $(call PKGCFG,cxxflags) ### The version number of VDR's plugin API: @@ -87,8 +87,7 @@ $(I18Npot): $(wildcard *.c) @touch $@ $(I18Nmsgs): $(LOCDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo - @mkdir -p $(dir $@) - cp $< $@ + install -D -m644 $< $@ .PHONY: i18n i18n: $(I18Nmo) $(I18Npot) @@ -101,8 +100,7 @@ $(SOFILE): $(OBJS) $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -lncursesw -o $@ install-lib: $(SOFILE) - @mkdir -p $(LIBDIR) - @cp --remove-destination $^ $(LIBDIR)/$^.$(APIVERSION) + install -D $^ $(LIBDIR)/$^.$(APIVERSION) install: install-lib install-i18n diff --git a/PLUGINS/src/status/Makefile b/PLUGINS/src/status/Makefile index 1352ffc1..7b5eb4dd 100644 --- a/PLUGINS/src/status/Makefile +++ b/PLUGINS/src/status/Makefile @@ -1,7 +1,7 @@ # # Makefile for a Video Disk Recorder plugin # -# $Id: Makefile 2.8 2012/12/21 11:37:44 kls Exp $ +# $Id: Makefile 2.9 2012/12/22 11:52:08 kls Exp $ # The official name of this plugin. # This name will be used in the '-P...' option of VDR to load the plugin. @@ -17,15 +17,14 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri # Use package data if installed...otherwise assume we're under the VDR source directory: PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc)) -LIBDIR ?= $(call PKGCFG,libdir) -LOCDIR ?= $(call PKGCFG,locdir) +LIBDIR ?= $(DESTDIR)$(call PKGCFG,libdir) # TMPDIR ?= /tmp ### The compiler options: -export CFLAGS ?= $(call PKGCFG,cflags) -export CXXFLAGS ?= $(call PKGCFG,cxxflags) +export CFLAGS = $(call PKGCFG,cflags) +export CXXFLAGS = $(call PKGCFG,cxxflags) ### The version number of VDR's plugin API: @@ -74,8 +73,7 @@ $(SOFILE): $(OBJS) $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ install-lib: $(SOFILE) - @mkdir -p $(LIBDIR) - @cp --remove-destination $^ $(LIBDIR)/$^.$(APIVERSION) + install -D $^ $(LIBDIR)/$^.$(APIVERSION) install: install-lib diff --git a/PLUGINS/src/svdrpdemo/Makefile b/PLUGINS/src/svdrpdemo/Makefile index 924cdf39..b7fd16f7 100644 --- a/PLUGINS/src/svdrpdemo/Makefile +++ b/PLUGINS/src/svdrpdemo/Makefile @@ -1,7 +1,7 @@ # # Makefile for a Video Disk Recorder plugin # -# $Id: Makefile 2.8 2012/12/21 11:37:54 kls Exp $ +# $Id: Makefile 2.9 2012/12/22 11:52:12 kls Exp $ # The official name of this plugin. # This name will be used in the '-P...' option of VDR to load the plugin. @@ -17,15 +17,14 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri # Use package data if installed...otherwise assume we're under the VDR source directory: PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc)) -LIBDIR ?= $(call PKGCFG,libdir) -LOCDIR ?= $(call PKGCFG,locdir) +LIBDIR ?= $(DESTDIR)$(call PKGCFG,libdir) # TMPDIR ?= /tmp ### The compiler options: -export CFLAGS ?= $(call PKGCFG,cflags) -export CXXFLAGS ?= $(call PKGCFG,cxxflags) +export CFLAGS = $(call PKGCFG,cflags) +export CXXFLAGS = $(call PKGCFG,cxxflags) ### The version number of VDR's plugin API: @@ -74,8 +73,7 @@ $(SOFILE): $(OBJS) $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ install-lib: $(SOFILE) - @mkdir -p $(LIBDIR) - @cp --remove-destination $^ $(LIBDIR)/$^.$(APIVERSION) + install -D $^ $(LIBDIR)/$^.$(APIVERSION) install: install-lib diff --git a/newplugin b/newplugin index 5be9bca6..122b4d3b 100755 --- a/newplugin +++ b/newplugin @@ -12,7 +12,7 @@ # See the main source file 'vdr.c' for copyright information and # how to reach the author. # -# $Id: newplugin 2.12 2012/12/21 11:38:09 kls Exp $ +# $Id: newplugin 2.13 2012/12/22 11:54:34 kls Exp $ $PLUGIN_NAME = $ARGV[0] || die "Usage: newplugin \n"; @@ -76,15 +76,15 @@ VERSION = \$(shell grep 'static const char \\*VERSION *=' \$(PLUGIN).c | awk '{ # Use package data if installed...otherwise assume we're under the VDR source directory: PKGCFG = \$(if \$(VDRDIR),\$(shell pkg-config --variable=\$(1) \$(VDRDIR)/vdr.pc),\$(shell pkg-config --variable=\$(1) vdr || pkg-config --variable=\$(1) ../../../vdr.pc)) -LIBDIR ?= \$(call PKGCFG,libdir) -LOCDIR ?= \$(call PKGCFG,locdir) +LIBDIR ?= \$(DESTDIR)\$(call PKGCFG,libdir) +LOCDIR ?= \$(DESTDIR)\$(call PKGCFG,locdir) # TMPDIR ?= /tmp ### The compiler options: -export CFLAGS ?= \$(call PKGCFG,cflags) -export CXXFLAGS ?= \$(call PKGCFG,cxxflags) +export CFLAGS = \$(call PKGCFG,cflags) +export CXXFLAGS = \$(call PKGCFG,cxxflags) ### The version number of VDR's plugin API: @@ -146,8 +146,7 @@ I18Npot = \$(PODIR)/\$(PLUGIN).pot \@touch \$\@ \$(I18Nmsgs): \$(LOCDIR)/%/LC_MESSAGES/vdr-\$(PLUGIN).mo: \$(PODIR)/%.mo - \@mkdir -p \$(dir \$@) - cp \$< \$\@ + install -D -m644 \$< \$\@ .PHONY: i18n i18n: \$(I18Nmo) \$(I18Npot) @@ -160,8 +159,7 @@ install-i18n: \$(I18Nmsgs) \$(CXX) \$(CXXFLAGS) \$(LDFLAGS) -shared \$(OBJS) -o \$\@ install-lib: \$(SOFILE) - \@mkdir -p \$(LIBDIR) - \@cp --remove-destination \$^ \$(LIBDIR)/\$^.\$(APIVERSION) + install -D \$^ \$(LIBDIR)/\$^.\$(APIVERSION) install: install-lib install-i18n