summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTORS7
-rw-r--r--HISTORY47
-rw-r--r--Make.config.template18
-rw-r--r--Make.global17
-rw-r--r--Makefile79
-rw-r--r--PLUGINS/src/dvbhddevice/Makefile73
-rw-r--r--PLUGINS/src/dvbhddevice/libhdffcmd/Makefile18
-rw-r--r--PLUGINS/src/dvbhddevice/po/de_DE.po2
-rw-r--r--PLUGINS/src/dvbhddevice/po/fi_FI.po2
-rw-r--r--PLUGINS/src/dvbhddevice/po/it_IT.po2
-rw-r--r--PLUGINS/src/dvbsddevice/Makefile77
-rw-r--r--PLUGINS/src/epgtableid0/Makefile77
-rw-r--r--PLUGINS/src/hello/Makefile66
-rw-r--r--PLUGINS/src/hello/po/ca_ES.po6
-rw-r--r--PLUGINS/src/hello/po/cs_CZ.po6
-rw-r--r--PLUGINS/src/hello/po/da_DK.po6
-rw-r--r--PLUGINS/src/hello/po/de_DE.po6
-rw-r--r--PLUGINS/src/hello/po/el_GR.po6
-rw-r--r--PLUGINS/src/hello/po/es_ES.po6
-rw-r--r--PLUGINS/src/hello/po/et_EE.po6
-rw-r--r--PLUGINS/src/hello/po/fi_FI.po6
-rw-r--r--PLUGINS/src/hello/po/fr_FR.po6
-rw-r--r--PLUGINS/src/hello/po/hr_HR.po6
-rw-r--r--PLUGINS/src/hello/po/hu_HU.po6
-rw-r--r--PLUGINS/src/hello/po/it_IT.po6
-rw-r--r--PLUGINS/src/hello/po/lt_LT.po6
-rw-r--r--PLUGINS/src/hello/po/nl_NL.po6
-rw-r--r--PLUGINS/src/hello/po/nn_NO.po6
-rw-r--r--PLUGINS/src/hello/po/pl_PL.po6
-rw-r--r--PLUGINS/src/hello/po/pt_PT.po6
-rw-r--r--PLUGINS/src/hello/po/ro_RO.po6
-rw-r--r--PLUGINS/src/hello/po/ru_RU.po6
-rw-r--r--PLUGINS/src/hello/po/sk_SK.po6
-rw-r--r--PLUGINS/src/hello/po/sl_SI.po6
-rw-r--r--PLUGINS/src/hello/po/sv_SE.po6
-rw-r--r--PLUGINS/src/hello/po/tr_TR.po6
-rw-r--r--PLUGINS/src/hello/po/zh_CN.po6
-rw-r--r--PLUGINS/src/osddemo/Makefile48
-rw-r--r--PLUGINS/src/pictures/Makefile69
-rw-r--r--PLUGINS/src/pictures/po/de_DE.po6
-rw-r--r--PLUGINS/src/pictures/po/fi_FI.po6
-rw-r--r--PLUGINS/src/pictures/po/fr_FR.po6
-rw-r--r--PLUGINS/src/pictures/po/it_IT.po6
-rw-r--r--PLUGINS/src/pictures/po/lt_LT.po6
-rw-r--r--PLUGINS/src/pictures/po/ru_RU.po6
-rw-r--r--PLUGINS/src/pictures/po/sk_SK.po6
-rw-r--r--PLUGINS/src/rcu/Makefile77
-rw-r--r--PLUGINS/src/servicedemo/Makefile41
-rw-r--r--PLUGINS/src/skincurses/Makefile69
-rw-r--r--PLUGINS/src/skincurses/po/de_DE.po6
-rw-r--r--PLUGINS/src/skincurses/po/fi_FI.po6
-rw-r--r--PLUGINS/src/skincurses/po/it_IT.po6
-rw-r--r--PLUGINS/src/skincurses/po/lt_LT.po6
-rw-r--r--PLUGINS/src/skincurses/po/ru_RU.po6
-rw-r--r--PLUGINS/src/skincurses/po/sk_SK.po6
-rw-r--r--PLUGINS/src/status/Makefile48
-rw-r--r--PLUGINS/src/svdrpdemo/Makefile48
-rw-r--r--config.h10
-rw-r--r--libsi/Makefile17
-rw-r--r--menu.c19
-rw-r--r--menuitems.c3
-rwxr-xr-xnewplugin70
-rw-r--r--osd.c6
-rw-r--r--po/ar.po3
-rw-r--r--po/ca_ES.po3
-rw-r--r--po/cs_CZ.po3
-rw-r--r--po/da_DK.po3
-rw-r--r--po/de_DE.po3
-rw-r--r--po/el_GR.po3
-rw-r--r--po/es_ES.po3
-rw-r--r--po/et_EE.po55
-rw-r--r--po/fi_FI.po3
-rw-r--r--po/fr_FR.po3
-rw-r--r--po/hr_HR.po3
-rw-r--r--po/hu_HU.po3
-rw-r--r--po/it_IT.po27
-rw-r--r--po/lt_LT.po3
-rw-r--r--po/mk_MK.po3
-rw-r--r--po/nl_NL.po3
-rw-r--r--po/nn_NO.po3
-rw-r--r--po/pl_PL.po3
-rw-r--r--po/pt_PT.po3
-rw-r--r--po/ro_RO.po3
-rw-r--r--po/ru_RU.po3
-rw-r--r--po/sk_SK.po3
-rw-r--r--po/sl_SI.po3
-rw-r--r--po/sr_SR.po3
-rw-r--r--po/sv_SE.po3
-rw-r--r--po/tr_TR.po3
-rw-r--r--po/uk_UA.po3
-rw-r--r--po/zh_CN.po3
-rw-r--r--recording.c74
-rw-r--r--recording.h7
-rw-r--r--skins.h36
94 files changed, 691 insertions, 818 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 46a4c62..d21f884 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -1453,6 +1453,7 @@ Andreas Regel <andreas.regel@gmx.de>
for making cDevice::AddPid() store the stream type of the given pid
for adding cFont::FontName() and cFont::Size()
for writing the dvbhddevice plugin
+ for reporting replay stuttering close to the end of an ongoing recording
Thomas Bergwinkl <Thomas.Bergwinkl@vr-web.de>
for fixing the validity check for channel IDs, because some providers use TIDs
@@ -2321,6 +2322,8 @@ Christoph Haubrich <christoph1.haubrich@arcor.de>
for suggesting to check for NULL in cOsd::AddPixmap()
for making modified editing marks be written to disk whenever the replay progress
display gets hidden
+ for reporting a wrong type ('int' vs. 'eTimerEvent') in the declaration of
+ cSkinDisplayMenu::SetItemEvent()
Pekka Mauno <pekka.mauno@iki.fi>
for fixing cSchedule::GetFollowingEvent() in case there is currently no present
@@ -2807,6 +2810,10 @@ Christopher Reimer <reimer.christopher@freenet.de>
for reporting a problem with external Dolby Digital processing via the '-a' option
in live mode and with TS recordings
for contributing to a patch that implements FHS support
+ 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 <coca_cola1@gmx.de>
for suggesting to make entering characters via the number keys
diff --git a/HISTORY b/HISTORY
index 51d0681..5b4513d 100644
--- a/HISTORY
+++ b/HISTORY
@@ -7342,8 +7342,8 @@ Video Disk Recorder Revision History
2012-12-08: Version 1.7.33
- In order to be able to play TS recordings from other sources, in which there is
- more than one PMT PID in the PAT, 'int cPatPmtParser::PatPmt(void)' has been changed
- to 'bool cPatPmtParser::IsPatPmt(int Pid)'.
+ more than one PMT PID in the PAT, 'int cPatPmtParser::PmtPid(void)' has been changed
+ to 'bool cPatPmtParser::IsPmtPid(int Pid)'.
- Fixed learning remote control keys with the LCARS skin.
- Updated the Macedonian OSD texts (thanks to Dimitar Petrovski).
- Fixed getting only non-video packets in cCuttingThread::GetPendingPackets() (reported
@@ -7416,3 +7416,46 @@ Video Disk Recorder Revision History
SetItemRecording() of the cSkinDisplayMenu class can be reimplemented by skin
plugins to display these items in a more elaborate way than just a simple line of
text.
+
+2012-12-24: Version 1.7.34
+
+- Changed the type of the TimerMatch parameter in cSkinDisplayMenu::SetItemEvent() from
+ 'int' to 'eTimerEvent' (reported by Christoph Haubrich).
+- Updated the Estonian OSD texts (thanks to Arthur Konovalov).
+- Fixed cOsd::GetBitmap() to always return NULL if a non-exising area is requested.
+- Added several missing "`ls $^`" in the calls to xgettext in plugin Makefiles and the
+ "newplugin" script.
+- Fixed setting the --package-name and --package-version options in the calls to
+ xgettext in several plugin Makefiles.
+- Added "-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE" to the
+ DEFINES in the Makefile (somehow got lost from Make.config.template in version 1.7.13).
+- Removed some redundancy in the Makefile/Make.global/Make.config mechanism (suggested
+ by Christopher Reimer). The file Make.global is no longer used, and plugin Makefiles
+ don't include the file Make.config any more. Instead they now retrieve all necessary
+ information through calls to pkg-config.
+- The plugin Makefiles now have a separate 'install' target (suggested by Christopher
+ Reimer). In order to still allow the normal building of VDR (with all plugins in its
+ ./PLUGINS/src subdirectory, the plugin libraries in ./PLUGINS/lib and the i18n files in
+ ./locale) the VDR Makefile checks the settings of LIBDIR and LOCDIR when building the
+ plugins from within the VDR source directory. If these macros have their default values,
+ then the 'install' targets of the plugins' Makefiles are called. Otherwise the 'all'
+ targets are called and the plugins are merely built, and will have to be installed by a
+ 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
+ plugin), or apply the patch from
+ ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.33-pluginmakefile.diff
+ to your Makefile to make the necessary changes (see comments in that file for details).
+- Added the new menu categories mcChannelEdit, mcTimerEdit, mcScheduleNow, mcScheduleNext,
+ mcRecordingInfo, mcPluginSetup, mcSetupOsd, mcSetupEpg, mcSetupDvb, mcSetupLnb,
+ mcSetupCam, mcSetupRecord, mcSetupReplay, mcSetupMisc and mcSetupPlugins.
+- Updated the Italian OSD texts (thanks to Diego Pierotto).
+- Fixed replay stuttering close to the end of an ongoing recording (reported by Andreas
+ Regel).
+- Fixed cIndexFile::GetNextIFrame() to properly handle the case where the very last frame
+ is an I-frame (which normally shouldn't occur).
+- Fixed replaying ongoing recordings from other VDR instances.
diff --git a/Make.config.template b/Make.config.template
index 08f9ece..a2cc697 100644
--- a/Make.config.template
+++ b/Make.config.template
@@ -6,7 +6,7 @@
# See the main source file 'vdr.c' for copyright information and
# how to reach the author.
#
-# $Id: Make.config.template 2.10 2012/10/09 10:32:32 kls Exp $
+# $Id: Make.config.template 2.12 2012/12/22 10:54:47 kls Exp $
### The C compiler and options:
@@ -14,12 +14,10 @@ CC = gcc
CFLAGS = -g -O3 -Wall
CXX = g++
-CXXFLAGS = -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses
+CXXFLAGS = $(CFLAGS) -Werror=overloaded-virtual -Wno-parentheses
-ifdef PLUGIN
CFLAGS += -fPIC
CXXFLAGS += -fPIC
-endif
# Use 'make M32=1 ...' to build a 32-bit version of VDR on a 64-bit machine:
ifdef M32
@@ -29,15 +27,16 @@ endif
### The directory environment:
-PREFIX = $(DESTDIR)/usr/local
+PREFIX = /usr/local
#DVBDIR = /usr/src/v4l-dvb/linux
MANDIR = $(PREFIX)/man
BINDIR = $(PREFIX)/bin
# By default locale and plugin files are built under the source directory:
-LOCDIR = ./locale
-PLUGINDIR = ./PLUGINS
-PLUGINLIBDIR = $(PLUGINDIR)/lib
+INCDIR = $(CWD)/include
+LOCDIR = $(CWD)/locale
+PLUGINDIR = $(CWD)/PLUGINS
+LIBDIR = $(PLUGINDIR)/lib
# By default VDR requires only one single directory to operate:
VIDEODIR = /video
# Activate the following line to build VDR according to the FHS ("File system Hierarchy Standard"):
@@ -47,8 +46,9 @@ VIDEODIR = /srv/vdr/video
CONFDIR = /var/lib/vdr
CACHEDIR = /var/cache/vdr
RESDIR = $(PREFIX)/share/vdr
+INCDIR = $(PREFIX)/include
LOCDIR = $(PREFIX)/share/locale
-PLUGINLIBDIR = $(PREFIX)/lib/vdr
+LIBDIR = $(PREFIX)/lib/vdr
endif
### The remote control:
diff --git a/Make.global b/Make.global
deleted file mode 100644
index 3b92722..0000000
--- a/Make.global
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# Strictly necessary Makefile options for the Video Disk Recorder
-#
-# See the main source file 'vdr.c' for copyright information and
-# how to reach the author.
-#
-# $Id: Make.global 1.1 2010/02/06 14:54:12 kls Exp $
-
-# Plugins need to be compiled with position independent code, otherwise linking
-# VDR against it will fail.
-
-ifdef PLUGIN
-CFLAGS += -fPIC
-CXXFLAGS += -fPIC
-endif
-
-DEFINES += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
diff --git a/Makefile b/Makefile
index e165ee8..de48e37 100644
--- a/Makefile
+++ b/Makefile
@@ -4,28 +4,39 @@
# See the main source file 'vdr.c' for copyright information and
# how to reach the author.
#
-# $Id: Makefile 2.30 2012/10/09 08:32:25 kls Exp $
+# $Id: Makefile 2.36 2012/12/23 11:28:13 kls Exp $
.DELETE_ON_ERROR:
+# Compiler flags:
+
CC ?= gcc
CFLAGS ?= -g -O3 -Wall
CXX ?= g++
-CXXFLAGS ?= -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses
+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 ?=
PREFIX ?= /usr/local
MANDIR ?= $(PREFIX)/share/man
BINDIR ?= $(PREFIX)/bin
-INCDIR ?= $(PREFIX)/include
-LOCDIR ?= ./locale
+INCDIR ?= $(CWD)/include
+LOCDIR ?= $(CWD)/locale
LIBS = -ljpeg -lpthread -ldl -lcap -lrt $(shell pkg-config --libs freetype2 fontconfig)
INCLUDES ?= $(shell pkg-config --cflags freetype2 fontconfig)
-PLUGINDIR= ./PLUGINS
-PLUGINLIBDIR= $(PLUGINDIR)/lib
+PLUGINDIR= $(CWD)/PLUGINS
+LIBDIR = $(PLUGINDIR)/lib
# By default VDR requires only one single directory to operate:
VIDEODIR = /video
@@ -36,7 +47,6 @@ DOXYFILE = Doxyfile
PCDIR ?= $(firstword $(subst :, , ${PKG_CONFIG_PATH}:$(shell pkg-config --variable=pc_path pkg-config):$(PREFIX)/lib/pkgconfig))
-include Make.global
-include Make.config
SILIB = $(LSIDIR)/libsi.a
@@ -48,6 +58,8 @@ OBJS = audio.o channels.o ci.o config.o cutter.o device.o diseqc.o dvbdevice.o d
skinclassic.o skinlcars.o skins.o skinsttng.o sourceparams.o sources.o spu.o status.o svdrp.o themes.o thread.o\
timers.o tools.o transfer.o vdr.o videodir.o
+DEFINES += $(CDEFINES)
+
ifndef NO_KBD
DEFINES += -DREMOTE_KBD
endif
@@ -66,14 +78,11 @@ endif
LIRC_DEVICE ?= /var/run/lirc/lircd
DEFINES += -DLIRC_DEVICE=\"$(LIRC_DEVICE)\"
-
-DEFINES += -D_GNU_SOURCE
-
DEFINES += -DVIDEODIR=\"$(VIDEODIR)\"
DEFINES += -DCONFDIR=\"$(CONFDIR)\"
DEFINES += -DCACHEDIR=\"$(CACHEDIR)\"
DEFINES += -DRESDIR=\"$(RESDIR)\"
-DEFINES += -DPLUGINDIR=\"$(PLUGINLIBDIR)\"
+DEFINES += -DPLUGINDIR=\"$(LIBDIR)\"
DEFINES += -DLOCDIR=\"$(LOCDIR)\"
# Default values for directories:
@@ -87,7 +96,7 @@ RESDIRDEF = $(firstword $(RESDIR) $(CONFDIRDEF))
VDRVERSION = $(shell sed -ne '/define VDRVERSION/s/^.*"\(.*\)".*$$/\1/p' config.h)
APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' config.h)
-all: vdr i18n vdr.pc
+all: vdr i18n plugins
# Implicit rules:
@@ -106,27 +115,27 @@ $(DEPFILE): Makefile
# The main program:
vdr: $(OBJS) $(SILIB)
- $(CXX) $(CXXFLAGS) -rdynamic $(LDFLAGS) $(OBJS) $(LIBS) $(LIBDIRS) $(SILIB) -o vdr
+ $(CXX) $(CXXFLAGS) -rdynamic $(LDFLAGS) $(OBJS) $(LIBS) $(SILIB) -o vdr
# The libsi library:
$(SILIB):
- $(MAKE) -C $(LSIDIR) all
+ $(MAKE) --no-print-directory -C $(LSIDIR) CXXFLAGS="$(CXXFLAGS)" DEFINES="$(CDEFINES)" all
# pkg-config file:
-vdr.pc: Makefile Make.global
+.PHONY: vdr.pc
+vdr.pc:
@echo "bindir=$(BINDIR)" > $@
- @echo "includedir=$(INCDIR)" >> $@
@echo "configdir=$(CONFDIRDEF)" >> $@
@echo "videodir=$(VIDEODIR)" >> $@
@echo "cachedir=$(CACHEDIRDEF)" >> $@
@echo "resdir=$(RESDIRDEF)" >> $@
- @echo "plugindir=$(PLUGINLIBDIR)" >> $@
- @echo "localedir=$(LOCDIR)" >> $@
+ @echo "libdir=$(LIBDIR)" >> $@
+ @echo "locdir=$(LOCDIR)" >> $@
@echo "apiversion=$(APIVERSION)" >> $@
- @echo "cflags=$(CXXFLAGS) $(DEFINES) -I\$${includedir}" >> $@
- @echo "plugincflags=\$${cflags} -fPIC" >> $@
+ @echo "cflags=$(CFLAGS) $(CDEFINES) -I$(INCDIR)" >> $@
+ @echo "cxxflags=$(CXXFLAGS) $(CDEFINES) -I$(INCDIR)" >> $@
@echo "" >> $@
@echo "Name: VDR" >> $@
@echo "Description: Video Disk Recorder" >> $@
@@ -157,7 +166,7 @@ $(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr.mo: $(PODIR)/%.mo
cp $< $@
.PHONY: i18n
-i18n: $(I18Nmsgs)
+i18n: $(I18Nmsgs) $(I18Npot)
install-i18n:
@mkdir -p $(DESTDIR)$(LOCDIR)
@@ -173,23 +182,27 @@ include-dir:
# Plugins:
-plugins: include-dir
+plugins: include-dir vdr.pc
@failed="";\
noapiv="";\
for i in `ls $(PLUGINDIR)/src | grep -v '[^a-z0-9]'`; do\
- echo "Plugin $$i:";\
+ echo "*** Plugin $$i:";\
if ! grep -q "\$$(LIBDIR)/.*\$$(APIVERSION)" "$(PLUGINDIR)/src/$$i/Makefile" ; then\
echo "ERROR: plugin $$i doesn't honor APIVERSION - not compiled!";\
noapiv="$$noapiv $$i";\
continue;\
fi;\
- $(MAKE) -C "$(PLUGINDIR)/src/$$i" all || failed="$$failed $$i";\
+ target=all;\
+ if [ "$(LIBDIR)" == "$(CWD)/PLUGINS/lib" ] && [ "$(LOCDIR)" == "$(CWD)/locale" ]; then\
+ target=install;\
+ fi;\
+ $(MAKE) --no-print-directory -C "$(PLUGINDIR)/src/$$i" VDRDIR=$(CWD) $$target || failed="$$failed $$i";\
done;\
if [ -n "$$noapiv" ] ; then echo; echo "*** plugins without APIVERSION:$$noapiv"; echo; fi;\
if [ -n "$$failed" ] ; then echo; echo "*** failed plugins:$$failed"; echo; exit 1; fi
clean-plugins:
- @for i in `ls $(PLUGINDIR)/src | grep -v '[^a-z0-9]'`; do $(MAKE) -C "$(PLUGINDIR)/src/$$i" clean; done
+ @for i in `ls $(PLUGINDIR)/src | grep -v '[^a-z0-9]'`; do $(MAKE) --no-print-directory -C "$(PLUGINDIR)/src/$$i" clean; done
@-rm -f $(PLUGINDIR)/lib/lib*-*.so.$(APIVERSION)
# Install the files:
@@ -225,8 +238,9 @@ install-doc:
# Plugins:
install-plugins: plugins
- @mkdir -p $(DESTDIR)$(PLUGINLIBDIR)
- @cp --remove-destination $(PLUGINDIR)/lib/lib*-*.so.$(APIVERSION) $(DESTDIR)$(PLUGINLIBDIR)
+ @for i in `ls $(PLUGINDIR)/src | grep -v '[^a-z0-9]'`; do\
+ $(MAKE) --no-print-directory -C "$(PLUGINDIR)/src/$$i" VDRDIR=$(CWD) DESTDIR=$(DESTDIR) install;\
+ done
# Includes:
@@ -253,9 +267,10 @@ srcdoc:
# Housekeeping:
clean:
- $(MAKE) -C $(LSIDIR) clean
- -rm -f $(OBJS) $(DEPFILE) vdr vdr.pc core* *~
- -rm -rf $(LOCALEDIR) $(PODIR)/*.mo $(PODIR)/*.pot
- -rm -rf include
- -rm -rf srcdoc
+ @$(MAKE) --no-print-directory -C $(LSIDIR) clean
+ @-rm -f $(OBJS) $(DEPFILE) vdr vdr.pc core* *~
+ @-rm -rf $(LOCALEDIR) $(PODIR)/*.mo $(PODIR)/*.pot
+ @-rm -rf include
+ @-rm -rf srcdoc
CLEAN: clean
+distclean: clean-plugins clean
diff --git a/PLUGINS/src/dvbhddevice/Makefile b/PLUGINS/src/dvbhddevice/Makefile
index ad50296..ef6ef51 100644
--- a/PLUGINS/src/dvbhddevice/Makefile
+++ b/PLUGINS/src/dvbhddevice/Makefile
@@ -1,53 +1,50 @@
#
# Makefile for a Video Disk Recorder plugin
#
-# $Id: Makefile 1.13 2012/03/11 15:34:00 kls Exp $
+# $Id: Makefile 1.19 2012/12/23 10:01:00 kls Exp $
# The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin.
# By default the main source file also carries this name.
-# IMPORTANT: the presence of this macro is important for the Make.config
-# file. So it must be defined, even if it is not used here!
-#
+
PLUGIN = dvbhddevice
### The version number of this plugin (taken from the main source file):
VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ print $$6 }' | sed -e 's/[";]//g')
-### The C++ compiler and options:
-
-CXX ?= g++
-CXXFLAGS ?= -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses
-
### The directory environment:
-VDRDIR ?= ../../..
-LIBDIR ?= ../../lib
+# 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 = $(DESTDIR)$(call PKGCFG,libdir)
+LOCDIR = $(DESTDIR)$(call PKGCFG,locdir)
+#
TMPDIR ?= /tmp
-### Make sure that necessary options are included:
-
-include $(VDRDIR)/Make.global
+### The compiler options:
-### Allow user defined options to overwrite defaults:
+export CFLAGS = $(call PKGCFG,cflags)
+export CXXFLAGS = $(call PKGCFG,cxxflags)
--include $(VDRDIR)/Make.config
+### The version number of VDR's plugin API:
-### The version number of VDR's plugin API (taken from VDR's "config.h"):
-
-APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
+APIVERSION = $(call PKGCFG,apiversion)
### The name of the distribution archive:
ARCHIVE = $(PLUGIN)-$(VERSION)
PACKAGE = vdr-$(ARCHIVE)
+### The name of the shared object file:
+
+SOFILE = libvdr-$(PLUGIN).so
+
### Includes and Defines (add further entries here):
-INCLUDES += -I$(VDRDIR)/include
+INCLUDES +=
-DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
+DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
### The object files (add further files here):
@@ -55,7 +52,7 @@ OBJS = $(PLUGIN).o dvbhdffdevice.o hdffcmd.o hdffosd.o menu.o setup.o
### The main target:
-all: libvdr-$(PLUGIN).so i18n
+all: $(SOFILE) i18n
### Implicit rules:
@@ -74,34 +71,39 @@ $(DEPFILE): Makefile
### Internationalization (I18N):
PODIR = po
-LOCALEDIR = $(VDRDIR)/locale
I18Npo = $(wildcard $(PODIR)/*.po)
-I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
+I18Nmo = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file))))
+I18Nmsgs = $(addprefix $(LOCDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
I18Npot = $(PODIR)/$(PLUGIN).pot
%.mo: %.po
msgfmt -c -o $@ $<
$(I18Npot): $(wildcard *.c)
- xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=VDR --package-version=$(VDRVERSION) --msgid-bugs-address='<see README>' -o $@ `ls $^`
+ xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=vdr-$(PLUGIN) --package-version=$(VERSION) --msgid-bugs-address='<see README>' -o $@ `ls $^`
%.po: $(I18Npot)
- msgmerge -U --no-wrap --no-location --backup=none -q $@ $<
+ msgmerge -U --no-wrap --no-location --backup=none -q -N $@ $<
@touch $@
-$(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
- @mkdir -p $(dir $@)
- cp $< $@
+$(I18Nmsgs): $(LOCDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
+ install -D -m644 $< $@
.PHONY: i18n
-i18n: $(I18Nmsgs) $(I18Npot)
+i18n: $(I18Nmo) $(I18Npot)
+
+install-i18n: $(I18Nmsgs)
### Targets:
-libvdr-$(PLUGIN).so: $(OBJS) libhdffcmd
- $(MAKE) -C libhdffcmd all
+$(SOFILE): $(OBJS) libhdffcmd
+ @$(MAKE) --no-print-directory -C libhdffcmd all
$(CXX) $(CXXFLAGS) -shared $(OBJS) libhdffcmd/libhdffcmd.a -o $@
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
+
+install-lib: $(SOFILE)
+ install -D $^ $(LIBDIR)/$^.$(APIVERSION)
+
+install: install-lib install-i18n
dist: $(I18Npo) clean
@-rm -rf $(TMPDIR)/$(ARCHIVE)
@@ -112,5 +114,6 @@ dist: $(I18Npo) clean
@echo Distribution package created as $(PACKAGE).tgz
clean:
- @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ $(PODIR)/*.mo $(PODIR)/*.pot
- $(MAKE) -C libhdffcmd clean
+ @-rm -f $(PODIR)/*.mo $(PODIR)/*.pot
+ @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~
+ @-$(MAKE) --no-print-directory -C libhdffcmd clean
diff --git a/PLUGINS/src/dvbhddevice/libhdffcmd/Makefile b/PLUGINS/src/dvbhddevice/libhdffcmd/Makefile
index babe79b..216cdba 100644
--- a/PLUGINS/src/dvbhddevice/libhdffcmd/Makefile
+++ b/PLUGINS/src/dvbhddevice/libhdffcmd/Makefile
@@ -24,29 +24,17 @@ CFLAGS ?= -g -O2 -fPIC -Wall
AR ?= ar
ARFLAGS ?= r
-### The directory environment:
-
-VDRDIR ?= ../../../..
-
-### Make sure that necessary options are included:
-
-include $(VDRDIR)/Make.global
-
-### Allow user defined options to overwrite defaults:
-
--include $(VDRDIR)/Make.config
-
### Implicit rules:
%.o: %.c
$(CC) $(CFLAGS) -c $(DEFINES) $(INCLUDES) $<
-# Dependencies:
+### Dependencies:
MAKEDEP = $(CC) -MM -MG
DEPFILE = .dependencies
$(DEPFILE): Makefile
- @$(MAKEDEP) $(DEFINES) $(INCLUDES) $(OBJS:%.o=%.c) > $@
+ @$(MAKEDEP) $(DEFINES) $(INCLUDES) $(LIB_OBJS:%.o=%.c) > $@
-include $(DEPFILE)
@@ -62,7 +50,7 @@ $(LIB_SHARED): $(LIB_OBJS)
ln -sf $(LIB_SHARED) $(LIB_NAME).so
clean:
- rm -f $(LIB_OBJS) $(DEPFILE) $(LIB_STATIC) $(LIB_NAME)*.so
+ @-rm -f $(LIB_OBJS) $(DEPFILE) $(LIB_STATIC) $(LIB_NAME)*.so
install: $(LIB_SHARED)
chown root $(LIB_SHARED)
diff --git a/PLUGINS/src/dvbhddevice/po/de_DE.po b/PLUGINS/src/dvbhddevice/po/de_DE.po
index b263f08..f884567 100644
--- a/PLUGINS/src/dvbhddevice/po/de_DE.po
+++ b/PLUGINS/src/dvbhddevice/po/de_DE.po
@@ -5,7 +5,7 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR \n"
+"Project-Id-Version: vdr-dvbhddevice 0.0.4\n"
"Report-Msgid-Bugs-To: <see README>\n"
"POT-Creation-Date: 2012-11-13 20:08+0100\n"
"PO-Revision-Date: 2011-04-25 21:44+0200\n"
diff --git a/PLUGINS/src/dvbhddevice/po/fi_FI.po b/PLUGINS/src/dvbhddevice/po/fi_FI.po
index a971773..579e829 100644
--- a/PLUGINS/src/dvbhddevice/po/fi_FI.po
+++ b/PLUGINS/src/dvbhddevice/po/fi_FI.po
@@ -5,7 +5,7 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR \n"
+"Project-Id-Version: vdr-dvbhddevice 0.0.4\n"
"Report-Msgid-Bugs-To: <see README>\n"
"POT-Creation-Date: 2012-11-13 20:08+0100\n"
"PO-Revision-Date: 2011-04-25 21:44+0200\n"
diff --git a/PLUGINS/src/dvbhddevice/po/it_IT.po b/PLUGINS/src/dvbhddevice/po/it_IT.po
index 56b987a..0718ba7 100644
--- a/PLUGINS/src/dvbhddevice/po/it_IT.po
+++ b/PLUGINS/src/dvbhddevice/po/it_IT.po
@@ -5,7 +5,7 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR\n"
+"Project-Id-Version: vdr-dvbhddevice 0.0.4\n"
"Report-Msgid-Bugs-To: <see README>\n"
"POT-Creation-Date: 2012-11-13 20:08+0100\n"
"PO-Revision-Date: 2011-07-10 00:23+0100\n"
diff --git a/PLUGINS/src/dvbsddevice/Makefile b/PLUGINS/src/dvbsddevice/Makefile
index 1e7b5dd..4451774 100644
--- a/PLUGINS/src/dvbsddevice/Makefile
+++ b/PLUGINS/src/dvbsddevice/Makefile
@@ -1,53 +1,49 @@
#
# Makefile for a Video Disk Recorder plugin
#
-# $Id: Makefile 1.9 2012/03/11 15:34:02 kls Exp $
+# $Id: Makefile 1.15 2012/12/23 10:01:12 kls Exp $
# The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin.
# By default the main source file also carries this name.
-# IMPORTANT: the presence of this macro is important for the Make.config
-# file. So it must be defined, even if it is not used here!
-#
+
PLUGIN = dvbsddevice
### The version number of this plugin (taken from the main source file):
VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ print $$6 }' | sed -e 's/[";]//g')
-### The C++ compiler and options:
-
-CXX ?= g++
-CXXFLAGS ?= -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses
-
### The directory environment:
-VDRDIR ?= ../../..
-LIBDIR ?= ../../lib
+# 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 = $(DESTDIR)$(call PKGCFG,libdir)
+#
TMPDIR ?= /tmp
-### Make sure that necessary options are included:
+### The compiler options:
-include $(VDRDIR)/Make.global
+export CFLAGS = $(call PKGCFG,cflags)
+export CXXFLAGS = $(call PKGCFG,cxxflags)
-### Allow user defined options to overwrite defaults:
+### The version number of VDR's plugin API:
--include $(VDRDIR)/Make.config
-
-### The version number of VDR's plugin API (taken from VDR's "config.h"):
-
-APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
+APIVERSION = $(call PKGCFG,apiversion)
### The name of the distribution archive:
ARCHIVE = $(PLUGIN)-$(VERSION)
PACKAGE = vdr-$(ARCHIVE)
+### The name of the shared object file:
+
+SOFILE = libvdr-$(PLUGIN).so
+
### Includes and Defines (add further entries here):
-INCLUDES += -I$(VDRDIR)/include
+INCLUDES +=
-DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
+DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
### The object files (add further files here):
@@ -55,7 +51,7 @@ OBJS = $(PLUGIN).o dvbsdffdevice.o dvbsdffosd.o
### The main target:
-all: libvdr-$(PLUGIN).so i18n
+all: $(SOFILE)
### Implicit rules:
@@ -71,38 +67,17 @@ $(DEPFILE): Makefile
-include $(DEPFILE)
-### Internationalization (I18N):
-
-PODIR = po
-LOCALEDIR = $(VDRDIR)/locale
-I18Npo = $(wildcard $(PODIR)/*.po)
-I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
-I18Npot = $(PODIR)/$(PLUGIN).pot
-
-%.mo: %.po
- msgfmt -c -o $@ $<
-
-$(I18Npot): $(wildcard *.c)
- xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=VDR --package-version=$(VDRVERSION) --msgid-bugs-address='<see README>' -o $@ `ls $^`
-
-%.po: $(I18Npot)
- msgmerge -U --no-wrap --no-location --backup=none -q $@ $<
- @touch $@
-
-$(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
- @mkdir -p $(dir $@)
- cp $< $@
-
-.PHONY: i18n
-i18n: $(I18Nmsgs) $(I18Npot)
-
### Targets:
-libvdr-$(PLUGIN).so: $(OBJS)
+$(SOFILE): $(OBJS)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-dist: $(I18Npo) clean
+install-lib: $(SOFILE)
+ install -D $^ $(LIBDIR)/$^.$(APIVERSION)
+
+install: install-lib
+
+dist: clean
@-rm -rf $(TMPDIR)/$(ARCHIVE)
@mkdir $(TMPDIR)/$(ARCHIVE)
@cp -a * $(TMPDIR)/$(ARCHIVE)
@@ -111,4 +86,4 @@ dist: $(I18Npo) clean
@echo Distribution package created as $(PACKAGE).tgz
clean:
- @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ $(PODIR)/*.mo $(PODIR)/*.pot
+ @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~
diff --git a/PLUGINS/src/epgtableid0/Makefile b/PLUGINS/src/epgtableid0/Makefile
index 78bf3e7..48b6b6e 100644
--- a/PLUGINS/src/epgtableid0/Makefile
+++ b/PLUGINS/src/epgtableid0/Makefile
@@ -1,53 +1,49 @@
#
# Makefile for a Video Disk Recorder plugin
#
-# $Id: Makefile 1.2 2012/03/11 15:34:04 kls Exp $
+# $Id: Makefile 1.8 2012/12/23 10:01:40 kls Exp $
# The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin.
# By default the main source file also carries this name.
-# IMPORTANT: the presence of this macro is important for the Make.config
-# file. So it must be defined, even if it is not used here!
-#
+
PLUGIN = epgtableid0
### The version number of this plugin (taken from the main source file):
VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ print $$6 }' | sed -e 's/[";]//g')
-### The C++ compiler and options:
-
-CXX ?= g++
-CXXFLAGS ?= -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses
-
### The directory environment:
-VDRDIR ?= ../../..
-LIBDIR ?= ../../lib
+# 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 = $(DESTDIR)$(call PKGCFG,libdir)
+#
TMPDIR ?= /tmp
-### Make sure that necessary options are included:
+### The compiler options:
-include $(VDRDIR)/Make.global
+export CFLAGS = $(call PKGCFG,cflags)
+export CXXFLAGS = $(call PKGCFG,cxxflags)
-### Allow user defined options to overwrite defaults:
+### The version number of VDR's plugin API:
--include $(VDRDIR)/Make.config
-
-### The version number of VDR's plugin API (taken from VDR's "config.h"):
-
-APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
+APIVERSION = $(call PKGCFG,apiversion)
### The name of the distribution archive:
ARCHIVE = $(PLUGIN)-$(VERSION)
PACKAGE = vdr-$(ARCHIVE)
+### The name of the shared object file:
+
+SOFILE = libvdr-$(PLUGIN).so
+
### Includes and Defines (add further entries here):
-INCLUDES += -I$(VDRDIR)/include
+INCLUDES +=
-DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
+DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
### The object files (add further files here):
@@ -55,7 +51,7 @@ OBJS = $(PLUGIN).o
### The main target:
-all: libvdr-$(PLUGIN).so i18n
+all: $(SOFILE)
### Implicit rules:
@@ -71,38 +67,17 @@ $(DEPFILE): Makefile
-include $(DEPFILE)
-### Internationalization (I18N):
-
-PODIR = po
-LOCALEDIR = $(VDRDIR)/locale
-I18Npo = $(wildcard $(PODIR)/*.po)
-I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
-I18Npot = $(PODIR)/$(PLUGIN).pot
-
-%.mo: %.po
- msgfmt -c -o $@ $<
-
-$(I18Npot): $(wildcard *.c)
- xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=vdr-$(PLUGIN) --package-version=$(VERSION) --msgid-bugs-address='<see README>' -o $@ $^
-
-%.po: $(I18Npot)
- msgmerge -U --no-wrap --no-location --backup=none -q $@ $<
- @touch $@
-
-$(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
- @mkdir -p $(dir $@)
- cp $< $@
-
-.PHONY: i18n
-i18n: $(I18Nmsgs) $(I18Npot)
-
### Targets:
-libvdr-$(PLUGIN).so: $(OBJS)
+$(SOFILE): $(OBJS)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-dist: $(I18Npo) clean
+install-lib: $(SOFILE)
+ install -D $^ $(LIBDIR)/$^.$(APIVERSION)
+
+install: install-lib
+
+dist: clean
@-rm -rf $(TMPDIR)/$(ARCHIVE)
@mkdir $(TMPDIR)/$(ARCHIVE)
@cp -a * $(TMPDIR)/$(ARCHIVE)
@@ -111,4 +86,4 @@ dist: $(I18Npo) clean
@echo Distribution package created as $(PACKAGE).tgz
clean:
- @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ $(PODIR)/*.mo $(PODIR)/*.pot
+ @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~
diff --git a/PLUGINS/src/hello/Makefile b/PLUGINS/src/hello/Makefile
index cdf6340..4cfcae8 100644
--- a/PLUGINS/src/hello/Makefile
+++ b/PLUGINS/src/hello/Makefile
@@ -1,53 +1,50 @@
#
# Makefile for a Video Disk Recorder plugin
#
-# $Id: Makefile 2.9 2012/03/11 15:34:06 kls Exp $
+# $Id: Makefile 2.15 2012/12/23 10:03:51 kls Exp $
# The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin.
# By default the main source file also carries this name.
-# IMPORTANT: the presence of this macro is important for the Make.config
-# file. So it must be defined, even if it is not used here!
-#
+
PLUGIN = hello
### The version number of this plugin (taken from the main source file):
VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ print $$6 }' | sed -e 's/[";]//g')
-### The C++ compiler and options:
-
-CXX ?= g++
-CXXFLAGS ?= -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses
-
### The directory environment:
-VDRDIR ?= ../../..
-LIBDIR ?= ../../lib
+# 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 = $(DESTDIR)$(call PKGCFG,libdir)
+LOCDIR = $(DESTDIR)$(call PKGCFG,locdir)
+#
TMPDIR ?= /tmp
-### Make sure that necessary options are included:
-
-include $(VDRDIR)/Make.global
+### The compiler options:
-### Allow user defined options to overwrite defaults:
+export CFLAGS = $(call PKGCFG,cflags)
+export CXXFLAGS = $(call PKGCFG,cxxflags)
--include $(VDRDIR)/Make.config
+### The version number of VDR's plugin API:
-### The version number of VDR's plugin API (taken from VDR's "config.h"):
-
-APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
+APIVERSION = $(call PKGCFG,apiversion)
### The name of the distribution archive:
ARCHIVE = $(PLUGIN)-$(VERSION)
PACKAGE = vdr-$(ARCHIVE)
+### The name of the shared object file:
+
+SOFILE = libvdr-$(PLUGIN).so
+
### Includes and Defines (add further entries here):
-INCLUDES += -I$(VDRDIR)/include
+INCLUDES +=
-DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
+DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
### The object files (add further files here):
@@ -55,7 +52,7 @@ OBJS = $(PLUGIN).o
### The main target:
-all: libvdr-$(PLUGIN).so i18n
+all: $(SOFILE) i18n
### Implicit rules:
@@ -74,33 +71,38 @@ $(DEPFILE): Makefile
### Internationalization (I18N):
PODIR = po
-LOCALEDIR = $(VDRDIR)/locale
I18Npo = $(wildcard $(PODIR)/*.po)
-I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
+I18Nmo = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file))))
+I18Nmsgs = $(addprefix $(LOCDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
I18Npot = $(PODIR)/$(PLUGIN).pot
%.mo: %.po
msgfmt -c -o $@ $<
$(I18Npot): $(wildcard *.c)
- xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=VDR --package-version=$(VDRVERSION) --msgid-bugs-address='<vdr-bugs@tvdr.de>' -o $@ `ls $^`
+ xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=vdr-$(PLUGIN) --package-version=$(VERSION) --msgid-bugs-address='<see README>' -o $@ `ls $^`
%.po: $(I18Npot)
- msgmerge -U --no-wrap --no-location --backup=none -q $@ $<
+ msgmerge -U --no-wrap --no-location --backup=none -q -N $@ $<
@touch $@
-$(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
- @mkdir -p $(dir $@)
- cp $< $@
+$(I18Nmsgs): $(LOCDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
+ install -D -m644 $< $@
.PHONY: i18n
-i18n: $(I18Nmsgs)
+i18n: $(I18Nmo) $(I18Npot)
+
+install-i18n: $(I18Nmsgs)
### Targets:
-libvdr-$(PLUGIN).so: $(OBJS)
+$(SOFILE): $(OBJS)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
+
+install-lib: $(SOFILE)
+ install -D $^ $(LIBDIR)/$^.$(APIVERSION)
+
+install: install-lib install-i18n
dist: $(I18Npo) clean
@-rm -rf $(TMPDIR)/$(ARCHIVE)
diff --git a/PLUGINS/src/hello/po/ca_ES.po b/PLUGINS/src/hello/po/ca_ES.po
index 24e09ef..8efe531 100644
--- a/PLUGINS/src/hello/po/ca_ES.po
+++ b/PLUGINS/src/hello/po/ca_ES.po
@@ -7,9 +7,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
"PO-Revision-Date: 2007-08-11 12:34+0200\n"
"Last-Translator: Jordi Vil <jvila@tinet.org>\n"
"Language-Team: Catalan <vdr@linuxtv.org>\n"
diff --git a/PLUGINS/src/hello/po/cs_CZ.po b/PLUGINS/src/hello/po/cs_CZ.po
index af184b3..f4fe8a5 100644
--- a/PLUGINS/src/hello/po/cs_CZ.po
+++ b/PLUGINS/src/hello/po/cs_CZ.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
"PO-Revision-Date: 2007-08-11 12:34+0200\n"
"Last-Translator: Vladimr Brta <vladimir.barta@k2atmitec.cz>\n"
"Language-Team: Czech <vdr@linuxtv.org>\n"
diff --git a/PLUGINS/src/hello/po/da_DK.po b/PLUGINS/src/hello/po/da_DK.po
index 6c1647e..1fda5d0 100644
--- a/PLUGINS/src/hello/po/da_DK.po
+++ b/PLUGINS/src/hello/po/da_DK.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
"PO-Revision-Date: 2007-08-11 12:34+0200\n"
"Last-Translator: Mogens Elneff <mogens@elneff.dk>\n"
"Language-Team: Danish <vdr@linuxtv.org>\n"
diff --git a/PLUGINS/src/hello/po/de_DE.po b/PLUGINS/src/hello/po/de_DE.po
index 1536f1b..c3e35f6 100644
--- a/PLUGINS/src/hello/po/de_DE.po
+++ b/PLUGINS/src/hello/po/de_DE.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
"PO-Revision-Date: 2007-08-11 12:34+0200\n"
"Last-Translator: Klaus Schmidinger <kls@tvdr.de>\n"
"Language-Team: German <vdr@linuxtv.org>\n"
diff --git a/PLUGINS/src/hello/po/el_GR.po b/PLUGINS/src/hello/po/el_GR.po
index ce921ee..03bab92 100644
--- a/PLUGINS/src/hello/po/el_GR.po
+++ b/PLUGINS/src/hello/po/el_GR.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
"PO-Revision-Date: 2007-08-11 12:34+0200\n"
"Last-Translator: Dimitrios Dimitrakos <mail@dimitrios.de>\n"
"Language-Team: Greek <vdr@linuxtv.org>\n"
diff --git a/PLUGINS/src/hello/po/es_ES.po b/PLUGINS/src/hello/po/es_ES.po
index 292f652..1b87045 100644
--- a/PLUGINS/src/hello/po/es_ES.po
+++ b/PLUGINS/src/hello/po/es_ES.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
"PO-Revision-Date: 2007-08-11 12:34+0200\n"
"Last-Translator: Ruben Nunez Francisco <ruben.nunez@tang-it.com>\n"
"Language-Team: Spanish <vdr@linuxtv.org>\n"
diff --git a/PLUGINS/src/hello/po/et_EE.po b/PLUGINS/src/hello/po/et_EE.po
index 3cf2247..c3d9bda 100644
--- a/PLUGINS/src/hello/po/et_EE.po
+++ b/PLUGINS/src/hello/po/et_EE.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
"PO-Revision-Date: 2007-08-11 12:34+0200\n"
"Last-Translator: Arthur Konovalov <kasjas@hot.ee>\n"
"Language-Team: Estonian <vdr@linuxtv.org>\n"
diff --git a/PLUGINS/src/hello/po/fi_FI.po b/PLUGINS/src/hello/po/fi_FI.po
index a106a8b..b8256b5 100644
--- a/PLUGINS/src/hello/po/fi_FI.po
+++ b/PLUGINS/src/hello/po/fi_FI.po
@@ -8,9 +8,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
"PO-Revision-Date: 2007-08-11 12:34+0200\n"
"Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n"
"Language-Team: Finnish <vdr@linuxtv.org>\n"
diff --git a/PLUGINS/src/hello/po/fr_FR.po b/PLUGINS/src/hello/po/fr_FR.po
index 335df75..aed37e2 100644
--- a/PLUGINS/src/hello/po/fr_FR.po
+++ b/PLUGINS/src/hello/po/fr_FR.po
@@ -8,9 +8,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
"PO-Revision-Date: 2007-08-11 12:34+0200\n"
"Last-Translator: Nicolas Huillard <nhuillard@e-dition.fr>\n"
"Language-Team: French <vdr@linuxtv.org>\n"
diff --git a/PLUGINS/src/hello/po/hr_HR.po b/PLUGINS/src/hello/po/hr_HR.po
index c88e832..40305de 100644
--- a/PLUGINS/src/hello/po/hr_HR.po
+++ b/PLUGINS/src/hello/po/hr_HR.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
"PO-Revision-Date: 2008-03-17 19:52+0100\n"
"Last-Translator: Adrian Caval <anrxc@sysphere.org>\n"
"Language-Team: Croatian <vdr@linuxtv.org>\n"
diff --git a/PLUGINS/src/hello/po/hu_HU.po b/PLUGINS/src/hello/po/hu_HU.po
index 5b9f207..ae344c1 100644
--- a/PLUGINS/src/hello/po/hu_HU.po
+++ b/PLUGINS/src/hello/po/hu_HU.po
@@ -6,9 +6,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
"PO-Revision-Date: 2007-08-11 12:34+0200\n"
"Last-Translator: Istvan Koenigsberger <istvnko@hotmail.com>, Guido Josten <guido.josten@t-online.de>\n"
"Language-Team: Hungarian <vdr@linuxtv.org>\n"
diff --git a/PLUGINS/src/hello/po/it_IT.po b/PLUGINS/src/hello/po/it_IT.po
index 7ef310a..e56e499 100644
--- a/PLUGINS/src/hello/po/it_IT.po
+++ b/PLUGINS/src/hello/po/it_IT.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
"PO-Revision-Date: 2008-01-27 20:11+0100\n"
"Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
"Language-Team: Italian <vdr@linuxtv.org>\n"
diff --git a/PLUGINS/src/hello/po/lt_LT.po b/PLUGINS/src/hello/po/lt_LT.po
index 0ade0bd..773e14a 100644
--- a/PLUGINS/src/hello/po/lt_LT.po
+++ b/PLUGINS/src/hello/po/lt_LT.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR 1.7.10\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
"PO-Revision-Date: 2009-12-08 12:18+0200\n"
"Last-Translator: Valdemaras Pipiras <varas@ambernet.lt>\n"
"Language-Team: Lithuanian <vdr@linuxtv.org>\n"
diff --git a/PLUGINS/src/hello/po/nl_NL.po b/PLUGINS/src/hello/po/nl_NL.po
index 4dff540..29b0dad 100644
--- a/PLUGINS/src/hello/po/nl_NL.po
+++ b/PLUGINS/src/hello/po/nl_NL.po
@@ -7,9 +7,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
"PO-Revision-Date: 2007-08-11 12:34+0200\n"
"Last-Translator: Maarten Wisse <Maarten.Wisse@urz.uni-hd.de>\n"
"Language-Team: Dutch <vdr@linuxtv.org>\n"
diff --git a/PLUGINS/src/hello/po/nn_NO.po b/PLUGINS/src/hello/po/nn_NO.po
index c566f53..0277104 100644
--- a/PLUGINS/src/hello/po/nn_NO.po
+++ b/PLUGINS/src/hello/po/nn_NO.po
@@ -6,9 +6,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
"PO-Revision-Date: 2007-08-11 12:34+0200\n"
"Last-Translator: Truls Slevigen <truls@slevigen.no>\n"
"Language-Team: Norwegian Nynorsk <vdr@linuxtv.org>\n"
diff --git a/PLUGINS/src/hello/po/pl_PL.po b/PLUGINS/src/hello/po/pl_PL.po
index e7aedf2..34d38de 100644
--- a/PLUGINS/src/hello/po/pl_PL.po
+++ b/PLUGINS/src/hello/po/pl_PL.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
"PO-Revision-Date: 2007-08-11 12:34+0200\n"
"Last-Translator: Michael Rakowski <mrak@gmx.de>\n"
"Language-Team: Polish <vdr@linuxtv.org>\n"
diff --git a/PLUGINS/src/hello/po/pt_PT.po b/PLUGINS/src/hello/po/pt_PT.po
index dd0be17..fcefd52 100644
--- a/PLUGINS/src/hello/po/pt_PT.po
+++ b/PLUGINS/src/hello/po/pt_PT.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
"PO-Revision-Date: 2007-08-11 12:34+0200\n"
"Last-Translator: Paulo Lopes <pmml@netvita.pt>\n"
"Language-Team: Portuguese <vdr@linuxtv.org>\n"
diff --git a/PLUGINS/src/hello/po/ro_RO.po b/PLUGINS/src/hello/po/ro_RO.po
index a5eb16a..248e9c0 100644
--- a/PLUGINS/src/hello/po/ro_RO.po
+++ b/PLUGINS/src/hello/po/ro_RO.po
@@ -6,9 +6,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
"PO-Revision-Date: 2007-08-11 12:34+0200\n"
"Last-Translator: Lucian Muresan <lucianm@users.sourceforge.net>\n"
"Language-Team: Romanian <vdr@linuxtv.org>\n"
diff --git a/PLUGINS/src/hello/po/ru_RU.po b/PLUGINS/src/hello/po/ru_RU.po
index ee94c92..18dcd0f 100644
--- a/PLUGINS/src/hello/po/ru_RU.po
+++ b/PLUGINS/src/hello/po/ru_RU.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
"PO-Revision-Date: 2007-08-11 12:34+0200\n"
"Last-Translator: Vyacheslav Dikonov <sdiconov@mail.ru>\n"
"Language-Team: Russian <vdr@linuxtv.org>\n"
diff --git a/PLUGINS/src/hello/po/sk_SK.po b/PLUGINS/src/hello/po/sk_SK.po
index b8ba775..e3875af 100644
--- a/PLUGINS/src/hello/po/sk_SK.po
+++ b/PLUGINS/src/hello/po/sk_SK.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
"PO-Revision-Date: 2009-09-30 09:48+0100\n"
"Last-Translator: Milan Hrala <hrala.milan@gmail.com>\n"
"Language-Team: Slovak <vdr@linuxtv.org>\n"
diff --git a/PLUGINS/src/hello/po/sl_SI.po b/PLUGINS/src/hello/po/sl_SI.po
index bbcf6b9..504586a 100644
--- a/PLUGINS/src/hello/po/sl_SI.po
+++ b/PLUGINS/src/hello/po/sl_SI.po
@@ -6,9 +6,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
"PO-Revision-Date: 2007-08-11 12:34+0200\n"
"Last-Translator: Matjaz Thaler <matjaz.thaler@guest.arnes.si>\n"
"Language-Team: Slovenian <vdr@linuxtv.org>\n"
diff --git a/PLUGINS/src/hello/po/sv_SE.po b/PLUGINS/src/hello/po/sv_SE.po
index 4b4909f..3ccd424 100644
--- a/PLUGINS/src/hello/po/sv_SE.po
+++ b/PLUGINS/src/hello/po/sv_SE.po
@@ -6,9 +6,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
"PO-Revision-Date: 2007-08-11 12:34+0200\n"
"Last-Translator: Tomas Prybil <tomas@prybil.se>\n"
"Language-Team: Swedish <vdr@linuxtv.org>\n"
diff --git a/PLUGINS/src/hello/po/tr_TR.po b/PLUGINS/src/hello/po/tr_TR.po
index a8705da..3215b1f 100644
--- a/PLUGINS/src/hello/po/tr_TR.po
+++ b/PLUGINS/src/hello/po/tr_TR.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
"PO-Revision-Date: 2008-05-12 22:34:4800\n"
"Last-Translator: Oktay Yolgeen <oktay_73@yahoo.de>\n"
"Language-Team: Turkish <vdr@linuxtv.org>\n"
diff --git a/PLUGINS/src/hello/po/zh_CN.po b/PLUGINS/src/hello/po/zh_CN.po
index 7793ed2..6d7aa56 100644
--- a/PLUGINS/src/hello/po/zh_CN.po
+++ b/PLUGINS/src/hello/po/zh_CN.po
@@ -8,9 +8,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
"PO-Revision-Date: 2009-01-23 09:48+0800\n"
"Last-Translator: senin\n"
"Language-Team: Chinese (simplified) <vdr@linuxtv.org>\n"
diff --git a/PLUGINS/src/osddemo/Makefile b/PLUGINS/src/osddemo/Makefile
index 68a236b..3ef4fdc 100644
--- a/PLUGINS/src/osddemo/Makefile
+++ b/PLUGINS/src/osddemo/Makefile
@@ -1,51 +1,49 @@
#
# Makefile for a Video Disk Recorder plugin
#
-# $Id: Makefile 2.5 2012/03/11 15:34:08 kls Exp $
+# $Id: Makefile 2.11 2012/12/23 10:04:05 kls Exp $
# The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin.
# By default the main source file also carries this name.
-#
+
PLUGIN = osddemo
### The version number of this plugin (taken from the main source file):
VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ print $$6 }' | sed -e 's/[";]//g')
-### The C++ compiler and options:
-
-CXX ?= g++
-CXXFLAGS ?= -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses
-
### The directory environment:
-VDRDIR ?= ../../..
-LIBDIR ?= ../../lib
+# 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 = $(DESTDIR)$(call PKGCFG,libdir)
+#
TMPDIR ?= /tmp
-### Make sure that necessary options are included:
-
-include $(VDRDIR)/Make.global
+### The compiler options:
-### Allow user defined options to overwrite defaults:
+export CFLAGS = $(call PKGCFG,cflags)
+export CXXFLAGS = $(call PKGCFG,cxxflags)
--include $(VDRDIR)/Make.config
+### The version number of VDR's plugin API:
-### The version number of VDR's plugin API (taken from VDR's "config.h"):
-
-APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
+APIVERSION = $(call PKGCFG,apiversion)
### The name of the distribution archive:
ARCHIVE = $(PLUGIN)-$(VERSION)
PACKAGE = vdr-$(ARCHIVE)
+### The name of the shared object file:
+
+SOFILE = libvdr-$(PLUGIN).so
+
### Includes and Defines (add further entries here):
-INCLUDES += -I$(VDRDIR)/include
+INCLUDES +=
-DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
+DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
### The object files (add further files here):
@@ -53,14 +51,14 @@ OBJS = $(PLUGIN).o
### The main target:
-all: libvdr-$(PLUGIN).so
+all: $(SOFILE)
### Implicit rules:
%.o: %.c
$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $<
-# Dependencies:
+### Dependencies:
MAKEDEP = $(CXX) -MM -MG
DEPFILE = .dependencies
@@ -71,9 +69,13 @@ $(DEPFILE): Makefile
### Targets:
-libvdr-$(PLUGIN).so: $(OBJS)
+$(SOFILE): $(OBJS)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
+
+install-lib: $(SOFILE)
+ install -D $^ $(LIBDIR)/$^.$(APIVERSION)
+
+install: install-lib
dist: clean
@-rm -rf $(TMPDIR)/$(ARCHIVE)
diff --git a/PLUGINS/src/pictures/Makefile b/PLUGINS/src/pictures/Makefile
index cee95ef..516cb85 100644
--- a/PLUGINS/src/pictures/Makefile
+++ b/PLUGINS/src/pictures/Makefile
@@ -1,53 +1,50 @@
#
# Makefile for a Video Disk Recorder plugin
#
-# $Id: Makefile 2.9 2012/03/11 15:34:10 kls Exp $
+# $Id: Makefile 2.15 2012/12/23 10:04:13 kls Exp $
# The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin.
# By default the main source file also carries this name.
-# IMPORTANT: the presence of this macro is important for the Make.config
-# file. So it must be defined, even if it is not used here!
-#
+
PLUGIN = pictures
### The version number of this plugin (taken from the main source file):
VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ print $$6 }' | sed -e 's/[";]//g')
-### The C++ compiler and options:
-
-CXX ?= g++
-CXXFLAGS ?= -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses
-
### The directory environment:
-VDRDIR ?= ../../..
-LIBDIR ?= ../../lib
+# 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 = $(DESTDIR)$(call PKGCFG,libdir)
+LOCDIR = $(DESTDIR)$(call PKGCFG,locdir)
+#
TMPDIR ?= /tmp
-### Make sure that necessary options are included:
-
-include $(VDRDIR)/Make.global
+### The compiler options:
-### Allow user defined options to overwrite defaults:
+export CFLAGS = $(call PKGCFG,cflags)
+export CXXFLAGS = $(call PKGCFG,cxxflags)
--include $(VDRDIR)/Make.config
+### The version number of VDR's plugin API:
-### The version number of VDR's plugin API (taken from VDR's "config.h"):
-
-APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
+APIVERSION = $(call PKGCFG,apiversion)
### The name of the distribution archive:
ARCHIVE = $(PLUGIN)-$(VERSION)
PACKAGE = vdr-$(ARCHIVE)
+### The name of the shared object file:
+
+SOFILE = libvdr-$(PLUGIN).so
+
### Includes and Defines (add further entries here):
-INCLUDES += -I$(VDRDIR)/include
+INCLUDES +=
-DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
+DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
### The object files (add further files here):
@@ -55,7 +52,7 @@ OBJS = $(PLUGIN).o entry.o menu.o player.o
### The main target:
-all: libvdr-$(PLUGIN).so i18n
+all: $(SOFILE) i18n
### Implicit rules:
@@ -74,33 +71,38 @@ $(DEPFILE): Makefile
### Internationalization (I18N):
PODIR = po
-LOCALEDIR = $(VDRDIR)/locale
I18Npo = $(wildcard $(PODIR)/*.po)
-I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
+I18Nmo = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file))))
+I18Nmsgs = $(addprefix $(LOCDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
I18Npot = $(PODIR)/$(PLUGIN).pot
%.mo: %.po
msgfmt -c -o $@ $<
$(I18Npot): $(wildcard *.c)
- xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=VDR --package-version=$(VDRVERSION) --msgid-bugs-address='<vdr-bugs@tvdr.de>' -o $@ `ls $^`
+ xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=vdr-$(PLUGIN) --package-version=$(VERSION) --msgid-bugs-address='<see README>' -o $@ `ls $^`
%.po: $(I18Npot)
- msgmerge -U --no-wrap --no-location --backup=none -q $@ $<
+ msgmerge -U --no-wrap --no-location --backup=none -q -N $@ $<
@touch $@
-$(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
- @mkdir -p $(dir $@)
- cp $< $@
+$(I18Nmsgs): $(LOCDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
+ install -D -m644 $< $@
.PHONY: i18n
-i18n: $(I18Nmsgs) $(I18Npot)
+i18n: $(I18Nmo) $(I18Npot)
+
+install-i18n: $(I18Nmsgs)
### Targets:
-libvdr-$(PLUGIN).so: $(OBJS)
+$(SOFILE): $(OBJS)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
+
+install-lib: $(SOFILE)
+ install -D $^ $(LIBDIR)/$^.$(APIVERSION)
+
+install: install-lib install-i18n
dist: $(I18Npo) clean
@-rm -rf $(TMPDIR)/$(ARCHIVE)
@@ -111,4 +113,5 @@ dist: $(I18Npo) clean
@echo Distribution package created as $(PACKAGE).tgz
clean:
- @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ $(PODIR)/*.mo $(PODIR)/*.pot
+ @-rm -f $(PODIR)/*.mo $(PODIR)/*.pot
+ @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~
diff --git a/PLUGINS/src/pictures/po/de_DE.po b/PLUGINS/src/pictures/po/de_DE.po
index f31fa07..2f77772 100644
--- a/PLUGINS/src/pictures/po/de_DE.po
+++ b/PLUGINS/src/pictures/po/de_DE.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-pictures 0.1.3\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 12:57+0100\n"
"PO-Revision-Date: 2008-01-12 17:41+0100\n"
"Last-Translator: Klaus Schmidinger <kls@tvdr.de>\n"
"Language-Team: German <vdr@linuxtv.org>\n"
diff --git a/PLUGINS/src/pictures/po/fi_FI.po b/PLUGINS/src/pictures/po/fi_FI.po
index 0a17596..3ac5ed7 100644
--- a/PLUGINS/src/pictures/po/fi_FI.po
+++ b/PLUGINS/src/pictures/po/fi_FI.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-pictures 0.1.3\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 12:57+0100\n"
"PO-Revision-Date: 2008-01-12 17:41+0100\n"
"Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n"
"Language-Team: Finnish <vdr@linuxtv.org>\n"
diff --git a/PLUGINS/src/pictures/po/fr_FR.po b/PLUGINS/src/pictures/po/fr_FR.po
index c6289d1..36bca8c 100644
--- a/PLUGINS/src/pictures/po/fr_FR.po
+++ b/PLUGINS/src/pictures/po/fr_FR.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-pictures 0.1.3\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 12:57+0100\n"
"PO-Revision-Date: 2008-01-12 17:41+0100\n"
"Last-Translator: Patrice Staudt <ipatrice.staudt@laposte.net>\n"
"Language-Team: French <vdr@linuxtv.org>\n"
diff --git a/PLUGINS/src/pictures/po/it_IT.po b/PLUGINS/src/pictures/po/it_IT.po
index f3858db..0eddf51 100644
--- a/PLUGINS/src/pictures/po/it_IT.po
+++ b/PLUGINS/src/pictures/po/it_IT.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-pictures 0.1.3\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 12:57+0100\n"
"PO-Revision-Date: 2008-01-27 20:22+0100\n"
"Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
"Language-Team: Italian <vdr@linuxtv.org>\n"
diff --git a/PLUGINS/src/pictures/po/lt_LT.po b/PLUGINS/src/pictures/po/lt_LT.po
index 9d877ac..26c244b 100644
--- a/PLUGINS/src/pictures/po/lt_LT.po
+++ b/PLUGINS/src/pictures/po/lt_LT.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR 1.7.10\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-pictures 0.1.3\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 12:57+0100\n"
"PO-Revision-Date: 2009-12-08 12:41+0100\n"
"Last-Translator: Valdemaras Pipiras <varas@ambernet.lt>, 2009\n"
"Language-Team: Lithuanian <vdr@linuxtv.org>\n"
diff --git a/PLUGINS/src/pictures/po/ru_RU.po b/PLUGINS/src/pictures/po/ru_RU.po
index 6d38639..869c91b 100644
--- a/PLUGINS/src/pictures/po/ru_RU.po
+++ b/PLUGINS/src/pictures/po/ru_RU.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-pictures 0.1.3\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 12:57+0100\n"
"PO-Revision-Date: 2008-03-14 00:45+0100\n"
"Last-Translator: Alexander Gross <Bikalexander@gmail.com>\n"
"Language-Team: Russian <vdr@linuxtv.org>\n"
diff --git a/PLUGINS/src/pictures/po/sk_SK.po b/PLUGINS/src/pictures/po/sk_SK.po
index 340aad1..afc69a0 100644
--- a/PLUGINS/src/pictures/po/sk_SK.po
+++ b/PLUGINS/src/pictures/po/sk_SK.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-pictures 0.1.3\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 12:57+0100\n"
"PO-Revision-Date: 2009-09-30 12:54+0100\n"
"Last-Translator: Milan Hrala <hrala.milan@gmail.com>\n"
"Language-Team: Slovak <vdr@linuxtv.org>\n"
diff --git a/PLUGINS/src/rcu/Makefile b/PLUGINS/src/rcu/Makefile
index 170490a..d1b162a 100644
--- a/PLUGINS/src/rcu/Makefile
+++ b/PLUGINS/src/rcu/Makefile
@@ -1,53 +1,49 @@
#
# Makefile for a Video Disk Recorder plugin
#
-# $Id: Makefile 1.2 2012/03/11 15:34:12 kls Exp $
+# $Id: Makefile 1.8 2012/12/23 10:04:15 kls Exp $
# The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin.
# By default the main source file also carries this name.
-# IMPORTANT: the presence of this macro is important for the Make.config
-# file. So it must be defined, even if it is not used here!
-#
+
PLUGIN = rcu
### The version number of this plugin (taken from the main source file):
VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ print $$6 }' | sed -e 's/[";]//g')
-### The C++ compiler and options:
-
-CXX ?= g++
-CXXFLAGS ?= -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses
-
### The directory environment:
-VDRDIR ?= ../../..
-LIBDIR ?= ../../lib
+# 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 = $(DESTDIR)$(call PKGCFG,libdir)
+#
TMPDIR ?= /tmp
-### Make sure that necessary options are included:
+### The compiler options:
-include $(VDRDIR)/Make.global
+export CFLAGS = $(call PKGCFG,cflags)
+export CXXFLAGS = $(call PKGCFG,cxxflags)
-### Allow user defined options to overwrite defaults:
+### The version number of VDR's plugin API:
--include $(VDRDIR)/Make.config
-
-### The version number of VDR's plugin API (taken from VDR's "config.h"):
-
-APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
+APIVERSION = $(call PKGCFG,apiversion)
### The name of the distribution archive:
ARCHIVE = $(PLUGIN)-$(VERSION)
PACKAGE = vdr-$(ARCHIVE)
+### The name of the shared object file:
+
+SOFILE = libvdr-$(PLUGIN).so
+
### Includes and Defines (add further entries here):
-INCLUDES += -I$(VDRDIR)/include
+INCLUDES +=
-DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
+DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
### The object files (add further files here):
@@ -55,7 +51,7 @@ OBJS = $(PLUGIN).o
### The main target:
-all: libvdr-$(PLUGIN).so i18n
+all: $(SOFILE)
### Implicit rules:
@@ -71,38 +67,17 @@ $(DEPFILE): Makefile
-include $(DEPFILE)
-### Internationalization (I18N):
-
-PODIR = po
-LOCALEDIR = $(VDRDIR)/locale
-I18Npo = $(wildcard $(PODIR)/*.po)
-I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
-I18Npot = $(PODIR)/$(PLUGIN).pot
-
-%.mo: %.po
- msgfmt -c -o $@ $<
-
-$(I18Npot): $(wildcard *.c)
- xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=vdr-$(PLUGIN) --package-version=$(VERSION) --msgid-bugs-address='<see README>' -o $@ $^
-
-%.po: $(I18Npot)
- msgmerge -U --no-wrap --no-location --backup=none -q $@ $<
- @touch $@
-
-$(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
- @mkdir -p $(dir $@)
- cp $< $@
-
-.PHONY: i18n
-i18n: $(I18Nmsgs) $(I18Npot)
-
### Targets:
-libvdr-$(PLUGIN).so: $(OBJS)
+$(SOFILE): $(OBJS)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-dist: $(I18Npo) clean
+install-lib: $(SOFILE)
+ install -D $^ $(LIBDIR)/$^.$(APIVERSION)
+
+install: install-lib
+
+dist: clean
@-rm -rf $(TMPDIR)/$(ARCHIVE)
@mkdir $(TMPDIR)/$(ARCHIVE)
@cp -a * $(TMPDIR)/$(ARCHIVE)
@@ -111,4 +86,4 @@ dist: $(I18Npo) clean
@echo Distribution package created as $(PACKAGE).tgz
clean:
- @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ $(PODIR)/*.mo $(PODIR)/*.pot
+ @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~
diff --git a/PLUGINS/src/servicedemo/Makefile b/PLUGINS/src/servicedemo/Makefile
index 941aaff..dfe05a4 100644
--- a/PLUGINS/src/servicedemo/Makefile
+++ b/PLUGINS/src/servicedemo/Makefile
@@ -1,13 +1,12 @@
#
# Makefile for a Video Disk Recorder plugin
#
-# $Id: Makefile 2.5 2012/03/11 15:34:13 kls Exp $
+# $Id: Makefile 2.9 2012/12/23 10:04:16 kls Exp $
# The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin.
# By default the main source file also carries this name.
-#
-PLUGIN = servicedemo # dummy name for Make.config
+
PLUGIN1 = svccli
PLUGIN2 = svcsvr
@@ -15,28 +14,22 @@ PLUGIN2 = svcsvr
VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN1).c | awk '{ print $$6 }' | sed -e 's/[";]//g')
-### The C++ compiler and options:
-
-CXX ?= g++
-CXXFLAGS ?= -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses
-
### The directory environment:
-VDRDIR ?= ../../..
-LIBDIR ?= ../../lib
+# 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 = $(DESTDIR)$(call PKGCFG,libdir)
+#
TMPDIR ?= /tmp
-### Make sure that necessary options are included:
-
-include $(VDRDIR)/Make.global
+### The compiler options:
-### Allow user defined options to overwrite defaults:
+export CFLAGS = $(call PKGCFG,cflags)
+export CXXFLAGS = $(call PKGCFG,cxxflags)
--include $(VDRDIR)/Make.config
+### The version number of VDR's plugin API:
-### The version number of VDR's plugin API (taken from VDR's "config.h"):
-
-APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
+APIVERSION = $(call PKGCFG,apiversion)
### The name of the distribution archive:
@@ -45,9 +38,9 @@ PACKAGE = vdr-$(ARCHIVE)
### Includes and Defines (add further entries here):
-INCLUDES += -I$(VDRDIR)/include
+INCLUDES +=
-DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
+DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
### The object files (add further files here):
@@ -62,7 +55,7 @@ all: libvdr-$(PLUGIN1).so libvdr-$(PLUGIN2).so
%.o: %.c
$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $<
-# Dependencies:
+### Dependencies:
MAKEDEP = $(CXX) -MM -MG
DEPFILE = .dependencies
@@ -75,11 +68,13 @@ $(DEPFILE): Makefile
libvdr-$(PLUGIN1).so: $(PLUGIN1).o
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(PLUGIN1).o -o $@
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
libvdr-$(PLUGIN2).so: $(PLUGIN2).o
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(PLUGIN2).o -o $@
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
+
+install: libvdr-$(PLUGIN1).so libvdr-$(PLUGIN2).so
+ 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 b43518b..63be8bb 100644
--- a/PLUGINS/src/skincurses/Makefile
+++ b/PLUGINS/src/skincurses/Makefile
@@ -1,53 +1,50 @@
#
# Makefile for a Video Disk Recorder plugin
#
-# $Id: Makefile 2.9 2012/03/11 15:34:18 kls Exp $
+# $Id: Makefile 2.15 2012/12/23 10:04:18 kls Exp $
# The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin.
# By default the main source file also carries this name.
-# IMPORTANT: the presence of this macro is important for the Make.config
-# file. So it must be defined, even if it is not used here!
-#
+
PLUGIN = skincurses
### The version number of this plugin (taken from the main source file):
VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ print $$6 }' | sed -e 's/[";]//g')
-### The C++ compiler and options:
-
-CXX ?= g++
-CXXFLAGS ?= -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses
-
### The directory environment:
-VDRDIR ?= ../../..
-LIBDIR ?= ../../lib
+# 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 = $(DESTDIR)$(call PKGCFG,libdir)
+LOCDIR = $(DESTDIR)$(call PKGCFG,locdir)
+#
TMPDIR ?= /tmp
-### Make sure that necessary options are included:
-
-include $(VDRDIR)/Make.global
+### The compiler options:
-### Allow user defined options to overwrite defaults:
+export CFLAGS = $(call PKGCFG,cflags)
+export CXXFLAGS = $(call PKGCFG,cxxflags)
--include $(VDRDIR)/Make.config
+### The version number of VDR's plugin API:
-### The version number of VDR's plugin API (taken from VDR's "config.h"):
-
-APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
+APIVERSION = $(call PKGCFG,apiversion)
### The name of the distribution archive:
ARCHIVE = $(PLUGIN)-$(VERSION)
PACKAGE = vdr-$(ARCHIVE)
+### The name of the shared object file:
+
+SOFILE = libvdr-$(PLUGIN).so
+
### Includes and Defines (add further entries here):
-INCLUDES += -I$(VDRDIR)/include
+INCLUDES +=
-DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
+DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
### The object files (add further files here):
@@ -55,7 +52,7 @@ OBJS = $(PLUGIN).o
### The main target:
-all: libvdr-$(PLUGIN).so i18n
+all: $(SOFILE) i18n
### Implicit rules:
@@ -74,33 +71,38 @@ $(DEPFILE): Makefile
### Internationalization (I18N):
PODIR = po
-LOCALEDIR = $(VDRDIR)/locale
I18Npo = $(wildcard $(PODIR)/*.po)
-I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
+I18Nmo = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file))))
+I18Nmsgs = $(addprefix $(LOCDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
I18Npot = $(PODIR)/$(PLUGIN).pot
%.mo: %.po
msgfmt -c -o $@ $<
$(I18Npot): $(wildcard *.c)
- xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=VDR --package-version=$(VDRVERSION) --msgid-bugs-address='<vdr-bugs@tvdr.de>' -o $@ `ls $^`
+ xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=vdr-$(PLUGIN) --package-version=$(VERSION) --msgid-bugs-address='<see README>' -o $@ `ls $^`
%.po: $(I18Npot)
- msgmerge -U --no-wrap --no-location --backup=none -q $@ $<
+ msgmerge -U --no-wrap --no-location --backup=none -q -N $@ $<
@touch $@
-$(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
- @mkdir -p $(dir $@)
- cp $< $@
+$(I18Nmsgs): $(LOCDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
+ install -D -m644 $< $@
.PHONY: i18n
-i18n: $(I18Nmsgs) $(I18Npot)
+i18n: $(I18Nmo) $(I18Npot)
+
+install-i18n: $(I18Nmsgs)
### Targets:
-libvdr-$(PLUGIN).so: $(OBJS)
+$(SOFILE): $(OBJS)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -lncursesw -o $@
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
+
+install-lib: $(SOFILE)
+ install -D $^ $(LIBDIR)/$^.$(APIVERSION)
+
+install: install-lib install-i18n
dist: $(I18Npo) clean
@-rm -rf $(TMPDIR)/$(ARCHIVE)
@@ -111,4 +113,5 @@ dist: $(I18Npo) clean
@echo Distribution package created as $(PACKAGE).tgz
clean:
- @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ $(PODIR)/*.mo $(PODIR)/*.pot
+ @-rm -f $(PODIR)/*.mo $(PODIR)/*.pot
+ @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~
diff --git a/PLUGINS/src/skincurses/po/de_DE.po b/PLUGINS/src/skincurses/po/de_DE.po
index bff2411..cecf74b 100644
--- a/PLUGINS/src/skincurses/po/de_DE.po
+++ b/PLUGINS/src/skincurses/po/de_DE.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-21 14:36+0200\n"
+"Project-Id-Version: vdr-skincurses 0.1.12\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
"PO-Revision-Date: 2007-08-15 16:07+0200\n"
"Last-Translator: Klaus Schmidinger <kls@tvdr.de>\n"
"Language-Team: German <vdr@linuxtv.org>\n"
diff --git a/PLUGINS/src/skincurses/po/fi_FI.po b/PLUGINS/src/skincurses/po/fi_FI.po
index c123a0b..e8bb5c2 100644
--- a/PLUGINS/src/skincurses/po/fi_FI.po
+++ b/PLUGINS/src/skincurses/po/fi_FI.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-21 14:36+0200\n"
+"Project-Id-Version: vdr-skincurses 0.1.12\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
"PO-Revision-Date: 2007-08-14 20:48+0300\n"
"Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n"
"Language-Team: Finnish <vdr@linuxtv.org>\n"
diff --git a/PLUGINS/src/skincurses/po/it_IT.po b/PLUGINS/src/skincurses/po/it_IT.po
index 5cecb65..b7a8e68 100644
--- a/PLUGINS/src/skincurses/po/it_IT.po
+++ b/PLUGINS/src/skincurses/po/it_IT.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-21 14:36+0200\n"
+"Project-Id-Version: vdr-skincurses 0.1.12\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
"PO-Revision-Date: 2008-01-27 20:35+0100\n"
"Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
"Language-Team: Italian <vdr@linuxtv.org>\n"
diff --git a/PLUGINS/src/skincurses/po/lt_LT.po b/PLUGINS/src/skincurses/po/lt_LT.po
index 16d2698..3b3e1e1 100644
--- a/PLUGINS/src/skincurses/po/lt_LT.po
+++ b/PLUGINS/src/skincurses/po/lt_LT.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR 1.7.12\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-21 14:36+0200\n"
+"Project-Id-Version: vdr-skincurses 0.1.12\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
"PO-Revision-Date: 2010-02-22 18:18+0200\n"
"Last-Translator: Valdemaras Pipiras <varas@ambernet.lt>\n"
"Language-Team: Lithuanian <vdr@linuxtv.org>\n"
diff --git a/PLUGINS/src/skincurses/po/ru_RU.po b/PLUGINS/src/skincurses/po/ru_RU.po
index b550f29..fe04995 100644
--- a/PLUGINS/src/skincurses/po/ru_RU.po
+++ b/PLUGINS/src/skincurses/po/ru_RU.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-21 14:36+0200\n"
+"Project-Id-Version: vdr-skincurses 0.1.12\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
"PO-Revision-Date: 2008-03-14 00:21+0100\n"
"Last-Translator: Alexander Gross <Bikalexander@gmail.com>\n"
"Language-Team: Russian <vdr@linuxtv.org>\n"
diff --git a/PLUGINS/src/skincurses/po/sk_SK.po b/PLUGINS/src/skincurses/po/sk_SK.po
index e362f8e..0426c70 100644
--- a/PLUGINS/src/skincurses/po/sk_SK.po
+++ b/PLUGINS/src/skincurses/po/sk_SK.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-21 14:36+0200\n"
+"Project-Id-Version: vdr-skincurses 0.1.12\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
"PO-Revision-Date: 2009-09-30 12:52+0100\n"
"Last-Translator: Milan Hrala <hrala.milan@gmail.com>\n"
"Language-Team: Slovak <vdr@linuxtv.org>\n"
diff --git a/PLUGINS/src/status/Makefile b/PLUGINS/src/status/Makefile
index dd46ba6..fc8ef9e 100644
--- a/PLUGINS/src/status/Makefile
+++ b/PLUGINS/src/status/Makefile
@@ -1,51 +1,49 @@
#
# Makefile for a Video Disk Recorder plugin
#
-# $Id: Makefile 2.5 2012/03/11 15:34:20 kls Exp $
+# $Id: Makefile 2.10 2012/12/23 10:04:43 kls Exp $
# The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin.
# By default the main source file also carries this name.
-#
+
PLUGIN = status
### The version number of this plugin (taken from the main source file):
VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ print $$6 }' | sed -e 's/[";]//g')
-### The C++ compiler and options:
-
-CXX ?= g++
-CXXFLAGS ?= -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses
-
### The directory environment:
-VDRDIR ?= ../../..
-LIBDIR ?= ../../lib
+# 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 = $(DESTDIR)$(call PKGCFG,libdir)
+#
TMPDIR ?= /tmp
-### Make sure that necessary options are included:
-
-include $(VDRDIR)/Make.global
+### The compiler options:
-### Allow user defined options to overwrite defaults:
+export CFLAGS = $(call PKGCFG,cflags)
+export CXXFLAGS = $(call PKGCFG,cxxflags)
--include $(VDRDIR)/Make.config
+### The version number of VDR's plugin API:
-### The version number of VDR's plugin API (taken from VDR's "config.h"):
-
-APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
+APIVERSION = $(call PKGCFG,apiversion)
### The name of the distribution archive:
ARCHIVE = $(PLUGIN)-$(VERSION)
PACKAGE = vdr-$(ARCHIVE)
+### The name of the shared object file:
+
+SOFILE = libvdr-$(PLUGIN).so
+
### Includes and Defines (add further entries here):
-INCLUDES += -I$(VDRDIR)/include
+INCLUDES +=
-DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
+DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
### The object files (add further files here):
@@ -53,14 +51,14 @@ OBJS = $(PLUGIN).o
### The main target:
-all: libvdr-$(PLUGIN).so
+all: $(SOFILE)
### Implicit rules:
%.o: %.c
$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $<
-# Dependencies:
+### Dependencies:
MAKEDEP = $(CXX) -MM -MG
DEPFILE = .dependencies
@@ -71,9 +69,13 @@ $(DEPFILE): Makefile
### Targets:
-libvdr-$(PLUGIN).so: $(OBJS)
+$(SOFILE): $(OBJS)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
+
+install-lib: $(SOFILE)
+ install -D $^ $(LIBDIR)/$^.$(APIVERSION)
+
+install: install-lib
dist: clean
@-rm -rf $(TMPDIR)/$(ARCHIVE)
diff --git a/PLUGINS/src/svdrpdemo/Makefile b/PLUGINS/src/svdrpdemo/Makefile
index 5109b29..84eba02 100644
--- a/PLUGINS/src/svdrpdemo/Makefile
+++ b/PLUGINS/src/svdrpdemo/Makefile
@@ -1,51 +1,49 @@
#
# Makefile for a Video Disk Recorder plugin
#
-# $Id: Makefile 2.5 2012/03/11 15:34:22 kls Exp $
+# $Id: Makefile 2.10 2012/12/23 10:04:47 kls Exp $
# The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin.
# By default the main source file also carries this name.
-#
+
PLUGIN = svdrpdemo
### The version number of this plugin (taken from the main source file):
VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ print $$6 }' | sed -e 's/[";]//g')
-### The C++ compiler and options:
-
-CXX ?= g++
-CXXFLAGS ?= -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses
-
### The directory environment:
-VDRDIR ?= ../../..
-LIBDIR ?= ../../lib
+# 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 = $(DESTDIR)$(call PKGCFG,libdir)
+#
TMPDIR ?= /tmp
-### Make sure that necessary options are included:
-
-include $(VDRDIR)/Make.global
+### The compiler options:
-### Allow user defined options to overwrite defaults:
+export CFLAGS = $(call PKGCFG,cflags)
+export CXXFLAGS = $(call PKGCFG,cxxflags)
--include $(VDRDIR)/Make.config
+### The version number of VDR's plugin API:
-### The version number of VDR's plugin API (taken from VDR's "config.h"):
-
-APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
+APIVERSION = $(call PKGCFG,apiversion)
### The name of the distribution archive:
ARCHIVE = $(PLUGIN)-$(VERSION)
PACKAGE = vdr-$(ARCHIVE)
+### The name of the shared object file:
+
+SOFILE = libvdr-$(PLUGIN).so
+
### Includes and Defines (add further entries here):
-INCLUDES += -I$(VDRDIR)/include
+INCLUDES +=
-DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
+DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
### The object files (add further files here):
@@ -53,14 +51,14 @@ OBJS = $(PLUGIN).o
### The main target:
-all: libvdr-$(PLUGIN).so
+all: $(SOFILE)
### Implicit rules:
%.o: %.c
$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $<
-# Dependencies:
+### Dependencies:
MAKEDEP = $(CXX) -MM -MG
DEPFILE = .dependencies
@@ -71,9 +69,13 @@ $(DEPFILE): Makefile
### Targets:
-libvdr-$(PLUGIN).so: $(OBJS)
+$(SOFILE): $(OBJS)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
+
+install-lib: $(SOFILE)
+ install -D $^ $(LIBDIR)/$^.$(APIVERSION)
+
+install: install-lib
dist: clean
@-rm -rf $(TMPDIR)/$(ARCHIVE)
diff --git a/config.h b/config.h
index 5c962fb..3624d9d 100644
--- a/config.h
+++ b/config.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: config.h 2.57 2012/12/05 11:33:20 kls Exp $
+ * $Id: config.h 2.58 2012/12/11 09:59:16 kls Exp $
*/
#ifndef __CONFIG_H
@@ -22,13 +22,13 @@
// VDR's own version number:
-#define VDRVERSION "1.7.33"
-#define VDRVERSNUM 10733 // Version * 10000 + Major * 100 + Minor
+#define VDRVERSION "1.7.34"
+#define VDRVERSNUM 10734 // Version * 10000 + Major * 100 + Minor
// The plugin API's version number:
-#define APIVERSION "1.7.33"
-#define APIVERSNUM 10733 // Version * 10000 + Major * 100 + Minor
+#define APIVERSION "1.7.34"
+#define APIVERSNUM 10734 // Version * 10000 + Major * 100 + Minor
// When loading plugins, VDR searches them by their APIVERSION, which
// may be smaller than VDRVERSION in case there have been no changes to
diff --git a/libsi/Makefile b/libsi/Makefile
index 9d2d40d..dff5ca9 100644
--- a/libsi/Makefile
+++ b/libsi/Makefile
@@ -1,27 +1,16 @@
#
# Makefile for a libsi
#
-# $Id: Makefile 2.3 2012/01/18 12:31:40 kls Exp $
+# $Id: Makefile 2.4 2012/12/18 13:35:54 kls Exp $
-### The C++ compiler and options:
+### The archiver options:
-CXX ?= g++
-CXXFLAGS ?= -O2 -g -Wall -Woverloaded-virtual
AR ?= ar
ARFLAGS ?= ru
RANLIB ?= ranlib
-include ../Make.global
-include ../Make.config
-### The directory environment:
-
-INCLUDES +=
-
-DEFINES +=
-
-LIBS +=
-
### The object files (add further files here):
OBJS = util.o si.o section.o descriptor.o
@@ -31,7 +20,7 @@ OBJS = util.o si.o section.o descriptor.o
%.o: %.c
$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $<
-# Dependencies:
+### Dependencies:
MAKEDEP = $(CXX) -MM -MG
DEPFILE = .dependencies
diff --git a/menu.c b/menu.c
index e2d34ed..6c278b5 100644
--- a/menu.c
+++ b/menu.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: menu.c 2.71 2012/12/07 13:48:15 kls Exp $
+ * $Id: menu.c 2.72 2012/12/21 11:11:14 kls Exp $
*/
#include "menu.h"
@@ -172,7 +172,7 @@ public:
cMenuEditChannel::cMenuEditChannel(cChannel *Channel, bool New)
:cOsdMenu(tr("Edit channel"), 16)
{
- SetMenuCategory(mcChannel);
+ SetMenuCategory(mcChannelEdit);
channel = Channel;
sourceParam = NULL;
*name = 0;
@@ -878,7 +878,7 @@ eOSState cMenuFolder::ProcessKey(eKeys Key)
cMenuEditTimer::cMenuEditTimer(cTimer *Timer, bool New)
:cOsdMenu(tr("Edit timer"), 12)
{
- SetMenuCategory(mcTimer);
+ SetMenuCategory(mcTimerEdit);
file = NULL;
day = firstday = NULL;
timer = Timer;
@@ -1378,7 +1378,7 @@ const cEvent *cMenuWhatsOn::scheduleEvent = NULL;
cMenuWhatsOn::cMenuWhatsOn(const cSchedules *Schedules, bool Now, int CurrentChannelNr)
:cOsdMenu(Now ? tr("What's on now?") : tr("What's on next?"), CHNUMWIDTH, CHNAMWIDTH, 6, 4)
{
- SetMenuCategory(mcSchedule);
+ SetMenuCategory(Now ? mcScheduleNow : mcScheduleNext);
now = Now;
helpKeys = -1;
timerState = 0;
@@ -2120,7 +2120,7 @@ public:
cMenuRecording::cMenuRecording(const cRecording *Recording, bool WithButtons)
:cOsdMenu(tr("Recording info"))
{
- SetMenuCategory(mcRecording);
+ SetMenuCategory(mcRecordingInfo);
recording = Recording;
withButtons = WithButtons;
if (withButtons)
@@ -2534,6 +2534,7 @@ public:
cMenuSetupOSD::cMenuSetupOSD(void)
{
+ SetMenuCategory(mcSetupOsd);
osdLanguageIndex = I18nCurrentLanguage();
numSkins = Skins.Count();
skinIndex = originalSkinIndex = Skins.Current()->Index();
@@ -2683,6 +2684,7 @@ public:
cMenuSetupEPG::cMenuSetupEPG(void)
{
+ SetMenuCategory(mcSetupEpg);
for (numLanguages = 0; numLanguages < I18nLanguages()->Size() && data.EPGLanguages[numLanguages] >= 0; numLanguages++)
;
originalNumLanguages = numLanguages;
@@ -2779,6 +2781,7 @@ public:
cMenuSetupDVB::cMenuSetupDVB(void)
{
+ SetMenuCategory(mcSetupDvb);
for (numAudioLanguages = 0; numAudioLanguages < I18nLanguages()->Size() && data.AudioLanguages[numAudioLanguages] >= 0; numAudioLanguages++)
;
for (numSubtitleLanguages = 0; numSubtitleLanguages < I18nLanguages()->Size() && data.SubtitleLanguages[numSubtitleLanguages] >= 0; numSubtitleLanguages++)
@@ -2924,6 +2927,7 @@ public:
cMenuSetupLNB::cMenuSetupLNB(void)
:satCableNumbers(MAXDEVICES)
{
+ SetMenuCategory(mcSetupLnb);
satCableNumbers.FromString(data.DeviceBondings);
SetSection(tr("LNB"));
Setup();
@@ -3025,6 +3029,7 @@ public:
cMenuSetupCAM::cMenuSetupCAM(void)
{
+ SetMenuCategory(mcSetupCam);
SetSection(tr("CAM"));
SetCols(15);
SetHasHotkeys();
@@ -3103,6 +3108,7 @@ public:
cMenuSetupRecord::cMenuSetupRecord(void)
{
+ SetMenuCategory(mcSetupRecord);
pauseKeyHandlingTexts[0] = tr("do not pause live video");
pauseKeyHandlingTexts[1] = tr("confirm pause live video");
pauseKeyHandlingTexts[2] = tr("pause live video");
@@ -3139,6 +3145,7 @@ public:
cMenuSetupReplay::cMenuSetupReplay(void)
{
+ SetMenuCategory(mcSetupReplay);
SetSection(tr("Replay"));
Add(new cMenuEditBoolItem(tr("Setup.Replay$Multi speed mode"), &data.MultiSpeedMode));
Add(new cMenuEditBoolItem(tr("Setup.Replay$Show replay mode"), &data.ShowReplayMode));
@@ -3164,6 +3171,7 @@ public:
cMenuSetupMisc::cMenuSetupMisc(void)
{
+ SetMenuCategory(mcSetupMisc);
SetSection(tr("Miscellaneous"));
Add(new cMenuEditIntItem( tr("Setup.Miscellaneous$Min. event timeout (min)"), &data.MinEventTimeout));
Add(new cMenuEditIntItem( tr("Setup.Miscellaneous$Min. user inactivity (min)"), &data.MinUserInactivity));
@@ -3203,6 +3211,7 @@ public:
cMenuSetupPlugins::cMenuSetupPlugins(void)
{
+ SetMenuCategory(mcSetupPlugins);
SetSection(tr("Plugins"));
SetHasHotkeys();
for (int i = 0; ; i++) {
diff --git a/menuitems.c b/menuitems.c
index 416c2be..63f7589 100644
--- a/menuitems.c
+++ b/menuitems.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: menuitems.c 2.14 2012/04/08 11:20:37 kls Exp $
+ * $Id: menuitems.c 2.15 2012/12/23 13:44:05 kls Exp $
*/
#include "menuitems.h"
@@ -1152,6 +1152,7 @@ eOSState cMenuSetupPage::ProcessKey(eKeys Key)
void cMenuSetupPage::SetPlugin(cPlugin *Plugin)
{
+ SetMenuCategory(mcPluginSetup);
plugin = Plugin;
SetSection(cString::sprintf("%s '%s'", tr("Plugin"), plugin->Name()));
}
diff --git a/newplugin b/newplugin
index 59a9435..a7bd5fc 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.8 2012/03/11 15:34:26 kls Exp $
+# $Id: newplugin 2.14 2012/12/23 10:05:22 kls Exp $
$PLUGIN_NAME = $ARGV[0] || die "Usage: newplugin <name>\n";
@@ -65,48 +65,45 @@ $MAKEFILE = qq
# The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin.
# By default the main source file also carries this name.
-# IMPORTANT: the presence of this macro is important for the Make.config
-# file. So it must be defined, even if it is not used here!
-#
+
PLUGIN = $PLUGIN_NAME
### The version number of this plugin (taken from the main source file):
VERSION = \$(shell grep 'static const char \\*VERSION *=' \$(PLUGIN).c | awk '{ print \$\$6 }' | sed -e 's/[";]//g')
-### The C++ compiler and options:
-
-CXX ?= g++
-CXXFLAGS ?= -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses
-
### The directory environment:
-VDRDIR ?= ../../..
-LIBDIR ?= ../../lib
+# 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 = \$(DESTDIR)\$(call PKGCFG,libdir)
+LOCDIR = \$(DESTDIR)\$(call PKGCFG,locdir)
+#
TMPDIR ?= /tmp
-### Make sure that necessary options are included:
-
-include \$(VDRDIR)/Make.global
-
-### Allow user defined options to overwrite defaults:
+### The compiler options:
--include \$(VDRDIR)/Make.config
+export CFLAGS = \$(call PKGCFG,cflags)
+export CXXFLAGS = \$(call PKGCFG,cxxflags)
-### The version number of VDR's plugin API (taken from VDR's "config.h"):
+### The version number of VDR's plugin API:
-APIVERSION = \$(shell sed -ne '/define APIVERSION/s/^.*"\\(.*\\)".*\$\$/\\1/p' \$(VDRDIR)/config.h)
+APIVERSION = \$(call PKGCFG,apiversion)
### The name of the distribution archive:
ARCHIVE = \$(PLUGIN)-\$(VERSION)
PACKAGE = vdr-\$(ARCHIVE)
+### The name of the shared object file:
+
+SOFILE = libvdr-\$(PLUGIN).so
+
### Includes and Defines (add further entries here):
-INCLUDES += -I\$(VDRDIR)/include
+INCLUDES +=
-DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"\$(PLUGIN)"'
+DEFINES += -DPLUGIN_NAME_I18N='"\$(PLUGIN)"'
### The object files (add further files here):
@@ -114,7 +111,7 @@ OBJS = \$(PLUGIN).o
### The main target:
-all: libvdr-\$(PLUGIN).so i18n
+all: \$(SOFILE) i18n
### Implicit rules:
@@ -133,33 +130,38 @@ DEPFILE = .dependencies
### Internationalization (I18N):
PODIR = po
-LOCALEDIR = \$(VDRDIR)/locale
I18Npo = \$(wildcard \$(PODIR)/*.po)
-I18Nmsgs = \$(addprefix \$(LOCALEDIR)/, \$(addsuffix /LC_MESSAGES/vdr-\$(PLUGIN).mo, \$(notdir \$(foreach file, \$(I18Npo), \$(basename \$(file))))))
+I18Nmo = \$(addsuffix .mo, \$(foreach file, \$(I18Npo), \$(basename \$(file))))
+I18Nmsgs = \$(addprefix \$(LOCDIR)/, \$(addsuffix /LC_MESSAGES/vdr-\$(PLUGIN).mo, \$(notdir \$(foreach file, \$(I18Npo), \$(basename \$(file))))))
I18Npot = \$(PODIR)/\$(PLUGIN).pot
%.mo: %.po
msgfmt -c -o \$\@ \$<
\$(I18Npot): \$(wildcard *.c)
- xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=vdr-\$(PLUGIN) --package-version=\$(VERSION) --msgid-bugs-address='<see README>' -o \$\@ \$^
+ xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=vdr-\$(PLUGIN) --package-version=\$(VERSION) --msgid-bugs-address='<see README>' -o \$\@ `ls \$^`
%.po: \$(I18Npot)
- msgmerge -U --no-wrap --no-location --backup=none -q \$\@ \$<
+ msgmerge -U --no-wrap --no-location --backup=none -q -N \$\@ \$<
\@touch \$\@
-\$(I18Nmsgs): \$(LOCALEDIR)/%/LC_MESSAGES/vdr-\$(PLUGIN).mo: \$(PODIR)/%.mo
- \@mkdir -p \$(dir \$@)
- cp \$< \$\@
+\$(I18Nmsgs): \$(LOCDIR)/%/LC_MESSAGES/vdr-\$(PLUGIN).mo: \$(PODIR)/%.mo
+ install -D -m644 \$< \$\@
.PHONY: i18n
-i18n: \$(I18Nmsgs) \$(I18Npot)
+i18n: \$(I18Nmo) \$(I18Npot)
+
+install-i18n: \$(I18Nmsgs)
### Targets:
-libvdr-\$(PLUGIN).so: \$(OBJS)
+\$(SOFILE): \$(OBJS)
\$(CXX) \$(CXXFLAGS) \$(LDFLAGS) -shared \$(OBJS) -o \$\@
- \@cp --remove-destination \$\@ \$(LIBDIR)/\$\@.\$(APIVERSION)
+
+install-lib: \$(SOFILE)
+ install -D \$^ \$(LIBDIR)/\$^.\$(APIVERSION)
+
+install: install-lib install-i18n
dist: \$(I18Npo) clean
\@-rm -rf \$(TMPDIR)/\$(ARCHIVE)
@@ -170,7 +172,8 @@ dist: \$(I18Npo) clean
\@echo Distribution package created as \$(PACKAGE).tgz
clean:
- \@-rm -f \$(OBJS) \$(DEPFILE) *.so *.tgz core* *~ \$(PODIR)/*.mo \$(PODIR)/*.pot
+ \@-rm -f \$(PODIR)/*.mo \$(PODIR)/*.pot
+ \@-rm -f \$(OBJS) \$(DEPFILE) *.so *.tgz core* *~
};
$MAIN = qq
@@ -349,4 +352,3 @@ sub CreateFile
print FILE $Content;
close(FILE);
}
-
diff --git a/osd.c b/osd.c
index d82a27b..75f13f4 100644
--- a/osd.c
+++ b/osd.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: osd.c 2.32 2012/06/09 14:37:24 kls Exp $
+ * $Id: osd.c 2.33 2012/12/15 11:16:41 kls Exp $
*/
#include "osd.h"
@@ -1683,9 +1683,7 @@ void cOsd::SetAntiAliasGranularity(uint FixedColors, uint BlendColors)
cBitmap *cOsd::GetBitmap(int Area)
{
- if (isTrueColor)
- Area = 0; // returns the dummy bitmap
- return Area < numBitmaps ? bitmaps[Area] : NULL;
+ return Area < numBitmaps ? (isTrueColor ? bitmaps[0] : bitmaps[Area]) : NULL;
}
cPixmap *cOsd::CreatePixmap(int Layer, const cRect &ViewPort, const cRect &DrawPort)
diff --git a/po/ar.po b/po/ar.po
index 43b1c65..946cc66 100644
--- a/po/ar.po
+++ b/po/ar.po
@@ -1418,6 +1418,3 @@ msgstr "القرص الصلب"
msgid "free"
msgstr "مساحة حرة"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "حدث خطاء عند محاولة الوصول لتسجيلات"
diff --git a/po/ca_ES.po b/po/ca_ES.po
index ea4dc9d..437542f 100644
--- a/po/ca_ES.po
+++ b/po/ca_ES.po
@@ -1392,6 +1392,3 @@ msgstr "Disc"
msgid "free"
msgstr "lliure"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Error a l'accedir a la gravaci!"
diff --git a/po/cs_CZ.po b/po/cs_CZ.po
index 2facfbd..b0d5b7d 100644
--- a/po/cs_CZ.po
+++ b/po/cs_CZ.po
@@ -1391,6 +1391,3 @@ msgstr "Disk"
msgid "free"
msgstr "volno"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Chyba při přístupu k nahrávkám!"
diff --git a/po/da_DK.po b/po/da_DK.po
index cbe950f..6ca6c86 100644
--- a/po/da_DK.po
+++ b/po/da_DK.po
@@ -1389,6 +1389,3 @@ msgstr "Disk"
msgid "free"
msgstr "fri"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Fejl ved lsning af optagelse!"
diff --git a/po/de_DE.po b/po/de_DE.po
index 1177d93..5476d9c 100644
--- a/po/de_DE.po
+++ b/po/de_DE.po
@@ -1389,6 +1389,3 @@ msgstr "Disk"
msgid "free"
msgstr "frei"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Fehler beim Ansprechen der Aufzeichnung!"
diff --git a/po/el_GR.po b/po/el_GR.po
index 05f9e71..bf8933e 100644
--- a/po/el_GR.po
+++ b/po/el_GR.po
@@ -1389,6 +1389,3 @@ msgstr ""
msgid "free"
msgstr ""
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr " !"
diff --git a/po/es_ES.po b/po/es_ES.po
index 9885f84..6a6f4e4 100644
--- a/po/es_ES.po
+++ b/po/es_ES.po
@@ -1390,6 +1390,3 @@ msgstr "Disco"
msgid "free"
msgstr "libre"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Error al acceder a la grabacin!"
diff --git a/po/et_EE.po b/po/et_EE.po
index d9b0d77..1d34236 100644
--- a/po/et_EE.po
+++ b/po/et_EE.po
@@ -23,7 +23,7 @@ msgid "Channel not available!"
msgstr "Kanal ei ole kättesaadav!"
msgid "Can't start Transfer Mode!"
-msgstr "Siirderežiimi start nurjus!"
+msgstr "Siirderežiimi start ebaõnnestus!"
msgid "off"
msgstr "väljas"
@@ -411,7 +411,7 @@ msgid "Key$Info"
msgstr "Info"
msgid "Key$Play/Pause"
-msgstr ""
+msgstr "Start/Paus"
msgid "Key$Play"
msgstr "Start"
@@ -748,7 +748,7 @@ msgid "Recording is being edited - really delete?"
msgstr "Salvestust on muudetud - kas kustutada?"
msgid "Error while deleting recording!"
-msgstr "Salvestuse kustutamine nurjus!"
+msgstr "Salvestuse kustutamine ebaõnnestus!"
msgid "Recording commands"
msgstr "Salvestuse käsud"
@@ -850,16 +850,16 @@ msgid "Setup.OSD$Number keys for characters"
msgstr "Teksti sisestamine numbriklahvidega"
msgid "Setup.OSD$Color key 0"
-msgstr ""
+msgstr "Värviklahv 0"
msgid "Setup.OSD$Color key 1"
-msgstr ""
+msgstr "Värviklahv 1"
msgid "Setup.OSD$Color key 2"
-msgstr ""
+msgstr "Värviklahv 2"
msgid "Setup.OSD$Color key 3"
-msgstr ""
+msgstr "Värviklahv 3"
msgid "EPG"
msgstr "EPG"
@@ -930,7 +930,7 @@ msgid "Setup.DVB$Primary DVB interface"
msgstr "Esmane DVB seade"
msgid "Setup.DVB$Standard compliance"
-msgstr ""
+msgstr "Standardivastavavus"
msgid "Setup.DVB$Video format"
msgstr "TV külgsuhe"
@@ -1018,7 +1018,7 @@ msgid "CAM is in use - really reset?"
msgstr "CAM on kasutuses - taaskäivitada?"
msgid "Can't reset CAM!"
-msgstr "CAM mooduli taaskäivitus nurjus!"
+msgstr "CAM mooduli taaskäivitus ebaõnnestus!"
msgid "do not pause live video"
msgstr "mitte peatada"
@@ -1078,16 +1078,16 @@ msgid "Setup.Recording$Instant rec. time (min)"
msgstr "Kiirsalvestuse kestus (min)"
msgid "Setup.Recording$present event"
-msgstr ""
+msgstr "hetkesündmus"
msgid "Setup.Recording$Max. video file size (MB)"
msgstr "Maks. failisuurus (MB)"
msgid "Setup.Recording$Split edited files"
-msgstr "Failide jupitamine"
+msgstr "Redigeeritud failide tükeldamine"
msgid "Setup.Recording$Delete timeshift recording"
-msgstr "Kustutada ajanihke salvestus"
+msgstr "Ajanihke salvestuse kustutamine"
msgid "Replay"
msgstr "Taasesitus"
@@ -1102,10 +1102,10 @@ msgid "Setup.Replay$Show remaining time"
msgstr "Järelejäänud aja kuvamine"
msgid "Setup.Replay$Progress display time (s)"
-msgstr ""
+msgstr "Edenemiseriba kuvamise aeg (s)"
msgid "Setup.Replay$Pause replay when setting mark"
-msgstr ""
+msgstr "Taasesituse peatamine markeri seadmisel"
msgid "Setup.Replay$Resume ID"
msgstr "Jätkamise ID"
@@ -1141,7 +1141,7 @@ msgid "Setup.Miscellaneous$Channels wrap"
msgstr "Kanalite ringkerimine"
msgid "Setup.Miscellaneous$Show channel names with source"
-msgstr ""
+msgstr "Kanalinimed allikaga"
msgid "Setup.Miscellaneous$Emergency exit"
msgstr "Hädaväljumine"
@@ -1220,10 +1220,10 @@ msgid "No editing marks defined!"
msgstr "Redigeerimise markerid puuduvad!"
msgid "No editing sequences defined!"
-msgstr ""
+msgstr "Redigeerimise järjestus puudub!"
msgid "Can't start editing process!"
-msgstr "Redigeerimise start nurjus!"
+msgstr "Redigeerimise start ebaõnnestus!"
msgid "Editing process started"
msgstr "Redigeerimine käivitatud"
@@ -1265,10 +1265,10 @@ msgid "Index file regeneration complete"
msgstr "Indeksfaili regenereerimine lõpetatud"
msgid "Index file regeneration failed!"
-msgstr ""
+msgstr "Indeksfaili regenereerimine ebaõnnestus!"
msgid "Can't shutdown - option '-s' not given!"
-msgstr "Väljalülitamine nurjus - '-s' parameeter puudub!"
+msgstr "Väljalülitamine ebaõnnestus - '-s' parameeter puudub!"
msgid "Editing - shut down anyway?"
msgstr "Redigeerimine aktiive - lülitada välja?"
@@ -1304,22 +1304,22 @@ msgid "Classic VDR"
msgstr "Classic VDR"
msgid "DISK"
-msgstr ""
+msgstr "KETAS"
msgid "LOAD"
-msgstr ""
+msgstr "KOORMUS"
msgid "TIMERS"
-msgstr ""
+msgstr "TAIMERID"
msgid "DEVICES"
-msgstr ""
+msgstr "SEADMED"
msgid "LIVE"
-msgstr ""
+msgstr "LIVE"
msgid "PLAY"
-msgstr ""
+msgstr "ESITUS"
msgid "ST:TNG Panels"
msgstr "ST:TNG Panels"
@@ -1372,7 +1372,7 @@ msgid "Switching primary DVB..."
msgstr "Esmase DVB seadme ümberlülitus..."
msgid "Editing process failed!"
-msgstr "Redigeerimine nurjus"
+msgstr "Redigeerimine ebaõnnestus!"
msgid "Editing process finished"
msgstr "Redigeerimine lõpetatud"
@@ -1389,6 +1389,3 @@ msgstr "Ketas"
msgid "free"
msgstr "vaba"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Salvestuse taasesitus nurjus!"
diff --git a/po/fi_FI.po b/po/fi_FI.po
index 0dd0d59..9a9fa74 100644
--- a/po/fi_FI.po
+++ b/po/fi_FI.po
@@ -1392,6 +1392,3 @@ msgstr "Levy"
msgid "free"
msgstr "vapaana"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Tallenteen toistaminen epäonnistui!"
diff --git a/po/fr_FR.po b/po/fr_FR.po
index 0ded14e..55983d4 100644
--- a/po/fr_FR.po
+++ b/po/fr_FR.po
@@ -1395,6 +1395,3 @@ msgstr "Disque"
msgid "free"
msgstr "restant"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Impossible d'accder l'enregistrement"
diff --git a/po/hr_HR.po b/po/hr_HR.po
index c7c6571..b7b2d4f 100644
--- a/po/hr_HR.po
+++ b/po/hr_HR.po
@@ -1391,6 +1391,3 @@ msgstr "Disk"
msgid "free"
msgstr "slobodno"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Greka pri pristupanju snimke!"
diff --git a/po/hu_HU.po b/po/hu_HU.po
index 19aec43..919d3b2 100644
--- a/po/hu_HU.po
+++ b/po/hu_HU.po
@@ -1393,6 +1393,3 @@ msgstr "Lemez"
msgid "free"
msgstr "szabad"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Hiba a felvtel hozzfrsnl"
diff --git a/po/it_IT.po b/po/it_IT.po
index 6d0bd7c..8df7150 100644
--- a/po/it_IT.po
+++ b/po/it_IT.po
@@ -12,7 +12,7 @@ msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
-"PO-Revision-Date: 2012-06-06 22:50+0100\n"
+"PO-Revision-Date: 2012-12-22 19:00+0100\n"
"Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
"Language-Team: Italian <vdr@linuxtv.org>\n"
"Language: it\n"
@@ -418,7 +418,7 @@ msgid "Key$Info"
msgstr "Info"
msgid "Key$Play/Pause"
-msgstr ""
+msgstr "Riproduci/Pausa"
msgid "Key$Play"
msgstr "Riproduci"
@@ -857,16 +857,16 @@ msgid "Setup.OSD$Number keys for characters"
msgstr "Tasti numerici per i caratteri"
msgid "Setup.OSD$Color key 0"
-msgstr ""
+msgstr "Tasto colore 0"
msgid "Setup.OSD$Color key 1"
-msgstr ""
+msgstr "Tasto colore 1"
msgid "Setup.OSD$Color key 2"
-msgstr ""
+msgstr "Tasto colore 2"
msgid "Setup.OSD$Color key 3"
-msgstr ""
+msgstr "Tasto colore 3"
msgid "EPG"
msgstr "Guida programmi EPG"
@@ -1085,7 +1085,7 @@ msgid "Setup.Recording$Instant rec. time (min)"
msgstr "Durata reg. immediata (min)"
msgid "Setup.Recording$present event"
-msgstr ""
+msgstr "evento attuale"
msgid "Setup.Recording$Max. video file size (MB)"
msgstr "Dim. massima file video (MB)"
@@ -1109,10 +1109,10 @@ msgid "Setup.Replay$Show remaining time"
msgstr "Mostra tempo rimanente"
msgid "Setup.Replay$Progress display time (s)"
-msgstr ""
+msgstr "Mostra tempo elaborazione (s)"
msgid "Setup.Replay$Pause replay when setting mark"
-msgstr ""
+msgstr "Pausa riproduzione durante impostazione segni"
msgid "Setup.Replay$Resume ID"
msgstr "ID di ripristino"
@@ -1148,7 +1148,7 @@ msgid "Setup.Miscellaneous$Channels wrap"
msgstr "Riavvolgimento canali"
msgid "Setup.Miscellaneous$Show channel names with source"
-msgstr ""
+msgstr "Mostra nomi canali con la sorgente"
msgid "Setup.Miscellaneous$Emergency exit"
msgstr "Uscita di emergenza"
@@ -1227,7 +1227,7 @@ msgid "No editing marks defined!"
msgstr "Nessun marcatore di modifica definito!"
msgid "No editing sequences defined!"
-msgstr ""
+msgstr "Nessuna sequenza di modifica definita!"
msgid "Can't start editing process!"
msgstr "Impossibile avviare il processo di modifica!"
@@ -1272,7 +1272,7 @@ msgid "Index file regeneration complete"
msgstr "Rigenerazione file indice completata"
msgid "Index file regeneration failed!"
-msgstr ""
+msgstr "Rigenerazione file indice fallita!"
msgid "Can't shutdown - option '-s' not given!"
msgstr "Impossibile spegnere - parametro '-s' non assegnato!"
@@ -1396,6 +1396,3 @@ msgstr "Disco"
msgid "free"
msgstr "disponibili"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Errore accesso alla registrazione!"
diff --git a/po/lt_LT.po b/po/lt_LT.po
index d2edb6e..931900f 100644
--- a/po/lt_LT.po
+++ b/po/lt_LT.po
@@ -1389,6 +1389,3 @@ msgstr "Diskas"
msgid "free"
msgstr "laisva"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Klaida atidarant įrašą!"
diff --git a/po/mk_MK.po b/po/mk_MK.po
index 8a6dc58..b7570b6 100644
--- a/po/mk_MK.po
+++ b/po/mk_MK.po
@@ -1390,6 +1390,3 @@ msgstr "Диск"
msgid "free"
msgstr "слободен"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Грешка при пристап до снимката!"
diff --git a/po/nl_NL.po b/po/nl_NL.po
index 958411c..a7dbadf 100644
--- a/po/nl_NL.po
+++ b/po/nl_NL.po
@@ -1393,6 +1393,3 @@ msgstr "Schijf"
msgid "free"
msgstr "vrij"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Fout bij lezen opname!"
diff --git a/po/nn_NO.po b/po/nn_NO.po
index 2aa373e..aeeb0bb 100644
--- a/po/nn_NO.po
+++ b/po/nn_NO.po
@@ -1390,6 +1390,3 @@ msgstr "Disk"
msgid "free"
msgstr "ledig"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Feil under lesing av opptak!"
diff --git a/po/pl_PL.po b/po/pl_PL.po
index 0e6f098..c4e36d7 100644
--- a/po/pl_PL.po
+++ b/po/pl_PL.po
@@ -1390,6 +1390,3 @@ msgstr "Dysk"
msgid "free"
msgstr "wolnego"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Bld podczas dostpu do nagrania!"
diff --git a/po/pt_PT.po b/po/pt_PT.po
index e132769..44f1035 100644
--- a/po/pt_PT.po
+++ b/po/pt_PT.po
@@ -1390,6 +1390,3 @@ msgstr "Disco"
msgid "free"
msgstr "livre"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Erro a aceder s gravaes!"
diff --git a/po/ro_RO.po b/po/ro_RO.po
index d5d6421..ffdb44c 100644
--- a/po/ro_RO.po
+++ b/po/ro_RO.po
@@ -1392,6 +1392,3 @@ msgstr "Disc"
msgid "free"
msgstr "liber"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Eroare la accesarea înregistrării"
diff --git a/po/ru_RU.po b/po/ru_RU.po
index 892cfe7..42bdcc9 100644
--- a/po/ru_RU.po
+++ b/po/ru_RU.po
@@ -1390,6 +1390,3 @@ msgstr ""
msgid "free"
msgstr ""
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr " !"
diff --git a/po/sk_SK.po b/po/sk_SK.po
index 48d882b..118747a 100644
--- a/po/sk_SK.po
+++ b/po/sk_SK.po
@@ -1389,6 +1389,3 @@ msgstr "Disk"
msgid "free"
msgstr "volne"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Chyba pri prstupe k nahrvkam!"
diff --git a/po/sl_SI.po b/po/sl_SI.po
index 75514bc..d3ef84c 100644
--- a/po/sl_SI.po
+++ b/po/sl_SI.po
@@ -1390,6 +1390,3 @@ msgstr "Disk"
msgid "free"
msgstr "prosto"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Napaka pri dostopu do posnetka!"
diff --git a/po/sr_SR.po b/po/sr_SR.po
index 5119647..0a73f12 100644
--- a/po/sr_SR.po
+++ b/po/sr_SR.po
@@ -1416,6 +1416,3 @@ msgstr "Disk"
msgid "free"
msgstr "slobodno"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Greka prilikom pristupa snimanju!"
diff --git a/po/sv_SE.po b/po/sv_SE.po
index 067adf5..3c49646 100644
--- a/po/sv_SE.po
+++ b/po/sv_SE.po
@@ -1392,6 +1392,3 @@ msgstr "Disk"
msgid "free"
msgstr "ledigt"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Inspelningen gr inte att lsa!"
diff --git a/po/tr_TR.po b/po/tr_TR.po
index 78177e7..8b83d5f 100644
--- a/po/tr_TR.po
+++ b/po/tr_TR.po
@@ -1389,6 +1389,3 @@ msgstr "Disk"
msgid "free"
msgstr "bo"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Kayt okuma hatas!"
diff --git a/po/uk_UA.po b/po/uk_UA.po
index edc5a7c..21ef790 100644
--- a/po/uk_UA.po
+++ b/po/uk_UA.po
@@ -1389,6 +1389,3 @@ msgstr "Диск"
msgid "free"
msgstr "вільно"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Помилка доступу до запису!"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 73e84fd..a03396e 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -1392,6 +1392,3 @@ msgstr "硬盘已使用"
msgid "free"
msgstr "可录像时间"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "存取录像错误!"
diff --git a/recording.c b/recording.c
index 87ca8ef..ca50f43 100644
--- a/recording.c
+++ b/recording.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: recording.c 2.78 2012/12/06 09:35:13 kls Exp $
+ * $Id: recording.c 2.81 2012/12/23 15:11:28 kls Exp $
*/
#include "recording.h"
@@ -1666,7 +1666,8 @@ void cIndexFileGenerator::Action(void)
#define INDEXFILESUFFIX "/index"
// The maximum time to wait before giving up while catching up on an index file:
-#define MAXINDEXCATCHUP 8 // seconds
+#define MAXINDEXCATCHUP 8 // number of retries
+#define INDEXCATCHUPWAIT 100 // milliseconds
struct tIndexPes {
uint32_t offset;
@@ -1693,9 +1694,6 @@ struct tIndexTs {
#define INDEXFILECHECKINTERVAL 500 // ms between checks for existence of the regenerated index file
#define INDEXFILETESTINTERVAL 10 // ms between tests for the size of the index file in case of pausing live video
-cMutex cIndexFile::indexListMutex;
-cVector<const cIndexFile *> cIndexFile::indexList;
-
cIndexFile::cIndexFile(const char *FileName, bool Record, bool IsPesRecording, bool PauseLive)
:resumeFile(FileName, IsPesRecording)
{
@@ -1776,13 +1774,10 @@ cIndexFile::cIndexFile(const char *FileName, bool Record, bool IsPesRecording, b
LOG_ERROR_STR(*fileName);
}
}
- if (Record)
- AddToIndexList(this);
}
cIndexFile::~cIndexFile()
{
- RemoveFromIndexList(this);
if (f >= 0)
close(f);
free(index);
@@ -1824,14 +1819,11 @@ bool cIndexFile::CatchUp(int Index)
// returns true unless something really goes wrong, so that 'index' becomes NULL
if (index && f >= 0) {
cMutexLock MutexLock(&mutex);
- for (int i = 0; i <= MAXINDEXCATCHUP && (Index < 0 || Index > last); i++) {
+ // Note that CatchUp() is triggered even if Index is 'last' (and thus valid).
+ // This is done to make absolutely sure we don't miss any data at the very end.
+ for (int i = 0; i <= MAXINDEXCATCHUP && (Index < 0 || Index >= last); i++) {
struct stat buf;
if (fstat(f, &buf) == 0) {
- if (!IsInIndexList(this)) {
- close(f);
- f = -1;
- break;
- }
int newLast = int(buf.st_size / sizeof(tIndexTs) - 1);
if (newLast > last) {
int NewSize = size;
@@ -1869,9 +1861,9 @@ bool cIndexFile::CatchUp(int Index)
}
else
LOG_ERROR_STR(*fileName);
- if (Index <= last)
+ if (Index < last)
break;
- cCondWait::SleepMs(1000);
+ cCondWait::SleepMs(INDEXCATCHUPWAIT);
}
}
return index != NULL;
@@ -1937,15 +1929,16 @@ int cIndexFile::GetNextIFrame(int Index, bool Forward, uint16_t *FileNumber, off
*FileNumber = index[Index].number;
*FileOffset = index[Index].offset;
if (Length) {
- // all recordings end with a non-independent frame, so the following should be safe:
- uint16_t fn = index[Index + 1].number;
- off_t fo = index[Index + 1].offset;
- if (fn == *FileNumber)
- *Length = int(fo - *FileOffset);
- else {
- esyslog("ERROR: 'I' frame at end of file #%d", *FileNumber);
- *Length = -1;
+ if (Index < last) {
+ uint16_t fn = index[Index + 1].number;
+ off_t fo = index[Index + 1].offset;
+ if (fn == *FileNumber)
+ *Length = int(fo - *FileOffset);
+ else
+ *Length = -1; // this means "everything up to EOF" (the buffer's Read function will act accordingly)
}
+ else
+ *Length = -1;
}
return Index;
}
@@ -2025,39 +2018,6 @@ int cIndexFile::GetLength(const char *FileName, bool IsPesRecording)
return -1;
}
-void cIndexFile::AddToIndexList(const cIndexFile *IndexFile)
-{
- cMutexLock MutexLock(&indexListMutex);
- for (int i = 0; i < indexList.Size(); i++) {
- if (!indexList[i]) {
- indexList[i] = IndexFile;
- return;
- }
- }
- indexList.Append(IndexFile);
-}
-
-void cIndexFile::RemoveFromIndexList(const cIndexFile *IndexFile)
-{
- cMutexLock MutexLock(&indexListMutex);
- for (int i = 0; i < indexList.Size(); i++) {
- if (indexList[i] == IndexFile) {
- indexList[i] = NULL;
- return;
- }
- }
-}
-
-bool cIndexFile::IsInIndexList(const cIndexFile *IndexFile)
-{
- cMutexLock MutexLock(&indexListMutex);
- for (int i = 0; i < indexList.Size(); i++) {
- if (indexList[i] && !strcmp(indexList[i]->fileName, IndexFile->fileName))
- return true;
- }
- return false;
-}
-
bool GenerateIndex(const char *FileName)
{
if (DirectoryOk(FileName)) {
diff --git a/recording.h b/recording.h
index 9ae9b1e..f555024 100644
--- a/recording.h
+++ b/recording.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: recording.h 2.40 2012/11/13 11:43:59 kls Exp $
+ * $Id: recording.h 2.41 2012/12/23 15:11:53 kls Exp $
*/
#ifndef __RECORDING_H
@@ -292,11 +292,6 @@ private:
cResumeFile resumeFile;
cIndexFileGenerator *indexFileGenerator;
cMutex mutex;
- static cMutex indexListMutex;
- static cVector<const cIndexFile *> indexList;
- static void AddToIndexList(const cIndexFile *IndexFile);
- static void RemoveFromIndexList(const cIndexFile *IndexFile);
- static bool IsInIndexList(const cIndexFile *IndexFile);
void ConvertFromPes(tIndexTs *IndexTs, int Count);
void ConvertToPes(tIndexTs *IndexTs, int Count);
bool CatchUp(int Index = -1);
diff --git a/skins.h b/skins.h
index 2506126..c9750b8 100644
--- a/skins.h
+++ b/skins.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: skins.h 2.7 2012/12/07 17:18:44 kls Exp $
+ * $Id: skins.h 2.9 2012/12/21 11:09:13 kls Exp $
*/
#ifndef __SKINS_H
@@ -73,7 +73,37 @@ public:
*/
};
-enum eMenuCategory { mcUndefined = -1, mcUnknown = 0, mcMain, mcSchedule, mcChannel, mcTimer, mcRecording, mcPlugin, mcSetup, mcCommand, mcEvent, mcText, mcFolder, mcCam };
+enum eMenuCategory {
+ mcUndefined = -1,
+ mcUnknown = 0,
+ mcMain,
+ mcSchedule,
+ mcScheduleNow,
+ mcScheduleNext,
+ mcChannel,
+ mcChannelEdit,
+ mcTimer,
+ mcTimerEdit,
+ mcRecording,
+ mcRecordingInfo,
+ mcPlugin,
+ mcPluginSetup,
+ mcSetup,
+ mcSetupOsd,
+ mcSetupEpg,
+ mcSetupDvb,
+ mcSetupLnb,
+ mcSetupCam,
+ mcSetupRecord,
+ mcSetupReplay,
+ mcSetupMisc,
+ mcSetupPlugins,
+ mcCommand,
+ mcEvent,
+ mcText,
+ mcFolder,
+ mcCam
+ };
class cSkinDisplayMenu : public cSkinDisplay {
///< This class implements the general purpose menu display, which is
@@ -153,7 +183,7 @@ public:
///< this function will be first called for the old current item
///< with Current set to false, and then for the new current item
///< with Current set to true.
- virtual bool SetItemEvent(const cEvent *Event, int Index, bool Current, bool Selectable, const cChannel *Channel, bool WithDate, int TimerMatch) { return false; }
+ virtual bool SetItemEvent(const cEvent *Event, int Index, bool Current, bool Selectable, const cChannel *Channel, bool WithDate, eTimerMatch TimerMatch) { return false; }
///< Sets the item at the given Index to Event. See SetItem() for more information.
///< If a derived skin class implements this function, it can display an Event item
///< in a more elaborate way than just a simple line of text.