2 # MP3/MPlayer plugin to VDR
4 # (C) 2001-2006 Stefan Huelswitt <s.huelswitt@gmx.de>
6 # This code is free software; you can redistribute it and/or
7 # modify it under the terms of the GNU General Public License
8 # as published by the Free Software Foundation; either version 2
9 # of the License, or (at your option) any later version.
11 # This code is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with this program; if not, write to the Free Software
18 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19 # Or, point your browser to http://www.gnu.org/copyleft/gpl.html
21 # You can change the compile options here or create a Make.config
22 # in the VDR directory an set them there.
24 ### uncomment one of these lines, if you don't want one of the plugins
28 ### uncomment the following line, if you don't have libsndfile installed
31 ### uncomment the following line, if you don't have libvorbisfile installed
32 #WITHOUT_LIBVORBISFILE=1
34 ### uncomment the following line, if you want OSS sound output
37 ### uncomment the following line, if you want to include debug symbols
40 ### The C++ compiler and options:
42 CXXFLAGS ?= -O2 -fPIC -Wall -Woverloaded-virtual
44 ###############################################
45 ###############################################
47 # no user configurable options below this point
49 ###############################################
50 ###############################################
52 ### The directory environment:
58 # The official name of this plugin.
59 # This name will be used in the '-P...' option of VDR to load the plugin.
60 # By default the main source file also carries this name.
65 ### Allow user defined options to overwrite defaults:
67 -include $(VDRDIR)/Make.config
69 ### The version number of this plugin (taken from the main source file):
71 VERSION = $(shell grep 'define PLUGIN_VERSION' version.h | awk '{ print $$3 }' | sed -e 's/[";]//g')
73 ### The version number of VDR (taken from VDR's "config.h"):
75 VDRVERSION = $(shell sed -ne '/define VDRVERSION/ s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
76 APIVERSION = $(shell sed -ne '/define APIVERSION/ s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
77 ifeq ($(strip $(APIVERSION)),)
78 APIVERSION = $(VDRVERSION)
80 VDRVERSNUM = $(shell sed -ne '/define VDRVERSNUM/ s/^.[a-zA-Z ]*\([0-9]*\) .*$$/\1/p' $(VDRDIR)/config.h)
81 APIVERSNUM = $(shell sed -ne '/define APIVERSNUM/ s/^.[a-zA-Z ]*\([0-9]*\) .*$$/\1/p' $(VDRDIR)/config.h)
82 ifeq ($(strip $(APIVERSNUM)),)
83 APIVERSNUM = $(VDRVERSNUM)
86 ### The name of the distribution archive:
88 ARCHIVE = $(PLUGIN)-$(VERSION)
89 PACKAGE = vdr-$(ARCHIVE)
91 ### Includes and Defines (add further entries here):
93 INCLUDES += -I$(VDRDIR)/include
94 DEFINES += -D_GNU_SOURCE -DAPIVERSNUM=$(APIVERSNUM)
96 ### The object files (add further files here):
99 ALL += libvdr-$(PLUGIN).so
101 ifndef WITHOUT_MPLAYER
102 ALL += libvdr-$(PLUGIN2).so
105 COM_OBJS = i18n.o data.o menu.o
107 OBJS = $(PLUGIN).o $(COM_OBJS)\
108 data-mp3.o setup-mp3.o player-mp3.o stream.o network.o\
109 decoder.o decoder-mp3.o decoder-mp3-stream.o decoder-snd.o \
111 LIBS = -lmad -lid3tag
113 ifndef WITHOUT_LIBSNDFILE
115 DEFINES += -DHAVE_SNDFILE
117 ifndef WITHOUT_LIBVORBISFILE
118 LIBS += -lvorbisfile -lvorbis
119 DEFINES += -DHAVE_VORBISFILE
121 ifdef WITH_OSS_OUTPUT
122 DEFINES += -DWITH_OSS
125 DEFINES += -DBROKEN_PCM
128 OBJS2 = $(PLUGIN2).o $(COM_OBJS)\
129 setup-mplayer.o player-mplayer.o
132 ifeq ($(shell test -f $(VDRDIR)/fontsym.h ; echo $$?),0)
133 DEFINES += -DHAVE_BEAUTYPATCH
143 $(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $<
147 MAKEDEP = g++ -MM -MG
148 DEPFILE = .dependencies
150 @$(MAKEDEP) $(DEFINES) $(INCLUDES) $(OBJS:%.o=%.c) $(OBJS2:%.o=%.c) > $@
158 libvdr-$(PLUGIN).so: $(OBJS)
159 $(CXX) $(CXXFLAGS) -shared $(OBJS) $(LIBS) -o $@
160 @cp $@ $(LIBDIR)/$@.$(APIVERSION)
162 libvdr-$(PLUGIN2).so: $(OBJS2)
163 $(CXX) $(CXXFLAGS) -shared $(OBJS2) $(LIBS2) -o $@
164 @cp $@ $(LIBDIR)/$@.$(APIVERSION)
166 i18ntest: i18ntest.c i18n.c i18n.h
167 $(CXX) $(CXXFLAGS) $(INCLUDES) $< -o $@
170 @-rm -rf $(TMPDIR)/$(ARCHIVE)
171 @mkdir $(TMPDIR)/$(ARCHIVE)
172 @cp -a * $(TMPDIR)/$(ARCHIVE)
173 @tar czf $(PACKAGE).tar.gz -C $(TMPDIR) $(ARCHIVE)
174 @-rm -rf $(TMPDIR)/$(ARCHIVE)
175 @echo Distribution package created as $(PACKAGE).tar.gz
178 @-rm -f $(OBJS) $(OBJS2) $(DEPFILE) i18ntest libvdr-*.so $(PACKAGE).tar.gz core* *~