summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorLarsAC <LarsAC@e10066b5-e1e2-0310-b819-94efdf66514b>2005-07-29 23:00:53 +0000
committerLarsAC <LarsAC@e10066b5-e1e2-0310-b819-94efdf66514b>2005-07-29 23:00:53 +0000
commit335def9f61ce75a3857bd21745c629005c37db79 (patch)
treedaae8b1105c422542181a4bf5568f684b6e955b9 /Makefile
parentda2367d81a6a117554b31080a6e722b51150b8f8 (diff)
downloadvdr-plugin-muggle-335def9f61ce75a3857bd21745c629005c37db79.tar.gz
vdr-plugin-muggle-335def9f61ce75a3857bd21745c629005c37db79.tar.bz2
Merged from 0.1.7-wr
git-svn-id: https://vdr-muggle.svn.sourceforge.net/svnroot/vdr-muggle/trunk/muggle-plugin@791 e10066b5-e1e2-0310-b819-94efdf66514b
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile80
1 files changed, 63 insertions, 17 deletions
diff --git a/Makefile b/Makefile
index e17cb87..3604eb1 100644
--- a/Makefile
+++ b/Makefile
@@ -11,12 +11,19 @@ PLUGIN = muggle
#if you want ogg / flac support, define HAVE_VORBISFILE and/or HAVE_FLAC
#in $VDRDIR/Make.config like this:
-# HAVE_VORBISFILE=1
-# HAVE_FLAC=1
+HAVE_VORBISFILE=1
+HAVE_FLAC=1
+HAVE_SNDFILE=1
-#if you do not want to compile in code for embedded sql,
+#if you do not want to compile in code for embedded mysql,
#define this in $VDRDIR/Make.config:
-# HAVE_ONLY_SERVER=1
+HAVE_ONLY_SERVER=1
+
+#define what database you want to use. Default is mysql. HAVE_SQLITE
+#removes mysql support and adds SQLite support
+# HAVE_SQLITE = 1
+
+HAVE_MYSQL = 1
### The version number of this plugin (taken from the main source file):
@@ -38,6 +45,17 @@ TMPDIR ?= /tmp
-include $(VDRDIR)/Make.config
+ifdef HAVE_SQLITE
+HAVE_MYSQL =
+HAVE_ONLY_SERVER =
+else
+ifdef HAVE_PG
+HAVE_MYSQL =
+HAVE_SQLITE =
+HAVE_ONLY_SERVER =
+endif
+endif
+
### The version number of VDR (taken from VDR's "config.h"):
VDRVERSION = $(shell grep 'define VDRVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
@@ -50,38 +68,66 @@ PACKAGE = vdr-$(ARCHIVE)
### Includes and Defines (add further entries here):
INCLUDES += -I$(VDRDIR) -I$(VDRDIR)/include -I$(DVBDIR)/include \
- $(shell mysql_config --cflags) $(shell taglib-config --cflags)
+ $(shell taglib-config --cflags)
-DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"' -DMYSQLCLIENTVERSION='"$(shell mysql_config --version)"'
+DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
### The object files (add further files here):
-OBJS = $(PLUGIN).o i18n.o mg_valmap.o mg_mysql.o mg_sync.o mg_thread_sync.o mg_order.o \
- mg_content.o mg_selection.o vdr_actions.o vdr_menu.o mg_tools.o \
+OBJS = $(PLUGIN).o i18n.o mg_valmap.o mg_db.o mg_thread_sync.o \
+ mg_item.o mg_item_gd.o mg_listitem.o mg_selection.o mg_sel_gd.o vdr_actions.o vdr_menu.o mg_tools.o \
vdr_decoder_mp3.o vdr_stream.o vdr_decoder.o vdr_player.o \
vdr_setup.o mg_setup.o mg_incremental_search.o
-LIBS = -lmad $(shell taglib-config --libs)
+PLAYLIBS = -lmad $(shell taglib-config --libs)
MILIBS = $(shell taglib-config --libs)
+ifdef HAVE_SQLITE
+SQLLIBS += -lsqlite3
+DB_OBJ = mg_db_gd_sqlite.o
+DEFINES += -DHAVE_SQLITE
+endif
+
+ifdef HAVE_MYSQL
+INCLUDES += $(shell mysql_config --cflags)
+DB_OBJ = mg_db_gd_mysql.o
+DEFINES += -DHAVE_MYSQL
ifdef HAVE_ONLY_SERVER
SQLLIBS = $(shell mysql_config --libs)
DEFINES += -DHAVE_ONLY_SERVER
else
-SQLLIBS = $(shell mysql_config --libmysqld-libs) -L/lib
+SQLLIBS = $(shell mysql_config --libmysqld-libs)
+endif
+endif
+
+ifdef HAVE_PG
+INCLUDES += -I$(shell pg_config --includedir)
+SQLLIBS = -L$(shell pg_config --libdir) -lpq
+DB_OBJ = mg_db_gd_pg.o
+DEFINES += -DHAVE_PG
endif
ifdef HAVE_VORBISFILE
DEFINES += -DHAVE_VORBISFILE
OBJS += vdr_decoder_ogg.o
-LIBS += -lvorbisfile -lvorbis
+PLAYLIBS += -lvorbisfile -lvorbis
endif
+
ifdef HAVE_FLAC
DEFINES += -DHAVE_FLAC
OBJS += vdr_decoder_flac.o
-LIBS += -lFLAC++ -lFLAC
+PLAYLIBS += -lFLAC++ -lFLAC
+endif
+
+ifdef HAVE_SNDFILE
+DEFINES += -DHAVE_SNDFILE
+OBJS += vdr_decoder_sndfile.o
+PLAYLIBS += -lsndfile
endif
+
+OBJS += $(DB_OBJ)
+
### Targets:
all: libvdr-$(PLUGIN).so mugglei
@@ -97,17 +143,18 @@ $(DEPFILE): Makefile
### Implicit rules:
-%.o: %.c %.h
+%.o: %.c
$(CXX) $(CXXFLAGS) $(DEFINES) $(INCLUDES) -c $<
mg_tables.h: scripts/genres.txt scripts/iso_639.xml scripts/musictypes.txt scripts/sources.txt
scripts/gentables
-libvdr-$(PLUGIN).so: $(OBJS)
- $(CXX) $(CXXFLAGS) -shared $(OBJS) $(LIBS) $(SQLLIBS) -o $@
+# das hier nur voruebergehend, zum einfacheren Testen, ob noch alles kompiliert:
+libvdr-$(PLUGIN).so: $(OBJS) $(DB_OBJ) mg_db_gd_mysql.o # mg_db_gd_sqlite.o mg_db_gd_pg.o
+ $(CXX) $(CXXFLAGS) -shared $(OBJS) $(PLAYLIBS) $(SQLLIBS) -o $@
@cp $@ $(LIBDIR)/$@.$(VDRVERSION)
-mugglei: mg_tools.o mugglei.o mg_sync.o mg_mysql.o mg_setup.o
+mugglei: mg_tools.o mugglei.o mg_db.o $(DB_OBJ) mg_listitem.o mg_item.o mg_item_gd.o mg_valmap.o mg_setup.o
$(CXX) $(CXXFLAGS) $^ $(MILIBS) $(SQLLIBS) -o $@
install:
@@ -125,4 +172,3 @@ dist: clean mg_tables.h
clean:
@-rm -f $(OBJS) $(BINOBJS) $(DEPFILE) *.so *.tgz core* *~ mugglei.o mugglei
-