Bug #2523 ยป extrecmenu.diff
.gitignore | ||
---|---|---|
syntax: glob
|
||
*~
|
||
*.orig
|
||
*.o
|
||
*.so
|
||
.dependencies
|
||
po/*.mo
|
||
po/*.pot
|
||
.cproject
|
||
.project
|
||
.settings
|
||
Makefile | ||
---|---|---|
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 -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 = $(call PKGCFG,libdir)
|
||
LOCDIR = $(call PKGCFG,locdir)
|
||
CFGDIR = $(call PKGCFG,configdir)/plugins/$(PLUGIN)
|
||
PLGCFG = $(call PKGCFG,plgcfg)
|
||
#
|
||
TMPDIR = /tmp
|
||
### Make sure that necessary options are included:
|
||
export CFLAGS = $(call PKGCFG,cflags)
|
||
export CXXFLAGS = $(call PKGCFG,cxxflags)
|
||
-include $(VDRDIR)/Make.global
|
||
### The version number of VDR's plugin API (taken from VDR's "config.h"):
|
||
APIVERSION = $(call PKGCFG,apiversion)
|
||
### Allow user defined options to overwrite defaults:
|
||
-include $(VDRDIR)/Make.config
|
||
-include $(PLGCFG)
|
||
### The name of the distribution archive:
|
||
ARCHIVE = $(PLUGIN)-$(VERSION)
|
||
PACKAGE = vdr-$(ARCHIVE)
|
||
### The name of the shared object file:
|
||
SOFILE = libvdr-$(PLUGIN).so
|
||
ifdef USE_PINPLUGIN
|
||
DEFINES += -DUSE_PINPLUGIN
|
||
... | ... | |
DEFINES += -DUSE_VDR_CUTTER
|
||
endif
|
||
### 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
|
||
... | ... | |
### 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 $(DESTDIR)$(LOCDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
|
||
I18Npot = $(PODIR)/$(PLUGIN).pot
|
||
%.mo: %.po
|
||
msgfmt -c -o $@ $<
|
||
msgfmt -v -c -o $@ $<
|
||
$(I18Npot): $(wildcard *.c)
|
||
xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='<see README>' -o $@ $^
|
||
$(I18Npot): $(wildcard *.c *.h)
|
||
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 --no-fuzzy-matching -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): $(DESTDIR)$(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)
|
||
$(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@
|
||
@cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
|
||
$(SOFILE): $(OBJS)
|
||
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) $(LIBS) -o $@
|
||
install-lib: $(SOFILE)
|
||
install -D $^ $(DESTDIR)$(LIBDIR)/$^.$(APIVERSION)
|
||
install: install-lib install-i18n
|
||
dist: clean
|
||
@-rm -rf $(TMPDIR)/$(ARCHIVE)
|