⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefile

📁 这是一个LINUX环境的 VDR 插件源代码,可支持Irdeto, Seca, Viaccess, Nagra, Conax & Cryptoworks等CA系统的读卡、共享等操作。
💻
字号:
## Softcam plugin to VDR## This code is free software; you can redistribute it and/or# modify it under the terms of the GNU General Public License# as published by the Free Software Foundation; either version 2# of the License, or (at your option) any later version.## This code is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the# GNU General Public License for more details.## You should have received a copy of the GNU General Public License# along with this program; if not, write to the Free Software# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.# Or, point your browser to http://www.gnu.org/copyleft/gpl.html# The official name of this plugin.# This name will be used in the '-P...' option of VDR to load the plugin.# By default the main source file also carries this name.#PLUGIN = sc### The version number of this plugin (taken from the main source file):VERSION = $(shell grep 'define SCVERSION' version.h | awk '{ print $$3 }' | sed -e 's/[";]//g')SCAPIVERS = $(shell sed -ne '/define SCAPIVERS/ s/^.[a-zA-Z ]*\([0-9]*\).*$$/\1/p' $(PLUGIN).c)### The directory environment:VDRDIR = ../../..LIBDIR = ../../libSYSDIR = ./systemsPREDIR = ./systems-preTMPDIR = /tmp### The C++ compiler and options:CXX      ?= g++CXXFLAGS ?= -O2 -g -fPIC -Wall -Woverloaded-virtual### Includes and DefinesINCLUDES      = -I$(VDRDIR)/includeDEFINES       = -DPLUGIN_NAME_I18N='"$(PLUGIN)"'SHAREDDEFINES = -DAPIVERSNUM=$(APIVERSNUM) -D_GNU_SOURCELIBS          = -lcryptoSHAREDLIBS    =### Allow user defined options to overwrite defaults:-include $(VDRDIR)/Make.config### The version number of VDR (taken from VDR's "config.h"):VDRVERSION = $(shell sed -ne '/define VDRVERSION/ s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/include/vdr/config.h)APIVERSION = $(shell sed -ne '/define APIVERSION/ s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/include/vdr/config.h)ifeq ($(strip $(APIVERSION)),)   APIVERSION = $(VDRVERSION)endifVDRVERSNUM = $(shell sed -ne '/define VDRVERSNUM/ s/^.[a-zA-Z ]*\([0-9]*\) .*$$/\1/p' $(VDRDIR)/include/vdr/config.h)APIVERSNUM = $(shell sed -ne '/define APIVERSNUM/ s/^.[a-zA-Z ]*\([0-9]*\) .*$$/\1/p' $(VDRDIR)/include/vdr/config.h)ifeq ($(strip $(APIVERSNUM)),)   APIVERSNUM = $(VDRVERSNUM)endif### The name of the distribution archive:ARCHIVE = $(PLUGIN)-$(VERSION)PACKAGE = vdr-$(ARCHIVE)### The object files (add further files here):OBJS = $(PLUGIN).o data.o filter.o system.o i18n.o misc.o cam.o \       smartcard.o network.o crypto.o system-common.o parse.o log.o## generic stuff## smartcard default portifdef DEFAULT_PORT  TEST := $(shell echo '$(DEFAULT_PORT)' | sed -ne '/".*",.*,.*,.*/p')  ifneq ($(strip $(TEST)),)    DEFINES += -DDEFAULT_PORT='$(DEFAULT_PORT)'  else    $(error DEFAULT_PORT has bad format)  endif endif# max number of CAIDs per slotMAXCAID := $(shell sed -ne '/define MAXCASYSTEMIDS/ s/^.[a-zA-Z ]*\([0-9]*\).*$$/\1/p' $(VDRDIR)/ci.c)ifneq ($(strip $(MAXCAID)),)  DEFINES += -DVDR_MAXCAID=$(MAXCAID)endif# FFdeCSACPUOPT     ?= pentiumPARALLEL   ?= PARALLEL_32_INTCSAFLAGS   ?= -Wall -fPIC -g -O3 -mmmx -fomit-frame-pointer -fexpensive-optimizations -funroll-loopsFFDECSADIR  = FFdecsaFFDECSA     = $(FFDECSADIR)/FFdecsa.o# export for system makefilesexport SCAPIVERSexport APIVERSIONexport INCLUDESexport SHAREDDEFINESexport SHAREDLIBSexport CXXexport CXXFLAGS### Implicit rules:%.o: %.c	$(CXX) $(CXXFLAGS) -c $(DEFINES) $(SHAREDDEFINES) $(INCLUDES) $<# Dependencies:MAKEDEP = g++ -MM -MGDEPFILE = .dependencies$(DEPFILE): $(OBJS:%.o=%.c) $(wildcard *.h)	@$(MAKEDEP) $(DEFINES) $(SHAREDDEFINES) $(INCLUDES) $(OBJS:%.o=%.c) > $@-include $(DEPFILE)### Targets:ifdef STATICBUILDTARGETS = $(LIBDIR)/libvdr-$(PLUGIN).a systemsSHAREDDEFINES += -DSTATICBUILDelseBUILDTARGETS = $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) systems systems-preendifall: $(BUILDTARGETS).PHONY: systems systems-pre clean clean-core clean-systems clean-pre dist srcdistlibvdr-$(PLUGIN).so: $(OBJS) $(FFDECSA)	$(CXX) $(CXXFLAGS) -shared $(OBJS) $(FFDECSA) $(LIBS) $(SHAREDLIBS) -o $@$(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION): libvdr-$(PLUGIN).so	@cp -p $< $@$(LIBDIR)/libvdr-$(PLUGIN).a: $(OBJS)	$(AR) r $@ $(OBJS)$(FFDECSA): $(FFDECSADIR)/*.c $(FFDECSADIR)/*.h	@$(MAKE) COMPILER="$(CXX)" FLAGS="$(CSAFLAGS) -march=$(CPUOPT) -DPARALLEL_MODE=$(PARALLEL)" -C $(FFDECSADIR) allsystems:	@for i in `ls -A -I ".*" $(SYSDIR)`; do $(MAKE) -f ../../Makefile.system -C "$(SYSDIR)/$$i" all || exit 1; donesystems-pre:	@for i in `ls -A -I ".*" $(PREDIR) | grep -- '-$(SCAPIVERS).so.$(APIVERSION)$$'`; do cp -p "$(PREDIR)/$$i" "$(LIBDIR)"; doneclean-systems:	@for i in `ls -A -I ".*" $(SYSDIR)`; do $(MAKE) -f ../../Makefile.system -C "$(SYSDIR)/$$i" clean; doneclean-core:	@$(MAKE) -C testing clean	@$(MAKE) -C $(FFDECSADIR) clean	@-rm -f $(LIBDIR)/libsc-*-$(SCAPIVERS).so.$(APIVERSION)	@-rm -f $(LIBDIR)/libvdr-$(PLUGIN).a $(LIBDIR)/libsc-*.a	@-rm -f $(OBJS) $(DEPFILE) *.so *.tar.gz core* *~clean-pre:	@-find "$(PREDIR)" -type f -not -iname "*-$(SCAPIVERS).so.*" | xargs rm -fclean: clean-core clean-systemsdist: clean-core	@for i in `ls -A -I ".*" $(SYSDIR)`; do $(MAKE) -f ../../Makefile.system -C "$(SYSDIR)/$$i" dist; done	@-rm -rf $(TMPDIR)/$(ARCHIVE)	@mkdir $(TMPDIR)/$(ARCHIVE)	@cp -a * $(TMPDIR)/$(ARCHIVE)	@path="$(TMPDIR)/$(ARCHIVE)/$(notdir $(SYSDIR))";\	 for i in `ls -A -I ".*" $$path`; do if [ -f "$$path/$$i/nonpublic.mk" ]; then rm -rf "$$path/$$i"; fi; if [ -f "$$path/$$i/nonpublic.sh" ]; then (cd $$path/$$i ; source ./nonpublic.sh ; rm ./nonpublic.sh); fi; done	@strip --strip-unneeded --preserve-dates $(TMPDIR)/$(ARCHIVE)/$(notdir $(PREDIR))/*	@tar czf $(PACKAGE).tar.gz -C $(TMPDIR) $(ARCHIVE)	@-rm -rf $(TMPDIR)/$(ARCHIVE)	@echo Distribution package created as $(PACKAGE).tar.gzfulldist: clean clean-pre	@-rm -rf $(TMPDIR)/$(ARCHIVE)	@mkdir $(TMPDIR)/$(ARCHIVE)	@cp -a * $(TMPDIR)/$(ARCHIVE)	@tar czf $(PACKAGE)-full.tar.gz -C $(TMPDIR) $(ARCHIVE)	@-rm -rf $(TMPDIR)/$(ARCHIVE)	@echo Full distribution package created as $(PACKAGE)-full.tar.gz

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -