mirror of
https://github.com/vdr-projects/vdr.git
synced 2025-03-01 10:50:46 +00:00
- Added missing install-i18n to the install target in the Makefile (reported by Joachim Wilke). - Fixed a faulty comment in Make.config.template (reported by Marco Schlüßler). - Improved i18n-to-gettext.pl (thanks to Matthias Schwarzott). - Moved the "all" target in plugin Makefiles before the "Implicit rules", so that a plain "make" will compile everything (suggested by Matthias Schwarzott). The "newplugin" script has been changed accordingly. Plugin authors may want to change their Makefiles, too. - Added DESTDIR and PREFIX handling to the Makefile (thanks to Matthias Schwarzott). - Updated the Finnish OSD texts (thanks to Rolf Ahrenberg). - Added internationalization to the "skincurses" plugin (thanks to Rolf Ahrenberg). - Checking the string for NULL in I18nTranslate(). - Updated the French OSD texts (thanks to Bruno Roussel). - Some optimizations in cDvbDevice::SetChannelDevice() (thanks to Tobias Bratfisch). - Optimized cMenuEditChrItem::Set() (thanks to Tobias Bratfisch). - Optimized cNitFilter::Process() (thanks to Tobias Bratfisch). - Reduced the number of time(NULL) calls in vdr.c's main loop to a single call (thanks to Tobias Bratfisch). - Changed cBitmap::DrawText() to always draw the background unless ColorBg is clrTransparent (thanks to Christoph Haubrich). - The "Setup/OSD/Language" menu now only shows those languages that actually have a locale (suggested by Anssi Hannula). - Now using setenv() instead of setlocale() to set the language for gettext() (suggested by Anssi Hannula; thanks also to Ludwig Nussel for a hint on using _nl_msg_cat_cntr). - When scanning the locale directory, VDR now explicitly looks for a file named vdr.mo. Text files for plugins are now named "vdr-name.mo", when "name" is the name of the plugin. The "newplugin" script has been changed accordingly, and plugin authors should change their Makefiles, too.
110 lines
2.7 KiB
Makefile
110 lines
2.7 KiB
Makefile
#
|
|
# Makefile for a Video Disk Recorder plugin
|
|
#
|
|
# $Id: Makefile 1.11 2007/08/19 14:19:07 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 = 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 ?= -fPIC -g -O2 -Wall -Woverloaded-virtual
|
|
|
|
### The directory environment:
|
|
|
|
VDRDIR = ../../..
|
|
LIBDIR = ../../lib
|
|
TMPDIR = /tmp
|
|
|
|
### Allow user defined options to overwrite defaults:
|
|
|
|
-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)
|
|
|
|
### The name of the distribution archive:
|
|
|
|
ARCHIVE = $(PLUGIN)-$(VERSION)
|
|
PACKAGE = vdr-$(ARCHIVE)
|
|
|
|
### Includes and Defines (add further entries here):
|
|
|
|
INCLUDES += -I$(VDRDIR)/include
|
|
|
|
DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
|
|
|
|
### The object files (add further files here):
|
|
|
|
OBJS = $(PLUGIN).o
|
|
|
|
### The main target:
|
|
|
|
all: libvdr-$(PLUGIN).so i18n
|
|
|
|
### Implicit rules:
|
|
|
|
%.o: %.c
|
|
$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $<
|
|
|
|
# Dependencies:
|
|
|
|
MAKEDEP = g++ -MM -MG
|
|
DEPFILE = .dependencies
|
|
$(DEPFILE): Makefile
|
|
@$(MAKEDEP) $(DEFINES) $(INCLUDES) $(OBJS:%.o=%.c) > $@
|
|
|
|
-include $(DEPFILE)
|
|
|
|
### Internationalization (I18N):
|
|
|
|
PODIR = po
|
|
LOCALEDIR = $(VDRDIR)/locale
|
|
I18Npo = $(wildcard $(PODIR)/*.po)
|
|
I18Nmo = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file))))
|
|
I18Ndirs = $(notdir $(foreach file, $(I18Npo), $(basename $(file))))
|
|
I18Npot = $(PODIR)/$(PLUGIN).pot
|
|
|
|
%.mo: %.po
|
|
msgfmt -c -o $@ $<
|
|
|
|
$(I18Npot): $(wildcard *.c)
|
|
xgettext -C -cTRANSLATORS --no-wrap -F -k -ktr -ktrNOOP --msgid-bugs-address='<vdr-bugs@cadsoft.de>' -o $@ $(wildcard *.c)
|
|
|
|
$(I18Npo): $(I18Npot)
|
|
msgmerge -U --no-wrap -F --backup=none -q $@ $<
|
|
|
|
i18n: $(I18Nmo)
|
|
@mkdir -p $(LOCALEDIR)
|
|
for i in $(I18Ndirs); do\
|
|
mkdir -p $(LOCALEDIR)/$$i/LC_MESSAGES;\
|
|
cp $(PODIR)/$$i.mo $(LOCALEDIR)/$$i/LC_MESSAGES/vdr-$(PLUGIN).mo;\
|
|
done
|
|
|
|
### Targets:
|
|
|
|
libvdr-$(PLUGIN).so: $(OBJS)
|
|
$(CXX) $(CXXFLAGS) -shared $(OBJS) -lncursesw -o $@
|
|
@cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
|
|
|
|
dist: clean
|
|
@-rm -rf $(TMPDIR)/$(ARCHIVE)
|
|
@mkdir $(TMPDIR)/$(ARCHIVE)
|
|
@cp -a * $(TMPDIR)/$(ARCHIVE)
|
|
@tar czf $(PACKAGE).tgz -C $(TMPDIR) $(ARCHIVE)
|
|
@-rm -rf $(TMPDIR)/$(ARCHIVE)
|
|
@echo Distribution package created as $(PACKAGE).tgz
|
|
|
|
clean:
|
|
@-rm -f $(PODIR)/*.mo $(PODIR)/*.pot
|
|
@-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~
|