1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
|
PLUGIN = games
VERSION = 0.6.3
GAMES = minesweeper \
tictactoe \
tetris \
snake \
tron
OBJS = launcher.o \
display.o \
screen.o \
bitmap.o \
text.o
VDROBJS = plugin.o
SDLOBJS = main.o
DEFINES = -DVERSION=\"$(VERSION)\"
CFLAGS = -g -pipe -O2 -Wall -Woverloaded-virtual
LFLAGS = -pthread
VDRDIR = ../../..
LIBDIR = ../../lib
DVBDIR = ../../../../DVB
PACKAGE = vdr-games-$(VERSION)
ARCHIVES = $(shell for GAME in $(GAMES); do echo $$GAME/$$GAME.a; done)
SDLGAMES = $(shell test -f $(VDRDIR)/config.h || echo true )
VDRVER = $(shell grep 'define VDRVERSION ' $(VDRDIR)/config.h | \
awk '{ print $$3 }' | sed -e 's/"//g' )
VDRNUM = $(shell grep 'define VDRVERSNUM ' $(VDRDIR)/config.h | \
awk '{ print $$3 }' | sed -e 's/"//g' )
ifeq "$(SDLGAMES)" "true"
TARGET = sdl-games
OBJS += $(SDLOBJS)
CFLAGS += `sdl-config --cflags`
LFLAGS += `sdl-config --libs`
DEFINES += -DSDL -DVERBOSE
else
# 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)
# This is required for VDRs older than 1.3.47
ifeq ($(strip $(APIVERSION)),)
APIVERSION = $(shell sed -ne '/define VDRVERSION/ { s/^.*"\(.*\)".*$$/\1/; p }' $(VDRDIR)/config.h)
endif
-include $(VDRDIR)/Make.config
TARGET = libvdr-games.so
OBJS += $(VDROBJS)
CFLAGS += $(INCLUDES) -I$(VDRDIR)/include
LFLAGS += -shared
DEFINES += -D_GNU_SOURCE -DVDRVERSNUM=$(VDRNUM)
endif
all:
@echo
@echo -n "Building $(TARGET) "
for GAME in $(GAMES); do cd $$GAME; make all DEFINES="$(DEFINES)" CFLAGS="$(CFLAGS)"; cd -; done
@rm -f $(TARGET)
@make $(TARGET)
@echo " done"
@echo
libvdr-games.so: $(OBJS)
g++ $(OBJS) $(LFLAGS) $(ARCHIVES) -o $@
@cp $@ $(LIBDIR)/$@.$(APIVERSION)
sdl-games: $(OBJS)
g++ $(OBJS) $(LFLAGS) $(ARCHIVES) -o $@
install: all
@cp $(LIBDIR)/libvdr-games.so.$(VDRVER) /mnt/vdr/lib/plugins/
tar: clean
@echo -n "Creating archive ..."
@cd .. ; cp -a vdr-games games-$(VERSION)
@cd .. ; for GAME in $(GAMES); do rm -rf games-$(VERSION)/$$GAME/CVS; done
@cd .. ; rm -rf games-$(VERSION)/CVS
@cd .. ; tar cfz $(PACKAGE).tar.gz games-$(VERSION)
@cd .. ; rm -rf games-$(VERSION)
@echo " done"
@echo
clean:
@echo
@echo -n "Cleaning source tree "
@for GAME in $(GAMES); do cd $$GAME; make clean; cd -; done
@rm -f *.o *.a $(TARGET)
@echo " done"
@echo
.cpp.o:
@echo -n "."
$(COMPILE.cpp) $(DEFINES) $(CFLAGS) -c $< $(OUTPUT_OPTION)
|