Plugin Makefiles now use DESTDIR and the 'install' program

This commit is contained in:
Klaus Schmidinger 2012-12-22 12:08:31 +01:00
parent 4e87443a2d
commit 0263c82614
15 changed files with 81 additions and 93 deletions

View File

@ -2812,6 +2812,7 @@ Christopher Reimer <reimer.christopher@freenet.de>
for suggesting to remove some redundancy in the Makefile/Make.global/Make.config for suggesting to remove some redundancy in the Makefile/Make.global/Make.config
mechanism mechanism
for suggesting to give the plugin Makefiles a separate 'install' target 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> Stefan Huskamp <coca_cola1@gmx.de>
for suggesting to make entering characters via the number keys for suggesting to make entering characters via the number keys

View File

@ -7417,7 +7417,7 @@ Video Disk Recorder Revision History
plugins to display these items in a more elaborate way than just a simple line of plugins to display these items in a more elaborate way than just a simple line of
text. text.
2012-12-21: Version 1.7.34 2012-12-22: Version 1.7.34
- Changed the type of the TimerMatch parameter in cSkinDisplayMenu::SetItemEvent() from - Changed the type of the TimerMatch parameter in cSkinDisplayMenu::SetItemEvent() from
'int' to 'eTimerEvent' (reported by Christoph Haubrich). 'int' to 'eTimerEvent' (reported by Christoph Haubrich).
@ -7443,6 +7443,7 @@ Video Disk Recorder Revision History
call to 'make install-plugins'. This now also allows a user to copy a plugin source to 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 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 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 - 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 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 dummy plugin directory and use the Makefile from there (adapting it to your particular

View File

@ -6,17 +6,19 @@
# See the main source file 'vdr.c' for copyright information and # See the main source file 'vdr.c' for copyright information and
# how to reach the author. # how to reach the author.
# #
# $Id: Make.config.template 2.11 2012/12/18 17:37:54 kls Exp $ # $Id: Make.config.template 2.12 2012/12/22 10:54:47 kls Exp $
### The C compiler and options: ### The C compiler and options:
CC = gcc CC = gcc
CFLAGS = -g -O3 -Wall CFLAGS = -g -O3 -Wall
CFLAGS += -fPIC
CXX = g++ CXX = g++
CXXFLAGS = $(CFLAGS) -Werror=overloaded-virtual -Wno-parentheses CXXFLAGS = $(CFLAGS) -Werror=overloaded-virtual -Wno-parentheses
CFLAGS += -fPIC
CXXFLAGS += -fPIC
# Use 'make M32=1 ...' to build a 32-bit version of VDR on a 64-bit machine: # Use 'make M32=1 ...' to build a 32-bit version of VDR on a 64-bit machine:
ifdef M32 ifdef M32
CFLAGS += -m32 CFLAGS += -m32
@ -25,7 +27,7 @@ endif
### The directory environment: ### The directory environment:
PREFIX = $(DESTDIR)/usr/local PREFIX = /usr/local
#DVBDIR = /usr/src/v4l-dvb/linux #DVBDIR = /usr/src/v4l-dvb/linux
MANDIR = $(PREFIX)/man MANDIR = $(PREFIX)/man
BINDIR = $(PREFIX)/bin BINDIR = $(PREFIX)/bin

View File

@ -4,20 +4,26 @@
# See the main source file 'vdr.c' for copyright information and # See the main source file 'vdr.c' for copyright information and
# how to reach the author. # how to reach the author.
# #
# $Id: Makefile 2.34 2012/12/21 11:56:29 kls Exp $ # $Id: Makefile 2.35 2012/12/22 10:40:31 kls Exp $
.DELETE_ON_ERROR: .DELETE_ON_ERROR:
# Compiler flags:
CC ?= gcc CC ?= gcc
CFLAGS ?= -g -O3 -Wall -fPIC CFLAGS ?= -g -O3 -Wall
CFLAGS += -fPIC
CXX ?= g++ CXX ?= g++
CXXFLAGS ?= $(CFLAGS) -Werror=overloaded-virtual -Wno-parentheses CXXFLAGS ?= $(CFLAGS) -Werror=overloaded-virtual -Wno-parentheses
CFLAGS += -fPIC
CXXFLAGS += -fPIC
CDEFINES = -D_GNU_SOURCE CDEFINES = -D_GNU_SOURCE
CDEFINES += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE CDEFINES += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
# Directories:
CWD := $(shell pwd) CWD := $(shell pwd)
LSIDIR = ./libsi LSIDIR = ./libsi
DESTDIR ?= DESTDIR ?=

View File

@ -1,7 +1,7 @@
# #
# Makefile for a Video Disk Recorder plugin # Makefile for a Video Disk Recorder plugin
# #
# $Id: Makefile 1.13 2012/12/21 11:35:50 kls Exp $ # $Id: Makefile 1.14 2012/12/22 11:49:42 kls Exp $
# The official name of this plugin. # The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin. # This name will be used in the '-P...' option of VDR to load the plugin.
@ -17,15 +17,14 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri
# Use package data if installed...otherwise assume we're under the VDR source directory: # 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)) 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) LIBDIR ?= $(DESTDIR)$(call PKGCFG,libdir)
LOCDIR ?= $(call PKGCFG,locdir)
# #
TMPDIR ?= /tmp TMPDIR ?= /tmp
### The compiler options: ### The compiler options:
export CFLAGS ?= $(call PKGCFG,cflags) export CFLAGS = $(call PKGCFG,cflags)
export CXXFLAGS ?= $(call PKGCFG,cxxflags) export CXXFLAGS = $(call PKGCFG,cxxflags)
### The version number of VDR's plugin API: ### The version number of VDR's plugin API:
@ -74,8 +73,7 @@ $(SOFILE): $(OBJS)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
install-lib: $(SOFILE) install-lib: $(SOFILE)
@mkdir -p $(LIBDIR) install -D $^ $(LIBDIR)/$^.$(APIVERSION)
@cp --remove-destination $^ $(LIBDIR)/$^.$(APIVERSION)
install: install-lib install: install-lib

View File

@ -1,7 +1,7 @@
# #
# Makefile for a Video Disk Recorder plugin # Makefile for a Video Disk Recorder plugin
# #
# $Id: Makefile 1.6 2012/12/21 11:35:56 kls Exp $ # $Id: Makefile 1.7 2012/12/22 11:49:47 kls Exp $
# The official name of this plugin. # The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin. # This name will be used in the '-P...' option of VDR to load the plugin.
@ -17,15 +17,14 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri
# Use package data if installed...otherwise assume we're under the VDR source directory: # 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)) 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) LIBDIR ?= $(DESTDIR)$(call PKGCFG,libdir)
LOCDIR ?= $(call PKGCFG,locdir)
# #
TMPDIR ?= /tmp TMPDIR ?= /tmp
### The compiler options: ### The compiler options:
export CFLAGS ?= $(call PKGCFG,cflags) export CFLAGS = $(call PKGCFG,cflags)
export CXXFLAGS ?= $(call PKGCFG,cxxflags) export CXXFLAGS = $(call PKGCFG,cxxflags)
### The version number of VDR's plugin API: ### The version number of VDR's plugin API:
@ -74,8 +73,7 @@ $(SOFILE): $(OBJS)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
install-lib: $(SOFILE) install-lib: $(SOFILE)
@mkdir -p $(LIBDIR) install -D $^ $(LIBDIR)/$^.$(APIVERSION)
@cp --remove-destination $^ $(LIBDIR)/$^.$(APIVERSION)
install: install-lib install: install-lib

View File

@ -1,7 +1,7 @@
# #
# Makefile for a Video Disk Recorder plugin # Makefile for a Video Disk Recorder plugin
# #
# $Id: Makefile 2.13 2012/12/21 11:36:15 kls Exp $ # $Id: Makefile 2.14 2012/12/22 11:51:16 kls Exp $
# The official name of this plugin. # The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin. # This name will be used in the '-P...' option of VDR to load the plugin.
@ -17,15 +17,15 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri
# Use package data if installed...otherwise assume we're under the VDR source directory: # 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)) 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) LIBDIR ?= $(DESTDIR)$(call PKGCFG,libdir)
LOCDIR ?= $(call PKGCFG,locdir) LOCDIR ?= $(DESTDIR)$(call PKGCFG,locdir)
# #
TMPDIR ?= /tmp TMPDIR ?= /tmp
### The compiler options: ### The compiler options:
export CFLAGS ?= $(call PKGCFG,cflags) export CFLAGS = $(call PKGCFG,cflags)
export CXXFLAGS ?= $(call PKGCFG,cxxflags) export CXXFLAGS = $(call PKGCFG,cxxflags)
### The version number of VDR's plugin API: ### The version number of VDR's plugin API:
@ -87,8 +87,7 @@ $(I18Npot): $(wildcard *.c)
@touch $@ @touch $@
$(I18Nmsgs): $(LOCDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo $(I18Nmsgs): $(LOCDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
@mkdir -p $(dir $@) install -D -m644 $< $@
cp $< $@
.PHONY: i18n .PHONY: i18n
i18n: $(I18Nmo) $(I18Npot) i18n: $(I18Nmo) $(I18Npot)
@ -101,8 +100,7 @@ $(SOFILE): $(OBJS)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
install-lib: $(SOFILE) install-lib: $(SOFILE)
@mkdir -p $(LIBDIR) install -D $^ $(LIBDIR)/$^.$(APIVERSION)
@cp --remove-destination $^ $(LIBDIR)/$^.$(APIVERSION)
install: install-lib install-i18n install: install-lib install-i18n

View File

@ -1,7 +1,7 @@
# #
# Makefile for a Video Disk Recorder plugin # Makefile for a Video Disk Recorder plugin
# #
# $Id: Makefile 2.9 2012/12/21 11:45:26 kls Exp $ # $Id: Makefile 2.10 2012/12/22 11:51:34 kls Exp $
# The official name of this plugin. # The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin. # This name will be used in the '-P...' option of VDR to load the plugin.
@ -17,15 +17,14 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri
# Use package data if installed...otherwise assume we're under the VDR source directory: # 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)) 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) LIBDIR ?= $(DESTDIR)$(call PKGCFG,libdir)
LOCDIR ?= $(call PKGCFG,locdir)
# #
TMPDIR ?= /tmp TMPDIR ?= /tmp
### The compiler options: ### The compiler options:
export CFLAGS ?= $(call PKGCFG,cflags) export CFLAGS = $(call PKGCFG,cflags)
export CXXFLAGS ?= $(call PKGCFG,cxxflags) export CXXFLAGS = $(call PKGCFG,cxxflags)
### The version number of VDR's plugin API: ### The version number of VDR's plugin API:
@ -74,8 +73,7 @@ $(SOFILE): $(OBJS)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
install-lib: $(SOFILE) install-lib: $(SOFILE)
@mkdir -p $(LIBDIR) install -D $^ $(LIBDIR)/$^.$(APIVERSION)
@cp --remove-destination $^ $(LIBDIR)/$^.$(APIVERSION)
install: install-lib install: install-lib

View File

@ -1,7 +1,7 @@
# #
# Makefile for a Video Disk Recorder plugin # Makefile for a Video Disk Recorder plugin
# #
# $Id: Makefile 2.13 2012/12/21 11:37:07 kls Exp $ # $Id: Makefile 2.14 2012/12/22 11:51:44 kls Exp $
# The official name of this plugin. # The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin. # This name will be used in the '-P...' option of VDR to load the plugin.
@ -17,15 +17,15 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri
# Use package data if installed...otherwise assume we're under the VDR source directory: # 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)) 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) LIBDIR ?= $(DESTDIR)$(call PKGCFG,libdir)
LOCDIR ?= $(call PKGCFG,locdir) LOCDIR ?= $(DESTDIR)$(call PKGCFG,locdir)
# #
TMPDIR ?= /tmp TMPDIR ?= /tmp
### The compiler options: ### The compiler options:
export CFLAGS ?= $(call PKGCFG,cflags) export CFLAGS = $(call PKGCFG,cflags)
export CXXFLAGS ?= $(call PKGCFG,cxxflags) export CXXFLAGS = $(call PKGCFG,cxxflags)
### The version number of VDR's plugin API: ### The version number of VDR's plugin API:
@ -87,8 +87,7 @@ $(I18Npot): $(wildcard *.c)
@touch $@ @touch $@
$(I18Nmsgs): $(LOCDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo $(I18Nmsgs): $(LOCDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
@mkdir -p $(dir $@) install -D -m644 $< $@
cp $< $@
.PHONY: i18n .PHONY: i18n
i18n: $(I18Nmo) $(I18Npot) i18n: $(I18Nmo) $(I18Npot)
@ -101,8 +100,7 @@ $(SOFILE): $(OBJS)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
install-lib: $(SOFILE) install-lib: $(SOFILE)
@mkdir -p $(LIBDIR) install -D $^ $(LIBDIR)/$^.$(APIVERSION)
@cp --remove-destination $^ $(LIBDIR)/$^.$(APIVERSION)
install: install-lib install-i18n install: install-lib install-i18n

View File

@ -1,7 +1,7 @@
# #
# Makefile for a Video Disk Recorder plugin # Makefile for a Video Disk Recorder plugin
# #
# $Id: Makefile 1.6 2012/12/21 11:37:13 kls Exp $ # $Id: Makefile 1.7 2012/12/22 11:51:49 kls Exp $
# The official name of this plugin. # The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin. # This name will be used in the '-P...' option of VDR to load the plugin.
@ -17,15 +17,14 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri
# Use package data if installed...otherwise assume we're under the VDR source directory: # 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)) 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) LIBDIR ?= $(DESTDIR)$(call PKGCFG,libdir)
LOCDIR ?= $(call PKGCFG,locdir)
# #
TMPDIR ?= /tmp TMPDIR ?= /tmp
### The compiler options: ### The compiler options:
export CFLAGS ?= $(call PKGCFG,cflags) export CFLAGS = $(call PKGCFG,cflags)
export CXXFLAGS ?= $(call PKGCFG,cxxflags) export CXXFLAGS = $(call PKGCFG,cxxflags)
### The version number of VDR's plugin API: ### The version number of VDR's plugin API:
@ -74,8 +73,7 @@ $(SOFILE): $(OBJS)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
install-lib: $(SOFILE) install-lib: $(SOFILE)
@mkdir -p $(LIBDIR) install -D $^ $(LIBDIR)/$^.$(APIVERSION)
@cp --remove-destination $^ $(LIBDIR)/$^.$(APIVERSION)
install: install-lib install: install-lib

View File

@ -1,7 +1,7 @@
# #
# Makefile for a Video Disk Recorder plugin # Makefile for a Video Disk Recorder plugin
# #
# $Id: Makefile 2.7 2012/12/20 13:35:20 kls Exp $ # $Id: Makefile 2.8 2012/12/22 11:51:55 kls Exp $
# The official name of this plugin. # The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin. # This name will be used in the '-P...' option of VDR to load the plugin.
@ -18,15 +18,14 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN1).c | awk '{ pr
# Use package data if installed...otherwise assume we're under the VDR source directory: # 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)) 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) LIBDIR ?= $(DESTDIR)$(call PKGCFG,libdir)
LOCDIR ?= $(call PKGCFG,locdir)
# #
TMPDIR ?= /tmp TMPDIR ?= /tmp
### The compiler options: ### The compiler options:
export CFLAGS ?= $(call PKGCFG,cflags) export CFLAGS = $(call PKGCFG,cflags)
export CXXFLAGS ?= $(call PKGCFG,cxxflags) export CXXFLAGS = $(call PKGCFG,cxxflags)
### The version number of VDR's plugin API: ### The version number of VDR's plugin API:
@ -74,9 +73,8 @@ libvdr-$(PLUGIN2).so: $(PLUGIN2).o
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(PLUGIN2).o -o $@ $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(PLUGIN2).o -o $@
install: libvdr-$(PLUGIN1).so libvdr-$(PLUGIN2).so install: libvdr-$(PLUGIN1).so libvdr-$(PLUGIN2).so
@mkdir -p $(LIBDIR) install -D libvdr-$(PLUGIN1).so $(LIBDIR)/libvdr-$(PLUGIN1).so.$(APIVERSION)
@cp --remove-destination libvdr-$(PLUGIN1).so $(LIBDIR)/libvdr-$(PLUGIN1).so.$(APIVERSION) install -D libvdr-$(PLUGIN2).so $(LIBDIR)/libvdr-$(PLUGIN2).so.$(APIVERSION)
@cp --remove-destination libvdr-$(PLUGIN2).so $(LIBDIR)/libvdr-$(PLUGIN2).so.$(APIVERSION)
dist: clean dist: clean
@-rm -rf $(TMPDIR)/$(ARCHIVE) @-rm -rf $(TMPDIR)/$(ARCHIVE)

View File

@ -1,7 +1,7 @@
# #
# Makefile for a Video Disk Recorder plugin # Makefile for a Video Disk Recorder plugin
# #
# $Id: Makefile 2.13 2012/12/21 11:37:32 kls Exp $ # $Id: Makefile 2.14 2012/12/22 11:52:01 kls Exp $
# The official name of this plugin. # The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin. # This name will be used in the '-P...' option of VDR to load the plugin.
@ -17,15 +17,15 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri
# Use package data if installed...otherwise assume we're under the VDR source directory: # 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)) 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) LIBDIR ?= $(DESTDIR)$(call PKGCFG,libdir)
LOCDIR ?= $(call PKGCFG,locdir) LOCDIR ?= $(DESTDIR)$(call PKGCFG,locdir)
# #
TMPDIR ?= /tmp TMPDIR ?= /tmp
### The compiler options: ### The compiler options:
export CFLAGS ?= $(call PKGCFG,cflags) export CFLAGS = $(call PKGCFG,cflags)
export CXXFLAGS ?= $(call PKGCFG,cxxflags) export CXXFLAGS = $(call PKGCFG,cxxflags)
### The version number of VDR's plugin API: ### The version number of VDR's plugin API:
@ -87,8 +87,7 @@ $(I18Npot): $(wildcard *.c)
@touch $@ @touch $@
$(I18Nmsgs): $(LOCDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo $(I18Nmsgs): $(LOCDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
@mkdir -p $(dir $@) install -D -m644 $< $@
cp $< $@
.PHONY: i18n .PHONY: i18n
i18n: $(I18Nmo) $(I18Npot) i18n: $(I18Nmo) $(I18Npot)
@ -101,8 +100,7 @@ $(SOFILE): $(OBJS)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -lncursesw -o $@ $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -lncursesw -o $@
install-lib: $(SOFILE) install-lib: $(SOFILE)
@mkdir -p $(LIBDIR) install -D $^ $(LIBDIR)/$^.$(APIVERSION)
@cp --remove-destination $^ $(LIBDIR)/$^.$(APIVERSION)
install: install-lib install-i18n install: install-lib install-i18n

View File

@ -1,7 +1,7 @@
# #
# Makefile for a Video Disk Recorder plugin # Makefile for a Video Disk Recorder plugin
# #
# $Id: Makefile 2.8 2012/12/21 11:37:44 kls Exp $ # $Id: Makefile 2.9 2012/12/22 11:52:08 kls Exp $
# The official name of this plugin. # The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin. # This name will be used in the '-P...' option of VDR to load the plugin.
@ -17,15 +17,14 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri
# Use package data if installed...otherwise assume we're under the VDR source directory: # 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)) 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) LIBDIR ?= $(DESTDIR)$(call PKGCFG,libdir)
LOCDIR ?= $(call PKGCFG,locdir)
# #
TMPDIR ?= /tmp TMPDIR ?= /tmp
### The compiler options: ### The compiler options:
export CFLAGS ?= $(call PKGCFG,cflags) export CFLAGS = $(call PKGCFG,cflags)
export CXXFLAGS ?= $(call PKGCFG,cxxflags) export CXXFLAGS = $(call PKGCFG,cxxflags)
### The version number of VDR's plugin API: ### The version number of VDR's plugin API:
@ -74,8 +73,7 @@ $(SOFILE): $(OBJS)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
install-lib: $(SOFILE) install-lib: $(SOFILE)
@mkdir -p $(LIBDIR) install -D $^ $(LIBDIR)/$^.$(APIVERSION)
@cp --remove-destination $^ $(LIBDIR)/$^.$(APIVERSION)
install: install-lib install: install-lib

View File

@ -1,7 +1,7 @@
# #
# Makefile for a Video Disk Recorder plugin # Makefile for a Video Disk Recorder plugin
# #
# $Id: Makefile 2.8 2012/12/21 11:37:54 kls Exp $ # $Id: Makefile 2.9 2012/12/22 11:52:12 kls Exp $
# The official name of this plugin. # The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin. # This name will be used in the '-P...' option of VDR to load the plugin.
@ -17,15 +17,14 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri
# Use package data if installed...otherwise assume we're under the VDR source directory: # 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)) 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) LIBDIR ?= $(DESTDIR)$(call PKGCFG,libdir)
LOCDIR ?= $(call PKGCFG,locdir)
# #
TMPDIR ?= /tmp TMPDIR ?= /tmp
### The compiler options: ### The compiler options:
export CFLAGS ?= $(call PKGCFG,cflags) export CFLAGS = $(call PKGCFG,cflags)
export CXXFLAGS ?= $(call PKGCFG,cxxflags) export CXXFLAGS = $(call PKGCFG,cxxflags)
### The version number of VDR's plugin API: ### The version number of VDR's plugin API:
@ -74,8 +73,7 @@ $(SOFILE): $(OBJS)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
install-lib: $(SOFILE) install-lib: $(SOFILE)
@mkdir -p $(LIBDIR) install -D $^ $(LIBDIR)/$^.$(APIVERSION)
@cp --remove-destination $^ $(LIBDIR)/$^.$(APIVERSION)
install: install-lib install: install-lib

View File

@ -12,7 +12,7 @@
# See the main source file 'vdr.c' for copyright information and # See the main source file 'vdr.c' for copyright information and
# how to reach the author. # how to reach the author.
# #
# $Id: newplugin 2.12 2012/12/21 11:38:09 kls Exp $ # $Id: newplugin 2.13 2012/12/22 11:54:34 kls Exp $
$PLUGIN_NAME = $ARGV[0] || die "Usage: newplugin <name>\n"; $PLUGIN_NAME = $ARGV[0] || die "Usage: newplugin <name>\n";
@ -76,15 +76,15 @@ VERSION = \$(shell grep 'static const char \\*VERSION *=' \$(PLUGIN).c | awk '{
# Use package data if installed...otherwise assume we're under the VDR source directory: # 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)) 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) LIBDIR ?= \$(DESTDIR)\$(call PKGCFG,libdir)
LOCDIR ?= \$(call PKGCFG,locdir) LOCDIR ?= \$(DESTDIR)\$(call PKGCFG,locdir)
# #
TMPDIR ?= /tmp TMPDIR ?= /tmp
### The compiler options: ### The compiler options:
export CFLAGS ?= \$(call PKGCFG,cflags) export CFLAGS = \$(call PKGCFG,cflags)
export CXXFLAGS ?= \$(call PKGCFG,cxxflags) export CXXFLAGS = \$(call PKGCFG,cxxflags)
### The version number of VDR's plugin API: ### The version number of VDR's plugin API:
@ -146,8 +146,7 @@ I18Npot = \$(PODIR)/\$(PLUGIN).pot
\@touch \$\@ \@touch \$\@
\$(I18Nmsgs): \$(LOCDIR)/%/LC_MESSAGES/vdr-\$(PLUGIN).mo: \$(PODIR)/%.mo \$(I18Nmsgs): \$(LOCDIR)/%/LC_MESSAGES/vdr-\$(PLUGIN).mo: \$(PODIR)/%.mo
\@mkdir -p \$(dir \$@) install -D -m644 \$< \$\@
cp \$< \$\@
.PHONY: i18n .PHONY: i18n
i18n: \$(I18Nmo) \$(I18Npot) i18n: \$(I18Nmo) \$(I18Npot)
@ -160,8 +159,7 @@ install-i18n: \$(I18Nmsgs)
\$(CXX) \$(CXXFLAGS) \$(LDFLAGS) -shared \$(OBJS) -o \$\@ \$(CXX) \$(CXXFLAGS) \$(LDFLAGS) -shared \$(OBJS) -o \$\@
install-lib: \$(SOFILE) install-lib: \$(SOFILE)
\@mkdir -p \$(LIBDIR) install -D \$^ \$(LIBDIR)/\$^.\$(APIVERSION)
\@cp --remove-destination \$^ \$(LIBDIR)/\$^.\$(APIVERSION)
install: install-lib install-i18n install: install-lib install-i18n