From 29bca0be65fd54abbb7e8335e4ca32a6efef06a2 Mon Sep 17 00:00:00 2001 From: gorgone Date: Mon, 11 Feb 2019 01:26:19 +0100 Subject: [PATCH] delete support/configs/Makefile.master --- support/configs/Makefile.master | 795 -------------------------------- 1 file changed, 795 deletions(-) delete mode 100644 support/configs/Makefile.master diff --git a/support/configs/Makefile.master b/support/configs/Makefile.master deleted file mode 100644 index 8ea5677..0000000 --- a/support/configs/Makefile.master +++ /dev/null @@ -1,795 +0,0 @@ -SHELL = /bin/sh - -.SUFFIXES: -.SUFFIXES: .o .c -.PHONY: all tests help README.build README.config simple default debug config menuconfig allyesconfig allnoconfig defconfig clean distclean - -VER := $(shell ./config.sh --oscam-version) -SVN_REV := $(shell ./config.sh --oscam-revision) - -uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not') - -# This let's us use uname_S tests to detect cygwin -ifneq (,$(findstring CYGWIN,$(uname_S))) - uname_S := Cygwin -endif - -LINKER_VER_OPT:=-Wl,--version - -# Find OSX SDK -ifeq ($(uname_S),Darwin) - # Setting OSX_VER allows you to choose prefered version if you have - # two SDKs installed. For example if you have 10.6 and 10.5 installed - # you can choose 10.5 by using 'make USE_PCSC=1 OSX_VER=10.5' - # './config.sh --detect-osx-sdk-version' returns the newest SDK if - # SDK_VER is not set. - OSX_SDK := $(shell ./config.sh --detect-osx-sdk-version $(OSX_VER)) - LINKER_VER_OPT:=-Wl,-v -endif - -ifeq "$(shell ./config.sh --enabled WITH_SSL)" "Y" - override USE_SSL=1 - override USE_LIBCRYPTO=1 -endif -ifdef USE_SSL - override USE_LIBCRYPTO=1 -endif - -CONF_DIR = /usr/local/etc - -LIB_PTHREAD = -lpthread -LIB_DL = -ldl - -LIB_RT := -ifeq ($(uname_S),Linux) - ifeq "$(shell ./config.sh --enabled CLOCKFIX)" "Y" - LIB_RT := -lrt - endif -endif -ifeq ($(uname_S),FreeBSD) - LIB_DL := -endif - -override STD_LIBS := -lm $(LIB_PTHREAD) $(LIB_DL) $(LIB_RT) -override STD_DEFS := -D'CS_SVN_VERSION="$(SVN_REV)"' -override STD_DEFS += -D'CS_CONFDIR="$(CONF_DIR)"' - -# Compiler warnings -CC_WARN = -W -Wall -Wshadow -Wredundant-decls -Wstrict-prototypes -Wold-style-definition - -# Compiler optimizations -CC_OPTS = -O2 -ggdb -pipe -ffunction-sections -fdata-sections - -CC = $(CROSS_DIR)$(CROSS)gcc -STRIP = $(CROSS_DIR)$(CROSS)strip - -LDFLAGS = -Wl,--gc-sections - -# The linker for powerpc have bug that prevents --gc-sections from working -# Check for the linker version and if it matches disable --gc-sections -# For more information about the bug see: -# http://cygwin.com/ml/binutils/2005-01/msg00103.html -# The LD output is saved into variable and then processed, because if -# the output is piped directly into another command LD creates 4 files -# in your /tmp directory and doesn't delete them. -LINKER_VER := $(shell set -e; VER="`$(CC) $(LINKER_VER_OPT) 2>&1`"; echo $$VER | head -1 | cut -d' ' -f5) - -# dm500 toolchain -ifeq "$(LINKER_VER)" "20040727" - LDFLAGS := -endif -# dm600/7000/7020 toolchain -ifeq "$(LINKER_VER)" "20041121" - LDFLAGS := -endif -# The OS X linker do not support --gc-sections -ifeq ($(uname_S),Darwin) - LDFLAGS := -endif - -# The compiler knows for what target it compiles, so use this information -TARGET := $(shell $(CC) -dumpmachine 2>/dev/null) - -# Process USE_ variables -DEFAULT_STAPI_LIB = -L./stapi -loscam_stapi -DEFAULT_STAPI5_LIB = -L./stapi -loscam_stapi5 -DEFAULT_COOLAPI_LIB = -lnxp -lrt -DEFAULT_COOLAPI2_LIB = -llnxUKAL -llnxcssUsr -llnxscsUsr -llnxnotifyqUsr -llnxplatUsr -lrt -DEFAULT_SU980_LIB = -lentropic -lrt -DEFAULT_AZBOX_LIB = -Lextapi/openxcas -lOpenXCASAPI -DEFAULT_LIBCRYPTO_LIB = -lcrypto -DEFAULT_SSL_LIB = -lssl -ifeq ($(uname_S),Linux) - DEFAULT_LIBUSB_LIB = -lusb-1.0 -lrt -else - DEFAULT_LIBUSB_LIB = -lusb-1.0 -endif -# Since FreeBSD 8 (released in 2010) they are using their own -# libusb that is API compatible to libusb but with different soname -ifeq ($(uname_S),FreeBSD) - DEFAULT_LIBUSB_LIB = -lusb -endif -ifeq ($(uname_S),Darwin) - DEFAULT_LIBUSB_FLAGS = -I/opt/local/include - DEFAULT_LIBUSB_LIB = -L/opt/local/lib -lusb-1.0 - DEFAULT_PCSC_FLAGS = -isysroot $(OSX_SDK) - DEFAULT_PCSC_LIB = -isysroot $(OSX_SDK) -framework IOKit -framework CoreFoundation -framework PCSC -else - # Get the compiler's last include PATHs. Basicaly it is /usr/include - # but in case of cross compilation it might be something else. - # - # Since using -Iinc_path instructs the compiler to use inc_path - # (without add the toolchain system root) we need to have this hack - # to get the "real" last include path. Why we needs this? - # Well, the PCSC headers are broken and rely on having the directory - # that they are installed it to be in the include PATH. - # - # We can't just use -I/usr/include/PCSC because it won't work in - # case of cross compilation. - TOOLCHAIN_INC_DIR := $(strip $(shell echo | $(CC) -Wp,-v -xc - -fsyntax-only 2>&1 | grep include$ | tail -n 1)) - DEFAULT_PCSC_FLAGS = -I$(TOOLCHAIN_INC_DIR)/PCSC -I$(TOOLCHAIN_INC_DIR)/../local/include/PCSC - DEFAULT_PCSC_LIB = -lpcsclite -endif - -ifeq ($(uname_S),Cygwin) - DEFAULT_PCSC_LIB += -lwinscard -endif - -DEFAULT_UTF8_FLAGS = -DWITH_UTF8 - -# Function to initialize USE related variables -# Usage: $(eval $(call prepare_use_flags,FLAG_NAME,PLUS_TARGET_TEXT)) -define prepare_use_flags -override DEFAULT_$(1)_FLAGS:=$$(strip -DWITH_$(1)=1 $$(DEFAULT_$(1)_FLAGS)) -ifdef USE_$(1) - $(1)_FLAGS:=$$(DEFAULT_$(1)_FLAGS) - $(1)_CFLAGS:=$$($(1)_FLAGS) - $(1)_LDFLAGS:=$$($(1)_FLAGS) - $(1)_LIB:=$$(DEFAULT_$(1)_LIB) - ifneq "$(2)" "" - override PLUS_TARGET:=$$(PLUS_TARGET)-$(2) - endif - override USE_CFLAGS+=$$($(1)_CFLAGS) - override USE_LDFLAGS+=$$($(1)_LDFLAGS) - override USE_LIBS+=$$($(1)_LIB) - override USE_FLAGS+=$$(if $$(USE_$(1)),USE_$(1)) - endif -endef - -# Initialize USE variables -$(eval $(call prepare_use_flags,STAPI,stapi)) -$(eval $(call prepare_use_flags,STAPI5,stapi5)) -$(eval $(call prepare_use_flags,COOLAPI,coolapi)) -$(eval $(call prepare_use_flags,COOLAPI2,coolapi2)) -$(eval $(call prepare_use_flags,SU980,su980)) -$(eval $(call prepare_use_flags,AZBOX,azbox)) -$(eval $(call prepare_use_flags,MCA,mca)) -$(eval $(call prepare_use_flags,SSL,ssl)) -$(eval $(call prepare_use_flags,LIBCRYPTO,)) -$(eval $(call prepare_use_flags,LIBUSB,libusb)) -$(eval $(call prepare_use_flags,PCSC,pcsc)) -$(eval $(call prepare_use_flags,UTF8)) - -# Add PLUS_TARGET and EXTRA_TARGET to TARGET -ifdef NO_PLUS_TARGET - override TARGET := $(TARGET)$(EXTRA_TARGET) -else - override TARGET := $(TARGET)$(PLUS_TARGET)$(EXTRA_TARGET) -endif - -EXTRA_CFLAGS = $(EXTRA_FLAGS) -EXTRA_LDFLAGS = $(EXTRA_FLAGS) - -# Add USE_xxx, EXTRA_xxx and STD_xxx vars -override CC_WARN += $(EXTRA_CC_WARN) -override CC_OPTS += $(EXTRA_CC_OPTS) -override CFLAGS += $(USE_CFLAGS) $(EXTRA_CFLAGS) -override LDFLAGS += $(USE_LDFLAGS) $(EXTRA_LDFLAGS) -override LIBS += $(USE_LIBS) $(EXTRA_LIBS) $(STD_LIBS) - -override STD_DEFS += -D'CS_TARGET="$(TARGET)"' - -# Setup quiet build -Q = -SAY = @true -ifndef V - Q = @ - NP = --no-print-directory - SAY = @echo -endif - -BINDIR := Distribution -override BUILD_DIR := build -OBJDIR := $(BUILD_DIR)/$(TARGET) - -# Include config.mak which contains variables for all enabled modules -# These variables will be used to select only needed files for compilation --include $(OBJDIR)/config.mak - -OSCAM_BIN := $(BINDIR)/oscam-$(VER)$(SVN_REV)-$(subst cygwin,cygwin.exe,$(TARGET)) -TESTS_BIN := tests.bin -LIST_SMARGO_BIN := $(BINDIR)/list_smargo-$(VER)$(SVN_REV)-$(subst cygwin,cygwin.exe,$(TARGET)) - -# Build list_smargo-.... only when WITH_LIBUSB build is requested. -ifndef USE_LIBUSB - override LIST_SMARGO_BIN = -endif - -SRC-$(CONFIG_LIB_AES) += cscrypt/aes.c -SRC-$(CONFIG_LIB_BIGNUM) += cscrypt/bn_add.c -SRC-$(CONFIG_LIB_BIGNUM) += cscrypt/bn_asm.c -SRC-$(CONFIG_LIB_BIGNUM) += cscrypt/bn_ctx.c -SRC-$(CONFIG_LIB_BIGNUM) += cscrypt/bn_div.c -SRC-$(CONFIG_LIB_BIGNUM) += cscrypt/bn_exp.c -SRC-$(CONFIG_LIB_BIGNUM) += cscrypt/bn_lib.c -SRC-$(CONFIG_LIB_BIGNUM) += cscrypt/bn_mul.c -SRC-$(CONFIG_LIB_BIGNUM) += cscrypt/bn_print.c -SRC-$(CONFIG_LIB_BIGNUM) += cscrypt/bn_shift.c -SRC-$(CONFIG_LIB_BIGNUM) += cscrypt/bn_sqr.c -SRC-$(CONFIG_LIB_BIGNUM) += cscrypt/bn_word.c -SRC-$(CONFIG_LIB_BIGNUM) += cscrypt/mem.c -SRC-$(CONFIG_LIB_DES) += cscrypt/des.c -SRC-$(CONFIG_LIB_IDEA) += cscrypt/i_cbc.c -SRC-$(CONFIG_LIB_IDEA) += cscrypt/i_ecb.c -SRC-$(CONFIG_LIB_IDEA) += cscrypt/i_skey.c -SRC-y += cscrypt/md5.c -SRC-$(CONFIG_LIB_RC6) += cscrypt/rc6.c -SRC-$(CONFIG_LIB_SHA1) += cscrypt/sha1.c -SRC-$(CONFIG_LIB_MDC2) += cscrypt/mdc2.c -SRC-$(CONFIG_LIB_FAST_AES) += cscrypt/fast_aes.c -SRC-$(CONFIG_LIB_SHA256) += cscrypt/sha256.c - -SRC-$(CONFIG_WITH_CARDREADER) += csctapi/atr.c -SRC-$(CONFIG_WITH_CARDREADER) += csctapi/icc_async.c -SRC-$(CONFIG_WITH_CARDREADER) += csctapi/io_serial.c -SRC-$(CONFIG_WITH_CARDREADER) += csctapi/protocol_t0.c -SRC-$(CONFIG_WITH_CARDREADER) += csctapi/protocol_t1.c -SRC-$(CONFIG_CARDREADER_INTERNAL_AZBOX) += csctapi/ifd_azbox.c -SRC-$(CONFIG_CARDREADER_INTERNAL_COOLAPI) += csctapi/ifd_cool.c -SRC-$(CONFIG_CARDREADER_INTERNAL_COOLAPI2) += csctapi/ifd_cool.c -SRC-$(CONFIG_CARDREADER_DB2COM) += csctapi/ifd_db2com.c -SRC-$(CONFIG_CARDREADER_MP35) += csctapi/ifd_mp35.c -SRC-$(CONFIG_CARDREADER_PCSC) += csctapi/ifd_pcsc.c -SRC-$(CONFIG_CARDREADER_PHOENIX) += csctapi/ifd_phoenix.c -SRC-$(CONFIG_CARDREADER_DRECAS) += csctapi/ifd_drecas.c -SRC-$(CONFIG_CARDREADER_SC8IN1) += csctapi/ifd_sc8in1.c -SRC-$(CONFIG_CARDREADER_INTERNAL_SCI) += csctapi/ifd_sci.c -SRC-$(CONFIG_CARDREADER_SMARGO) += csctapi/ifd_smargo.c -SRC-$(CONFIG_CARDREADER_SMART) += csctapi/ifd_smartreader.c -SRC-$(CONFIG_CARDREADER_STINGER) += csctapi/ifd_stinger.c -SRC-$(CONFIG_CARDREADER_STAPI) += csctapi/ifd_stapi.c -SRC-$(CONFIG_CARDREADER_STAPI5) += csctapi/ifd_stapi.c - -SRC-$(CONFIG_LIB_MINILZO) += minilzo/minilzo.c - -SRC-$(CONFIG_CS_ANTICASC) += module-anticasc.c -SRC-$(CONFIG_CS_CACHEEX) += module-cacheex.c -SRC-$(CONFIG_MODULE_CAMD33) += module-camd33.c -SRC-$(CONFIG_CS_CACHEEX) += module-camd35-cacheex.c -SRC-$(sort $(CONFIG_MODULE_CAMD35) $(CONFIG_MODULE_CAMD35_TCP)) += module-camd35.c -SRC-$(CONFIG_CS_CACHEEX) += module-cccam-cacheex.c -SRC-$(CONFIG_MODULE_CCCAM) += module-cccam.c -SRC-$(CONFIG_MODULE_CCCSHARE) += module-cccshare.c -SRC-$(CONFIG_MODULE_CONSTCW) += module-constcw.c -SRC-$(CONFIG_CS_CACHEEX) += module-csp.c -SRC-$(CONFIG_CW_CYCLE_CHECK) += module-cw-cycle-check.c -SRC-$(CONFIG_WITH_AZBOX) += module-dvbapi-azbox.c -SRC-$(CONFIG_WITH_MCA) += module-dvbapi-mca.c -### SRC-$(CONFIG_WITH_COOLAPI) += module-dvbapi-coolapi.c -### experimental reversed API -SRC-$(CONFIG_WITH_COOLAPI) += module-dvbapi-coolapi-legacy.c -SRC-$(CONFIG_WITH_COOLAPI2) += module-dvbapi-coolapi.c -SRC-$(CONFIG_WITH_SU980) += module-dvbapi-coolapi.c -SRC-$(CONFIG_WITH_STAPI) += module-dvbapi-stapi.c -SRC-$(CONFIG_WITH_STAPI5) += module-dvbapi-stapi5.c -SRC-$(CONFIG_HAVE_DVBAPI) += module-dvbapi-chancache.c -SRC-$(CONFIG_HAVE_DVBAPI) += module-dvbapi.c -SRC-$(CONFIG_MODULE_GBOX) += module-gbox-helper.c -SRC-$(CONFIG_MODULE_GBOX) += module-gbox-sms.c -SRC-$(CONFIG_MODULE_GBOX) += module-gbox-remm.c -SRC-$(CONFIG_MODULE_GBOX) += module-gbox-cards.c -SRC-$(CONFIG_MODULE_GBOX) += module-gbox.c -SRC-$(CONFIG_IRDETO_GUESSING) += module-ird-guess.c -SRC-$(CONFIG_LCDSUPPORT) += module-lcd.c -SRC-$(CONFIG_LEDSUPPORT) += module-led.c -SRC-$(CONFIG_MODULE_MONITOR) += module-monitor.c -SRC-$(CONFIG_MODULE_NEWCAMD) += module-newcamd.c -SRC-$(CONFIG_MODULE_NEWCAMD) += module-newcamd-des.c -SRC-$(CONFIG_MODULE_PANDORA) += module-pandora.c -SRC-$(CONFIG_MODULE_GHTTP) += module-ghttp.c -SRC-$(CONFIG_MODULE_RADEGAST) += module-radegast.c -SRC-$(CONFIG_MODULE_SCAM) += module-scam.c -SRC-$(CONFIG_MODULE_SERIAL) += module-serial.c -SRC-$(CONFIG_WITH_LB) += module-stat.c -SRC-$(CONFIG_WEBIF) += module-webif-lib.c -SRC-$(CONFIG_WEBIF) += module-webif-tpl.c -SRC-$(CONFIG_WEBIF) += module-webif.c -SRC-$(CONFIG_WEBIF) += webif/pages.c -SRC-$(CONFIG_WITH_CARDREADER) += reader-common.c -SRC-$(CONFIG_READER_BULCRYPT) += reader-bulcrypt.c -SRC-$(CONFIG_READER_CONAX) += reader-conax.c -SRC-$(CONFIG_READER_CRYPTOWORKS) += reader-cryptoworks.c -SRC-$(CONFIG_READER_DGCRYPT) += reader-dgcrypt.c -SRC-$(CONFIG_READER_DRE) += reader-dre.c -SRC-$(CONFIG_READER_DRE) += reader-dre-cas.c -SRC-$(CONFIG_READER_DRE) += reader-dre-common.c -SRC-$(CONFIG_READER_DRE) += reader-dre-st20.c -SRC-$(CONFIG_READER_GRIFFIN) += reader-griffin.c -SRC-$(CONFIG_READER_IRDETO) += reader-irdeto.c -SRC-$(CONFIG_READER_NAGRA_COMMON) += reader-nagra-common.c -SRC-$(CONFIG_READER_NAGRA) += reader-nagra.c -SRC-$(CONFIG_READER_NAGRA_MERLIN) += reader-nagracak7.c -SRC-$(CONFIG_READER_SECA) += reader-seca.c -SRC-$(CONFIG_READER_TONGFANG) += reader-tongfang.c -SRC-$(CONFIG_READER_VIACCESS) += reader-viaccess.c -SRC-$(CONFIG_READER_VIDEOGUARD) += reader-videoguard-common.c -SRC-$(CONFIG_READER_VIDEOGUARD) += reader-videoguard1.c -SRC-$(CONFIG_READER_VIDEOGUARD) += reader-videoguard12.c -SRC-$(CONFIG_READER_VIDEOGUARD) += reader-videoguard2.c -SRC-y += oscam-aes.c -SRC-y += oscam-array.c -SRC-y += oscam-hashtable.c -SRC-y += oscam-cache.c -SRC-y += oscam-chk.c -SRC-y += oscam-client.c -SRC-y += oscam-conf.c -SRC-y += oscam-conf-chk.c -SRC-y += oscam-conf-mk.c -SRC-y += oscam-config-account.c -SRC-y += oscam-config-global.c -SRC-y += oscam-config-reader.c -SRC-y += oscam-config.c -SRC-y += oscam-ecm.c -SRC-y += oscam-emm.c -SRC-y += oscam-emm-cache.c -SRC-y += oscam-failban.c -SRC-y += oscam-files.c -SRC-y += oscam-garbage.c -SRC-y += oscam-lock.c -SRC-y += oscam-log.c -SRC-y += oscam-log-reader.c -SRC-y += oscam-net.c -SRC-y += oscam-llist.c -SRC-y += oscam-reader.c -SRC-y += oscam-simples.c -SRC-y += oscam-string.c -SRC-y += oscam-time.c -SRC-y += oscam-work.c -SRC-y += oscam.c -# config.c is automatically generated by config.sh in OBJDIR -SRC-y += config.c -ifdef BUILD_TESTS - SRC-y += tests.c - override STD_DEFS += -DBUILD_TESTS=1 -endif - -SRC := $(SRC-y) -OBJ := $(addprefix $(OBJDIR)/,$(subst .c,.o,$(SRC))) -SRC := $(subst config.c,$(OBJDIR)/config.c,$(SRC)) - -# The default build target rebuilds the config.mak if needed and then -# starts the compilation. -all: - @./config.sh --use-flags "$(USE_FLAGS)" --objdir "$(OBJDIR)" --make-config.mak - @-mkdir -p $(OBJDIR)/cscrypt $(OBJDIR)/csctapi $(OBJDIR)/minilzo $(OBJDIR)/webif - @-printf "\ -+-------------------------------------------------------------------------------\n\ -| OSCam ver: $(VER) rev: $(SVN_REV) target: $(TARGET)\n\ -| Tools:\n\ -| CROSS = $(CROSS_DIR)$(CROSS)\n\ -| CC = $(CC)\n\ -| Settings:\n\ -| CONF_DIR = $(CONF_DIR)\n\ -| CC_OPTS = $(strip $(CC_OPTS))\n\ -| CC_WARN = $(strip $(CC_WARN))\n\ -| CFLAGS = $(strip $(CFLAGS))\n\ -| LDFLAGS = $(strip $(LDFLAGS))\n\ -| LIBS = $(strip $(LIBS))\n\ -| UseFlags = $(addsuffix =1,$(USE_FLAGS))\n\ -| Config:\n\ -| Addons : $(shell ./config.sh --use-flags "$(USE_FLAGS)" --show-enabled addons)\n\ -| Protocols: $(shell ./config.sh --use-flags "$(USE_FLAGS)" --show-enabled protocols | sed -e 's|MODULE_||g')\n\ -| Readers : $(shell ./config.sh --use-flags "$(USE_FLAGS)" --show-enabled readers | sed -e 's|READER_||g')\n\ -| CardRdrs : $(shell ./config.sh --use-flags "$(USE_FLAGS)" --show-enabled card_readers | sed -e 's|CARDREADER_||g')\n\ -| Compiler : $(shell $(CC) --version 2>/dev/null | head -n 1)\n\ -| Config : $(OBJDIR)/config.mak\n\ -| Binary : $(OSCAM_BIN)\n\ -+-------------------------------------------------------------------------------\n" -ifeq "$(shell ./config.sh --enabled WEBIF)" "Y" - @$(MAKE) --no-print-directory --quiet -C webif -endif - @$(MAKE) --no-print-directory $(OSCAM_BIN) $(LIST_SMARGO_BIN) - -$(OSCAM_BIN).debug: $(OBJ) - $(SAY) "LINK $@" - $(Q)$(CC) $(LDFLAGS) $(OBJ) $(LIBS) -o $@ - -$(OSCAM_BIN): $(OSCAM_BIN).debug - $(SAY) "STRIP $@" - $(Q)cp $(OSCAM_BIN).debug $(OSCAM_BIN) - $(Q)$(STRIP) $(OSCAM_BIN) - -$(LIST_SMARGO_BIN): utils/list_smargo.c - $(SAY) "BUILD $@" - $(Q)$(CC) $(STD_DEFS) $(CC_OPTS) $(CC_WARN) $(CFLAGS) $(LDFLAGS) utils/list_smargo.c $(LIBS) -o $@ - -$(OBJDIR)/config.o: $(OBJDIR)/config.c - $(SAY) "CONF $<" - $(Q)$(CC) $(STD_DEFS) $(CC_OPTS) $(CC_WARN) $(CFLAGS) -c $< -o $@ - -$(OBJDIR)/%.o: %.c Makefile - @$(CC) -MP -MM -MT $@ -o $(subst .o,.d,$@) $< - $(SAY) "CC $<" - $(Q)$(CC) $(STD_DEFS) $(CC_OPTS) $(CC_WARN) $(CFLAGS) -c $< -o $@ - --include $(subst .o,.d,$(OBJ)) - -tests: - @-$(MAKE) --no-print-directory BUILD_TESTS=1 OSCAM_BIN=$(TESTS_BIN) - @-touch oscam.c -# The above is really hideous hack :-) If we don't force oscam.c recompilation -# after we've build the tests binary, the next "normal" compilation would fail -# because there would be no run_tests() function. So the touch is there to -# ensure oscam.c would be recompiled. - -config: - $(SHELL) ./config.sh --gui - -menuconfig: config - -allyesconfig: - @echo "Enabling all config options." - @-$(SHELL) ./config.sh --enable all - -allnoconfig: - @echo "Disabling all config options." - @-$(SHELL) ./config.sh --disable all - -defconfig: - @echo "Restoring default config." - @-$(SHELL) ./config.sh --restore - -clean: - @-for FILE in $(BUILD_DIR)/* $(TESTS_BIN) $(TESTS_BIN).debug; do \ - echo "RM $$FILE"; \ - rm -rf $$FILE; \ - done - @-rm -rf $(BUILD_DIR) lib - -distclean: clean - @-for FILE in $(BINDIR)/list_smargo-* $(BINDIR)/oscam-$(VER)*; do \ - echo "RM $$FILE"; \ - rm -rf $$FILE; \ - done - @-$(MAKE) --no-print-directory --quiet -C webif clean - -README.build: - @echo "Extracting 'make help' into $@ file." - @-printf "\ -** This file is generated from 'make help' output, do not edit it. **\n\ -\n\ -" > $@ - @-$(MAKE) --no-print-directory help >> $@ - @echo "Done." - -README.config: - @echo "Extracting 'config.sh --help' into $@ file." - @-printf "\ -** This file is generated from 'config.sh --help' output, do not edit it. **\n\ -\n\ -" > $@ - @-./config.sh --help >> $@ - @echo "Done." - -help: - @-printf "\ -OSCam build system documentation\n\ -================================\n\ -\n\ - Build variables:\n\ - The build variables are set on the make command line and control the build\n\ - process. Setting the variables lets you enable additional features, request\n\ - extra libraries and more. Currently recognized build variables are:\n\ -\n\ - CROSS=prefix - Set tools prefix. This variable is used when OScam is being\n\ - cross compiled. For example if you want to cross compile\n\ - for SH4 architecture you can run: 'make CROSS=sh4-linux-'\n\ - If you don't have the directory where cross compilers are\n\ - in your PATH you can run:\n\ - 'make CROSS=/opt/STM/STLinux-2.3/devkit/sh4/bin/sh4-linux-'\n\ -\n\ - CROSS_DIR=dir - Set tools directory. This variable is added in front of\n\ - CROSS variable. CROSS_DIR is useful if you want to use\n\ - predefined targets that are setting CROSS, but you don't have\n\ - the cross compilers in your PATH. For example:\n\ - 'make sh4 CROSS_DIR=/opt/STM/STLinux-2.3/devkit/sh4/bin/'\n\ - 'make dm500 CROSS_DIR=/opt/cross/dm500/cdk/bin/'\n\ -\n\ - CONF_DIR=/dir - Set OSCam config directory. For example to change config\n\ - directory to /etc run: 'make CONF_DIR=/etc'\n\ - The default config directory is: '$(CONF_DIR)'\n\ -\n\ - CC_OPTS=text - This variable holds compiler optimization parameters.\n\ - Default CC_OPTS value is:\n\ - '$(CC_OPTS)'\n\ - To add text to this variable set EXTRA_CC_OPTS=text.\n\ -\n\ - CC_WARN=text - This variable holds compiler warning parameters.\n\ - Default CC_WARN value is:\n\ - '$(CC_WARN)'\n\ - To add text to this variable set EXTRA_CC_WARN=text.\n\ -\n\ - V=1 - Request build process to print verbose messages. By\n\ - default the only messages that are shown are simple info\n\ - what is being compiled. To request verbose build run:\n\ - 'make V=1'\n\ -\n\ - Extra build variables:\n\ - These variables add text to build variables. They are useful if you want\n\ - to add additional options to already set variables without overwriting them\n\ - Currently defined EXTRA_xxx variables are:\n\ -\n\ - EXTRA_CC_OPTS - Add text to CC_OPTS.\n\ - Example: 'make EXTRA_CC_OPTS=-Os'\n\ -\n\ - EXTRA_CC_WARN - Add text to CC_WARN.\n\ - Example: 'make EXTRA_CC_WARN=-Wshadow'\n\ -\n\ - EXTRA_TARGET - Add text to TARGET.\n\ - Example: 'make EXTRA_TARGET=-private'\n\ -\n\ - EXTRA_CFLAGS - Add text to CFLAGS (affects compilation).\n\ - Example: 'make EXTRA_CFLAGS=\"-DBLAH=1 -I/opt/local\"'\n\ -\n\ - EXTRA_LDFLAGS - Add text to LDFLAGS (affects linking).\n\ - Example: 'make EXTRA_LDFLAGS=-Llibdir'\n\ -\n\ - EXTRA_FLAGS - Add text to both EXTRA_CFLAGS and EXTRA_LDFLAGS.\n\ - Example: 'make EXTRA_FLAGS=-DBLAH=1'\n\ -\n\ - EXTRA_LIBS - Add text to LIBS (affects linking).\n\ - Example: 'make EXTRA_LIBS=\"-L./stapi -loscam_stapi\"'\n\ -\n\ - Use flags:\n\ - Use flags are used to request additional libraries or features to be used\n\ - by OSCam. Currently defined USE_xxx flags are:\n\ -\n\ - USE_LIBUSB=1 - Request linking with libusb. The variables that control\n\ - USE_LIBUSB=1 build are:\n\ - LIBUSB_FLAGS='$(DEFAULT_LIBUSB_FLAGS)'\n\ - LIBUSB_CFLAGS='$(DEFAULT_LIBUSB_FLAGS)'\n\ - LIBUSB_LDFLAGS='$(DEFAULT_LIBUSB_FLAGS)'\n\ - LIBUSB_LIB='$(DEFAULT_LIBUSB_LIB)'\n\ - Using USE_LIBUSB=1 adds to '-libusb' to PLUS_TARGET.\n\ - To build with static libusb, set the variable LIBUSB_LIB\n\ - to contain full path of libusb library. For example:\n\ - make USE_LIBUSB=1 LIBUSB_LIB=/usr/lib/libusb-1.0.a\n\ -\n\ - USE_PCSC=1 - Request linking with PCSC. The variables that control\n\ - USE_PCSC=1 build are:\n\ - PCSC_FLAGS='$(DEFAULT_PCSC_FLAGS)'\n\ - PCSC_CFLAGS='$(DEFAULT_PCSC_FLAGS)'\n\ - PCSC_LDFLAGS='$(DEFAULT_PCSC_FLAGS)'\n\ - PCSC_LIB='$(DEFAULT_PCSC_LIB)'\n\ - Using USE_PCSC=1 adds to '-pcsc' to PLUS_TARGET.\n\ - To build with static PCSC, set the variable PCSC_LIB\n\ - to contain full path of PCSC library. For example:\n\ - make USE_PCSC=1 PCSC_LIB=/usr/local/lib/libpcsclite.a\n\ -\n\ - USE_STAPI=1 - Request linking with STAPI. The variables that control\n\ - USE_STAPI=1 build are:\n\ - STAPI_FLAGS='$(DEFAULT_STAPI_FLAGS)'\n\ - STAPI_CFLAGS='$(DEFAULT_STAPI_FLAGS)'\n\ - STAPI_LDFLAGS='$(DEFAULT_STAPI_FLAGS)'\n\ - STAPI_LIB='$(DEFAULT_STAPI_LIB)'\n\ - Using USE_STAPI=1 adds to '-stapi' to PLUS_TARGET.\n\ - In order for USE_STAPI to work you have to create stapi\n\ - directory and put liboscam_stapi.a file in it.\n\ -\n\ - USE_STAPI5=1 - Request linking with STAPI5. The variables that control\n\ - USE_STAPI5=1 build are:\n\ - STAPI5_FLAGS='$(DEFAULT_STAPI5_FLAGS)'\n\ - STAPI5_CFLAGS='$(DEFAULT_STAPI5_FLAGS)'\n\ - STAPI5_LDFLAGS='$(DEFAULT_STAPI5_FLAGS)'\n\ - STAPI5_LIB='$(DEFAULT_STAPI5_LIB)'\n\ - Using USE_STAPI5=1 adds to '-stapi' to PLUS_TARGET.\n\ - In order for USE_STAPI5 to work you have to create stapi\n\ - directory and put liboscam_stapi5.a file in it.\n\ -\n\ - USE_COOLAPI=1 - Request support for Coolstream API (libnxp) aka NeutrinoHD\n\ - box. The variables that control the build are:\n\ - COOLAPI_FLAGS='$(DEFAULT_COOLAPI_FLAGS)'\n\ - COOLAPI_CFLAGS='$(DEFAULT_COOLAPI_FLAGS)'\n\ - COOLAPI_LDFLAGS='$(DEFAULT_COOLAPI_FLAGS)'\n\ - COOLAPI_LIB='$(DEFAULT_COOLAPI_LIB)'\n\ - Using USE_COOLAPI=1 adds to '-coolapi' to PLUS_TARGET.\n\ - In order for USE_COOLAPI to work you have to have libnxp.so\n\ - library in your cross compilation toolchain.\n\ -\n\ - USE_COOLAPI2=1 - Request support for Coolstream API aka NeutrinoHD\n\ - box. The variables that control the build are:\n\ - COOLAPI_FLAGS='$(DEFAULT_COOLAPI2_FLAGS)'\n\ - COOLAPI_CFLAGS='$(DEFAULT_COOLAPI2_FLAGS)'\n\ - COOLAPI_LDFLAGS='$(DEFAULT_COOLAPI2_FLAGS)'\n\ - COOLAPI_LIB='$(DEFAULT_COOLAPI2_LIB)'\n\ - Using USE_COOLAPI2=1 adds to '-coolapi2' to PLUS_TARGET.\n\ - In order for USE_COOLAPI2 to work you have to have liblnxUKAL.so,\n\ - liblnxcssUsr.so, liblnxscsUsr.so, liblnxnotifyqUsr.so, liblnxplatUsr.so\n\ - library in your cross compilation toolchain.\n\ -\n\ - USE_SU980=1 - Request support for SU980 API (libentropic) aka Enimga2 arm\n\ - box. The variables that control the build are:\n\ - COOLAPI_FLAGS='$(DEFAULT_SU980_FLAGS)'\n\ - COOLAPI_CFLAGS='$(DEFAULT_SU980_FLAGS)'\n\ - COOLAPI_LDFLAGS='$(DEFAULT_SU980_FLAGS)'\n\ - COOLAPI_LIB='$(DEFAULT_SU980_LIB)'\n\ - Using USE_SU980=1 adds to '-su980' to PLUS_TARGET.\n\ - In order for USE_SU980 to work you have to have libentropic.a\n\ - library in your cross compilation toolchain.\n\ -\n\ - USE_AZBOX=1 - Request support for AZBOX (openxcas)\n\ - box. The variables that control the build are:\n\ - AZBOX_FLAGS='$(DEFAULT_AZBOX_FLAGS)'\n\ - AZBOX_CFLAGS='$(DEFAULT_AZBOX_FLAGS)'\n\ - AZBOX_LDFLAGS='$(DEFAULT_AZBOX_FLAGS)'\n\ - AZBOX_LIB='$(DEFAULT_AZBOX_LIB)'\n\ - Using USE_AZBOX=1 adds to '-azbox' to PLUS_TARGET.\n\ - extapi/openxcas/libOpenXCASAPI.a library that is shipped\n\ - with OSCam is compiled for MIPSEL.\n\ -\n\ - USE_MCA=1 - Request support for Matrix Cam Air (MCA).\n\ - The variables that control the build are:\n\ - MCA_FLAGS='$(DEFAULT_MCA_FLAGS)'\n\ - MCA_CFLAGS='$(DEFAULT_MCA_FLAGS)'\n\ - MCA_LDFLAGS='$(DEFAULT_MCA_FLAGS)'\n\ - Using USE_MCA=1 adds to '-mca' to PLUS_TARGET.\n\ -\n\ - USE_LIBCRYPTO=1 - Request linking with libcrypto instead of using OSCam\n\ - internal crypto functions. USE_LIBCRYPTO is automatically\n\ - enabled if the build is configured with SSL support. The\n\ - variables that control USE_LIBCRYPTO=1 build are:\n\ - LIBCRYPTO_FLAGS='$(DEFAULT_LIBCRYPTO_FLAGS)'\n\ - LIBCRYPTO_CFLAGS='$(DEFAULT_LIBCRYPTO_FLAGS)'\n\ - LIBCRYPTO_LDFLAGS='$(DEFAULT_LIBCRYPTO_FLAGS)'\n\ - LIBCRYPTO_LIB='$(DEFAULT_LIBCRYPTO_LIB)'\n\ -\n\ - USE_SSL=1 - Request linking with libssl. USE_SSL is automatically\n\ - enabled if the build is configured with SSL support. The\n\ - variables that control USE_SSL=1 build are:\n\ - SSL_FLAGS='$(DEFAULT_SSL_FLAGS)'\n\ - SSL_CFLAGS='$(DEFAULT_SSL_FLAGS)'\n\ - SSL_LDFLAGS='$(DEFAULT_SSL_FLAGS)'\n\ - SSL_LIB='$(DEFAULT_SSL_LIB)'\n\ - Using USE_SSL=1 adds to '-ssl' to PLUS_TARGET.\n\ -\n\ - USE_UTF8=1 - Request UTF-8 enabled webif by default.\n\ -\n\ - Automatically intialized variables:\n\ -\n\ - TARGET=text - This variable is auto detected by using the compiler's\n\ - -dumpmachine output. To see the target on your machine run:\n\ - 'gcc -dumpmachine'\n\ -\n\ - PLUS_TARGET - This variable is added to TARGET and it is set depending\n\ - on the chosen USE_xxx flags. To disable adding\n\ - PLUS_TARGET to TARGET, set NO_PLUS_TARGET=1\n\ -\n\ - BINDIR - The directory where final oscam binary would be put. The\n\ - default is: $(BINDIR)\n\ -\n\ - OSCAM_BIN=text - This variable controls how the oscam binary will be named.\n\ - Default OSCAM_BIN value is:\n\ - 'BINDIR/oscam-VERSVN_REV-TARGET'\n\ - Once the variables (BINDIR, VER, SVN_REV and TARGET) are\n\ - replaced, the resulting filename can look like this:\n\ - 'Distribution/oscam-1.20-unstable_svn7404-i486-slackware-linux-static'\n\ - For example you can run: 'make OSCAM_BIN=my-oscam'\n\ -\n\ - Binaries compiled and run during the OSCam build:\n\ -\n\ - OSCam builds webif/pages_gen binary that is run by the build system to\n\ - generate file that holds web pages. To build this binary two variables\n\ - are used:\n\ -\n\ - HOSTCC=gcc - The compiler used for building binaries that are run on\n\ - the build machine (the host). Default: gcc\n\ - To use clang for example run: make CC=clang HOSTCC=clang\n\ -\n\ - HOSTCFLAGS=xxx - The CFLAGS passed to HOSTCC. See webif/Makefile for the\n\ - default host cflags.\n\ -\n\ - Config targets:\n\ - make config - Start configuration utility.\n\ - make allyesconfig - Enable all configuration options.\n\ - make allnoconfig - Disable all configuration options.\n\ - make defconfig - Restore default configuration options.\n\ -\n\ - Cleaning targets:\n\ - make clean - Remove '$(BUILD_DIR)' directory which contains compiled\n\ - object files.\n\ - make distclean - Executes clean target and also removes binary files\n\ - located in '$(BINDIR)' directory.\n\ -\n\ - Build system files:\n\ - config.sh - OSCam configuration. Run 'config.sh --help' to see\n\ - available parameters or 'make config' to start GUI\n\ - configuratior.\n\ - Makefile - Main build system file.\n\ - Makefile.extra - Contains predefined targets. You can use this file\n\ - as example on how to use the build system.\n\ - Makefile.local - This file is included in Makefile and allows creation\n\ - of local build system targets. See Makefile.extra for\n\ - examples.\n\ -\n\ - Here are some of the interesting predefined targets in Makefile.extra.\n\ - To use them run 'make target ...' where ... can be any extra flag. For\n\ - example if you want to compile OSCam for Dreambox (DM500) but do not\n\ - have the compilers in the path, you can run:\n\ - make dm500 CROSS_DIR=/opt/cross/dm500/cdk/bin/\n\ -\n\ - Predefined targets in Makefile.extra:\n\ -\n\ - make libusb - Builds OSCam with libusb support\n\ - make pcsc - Builds OSCam with PCSC support\n\ - make pcsc-libusb - Builds OSCam with PCSC and libusb support\n\ - make dm500 - Builds OSCam for Dreambox (DM500)\n\ - make sh4 - Builds OSCam for SH4 boxes\n\ - make azbox - Builds OSCam for AZBox STBs\n\ - make mca - Builds OSCam for Matrix Cam Air (MCA)\n\ - make coolstream - Builds OSCam for Coolstream HD1\n\ - make coolstream2 - Builds OSCam for Coolstream HD2\n\ - make dockstar - Builds OSCam for Dockstar\n\ - make qboxhd - Builds OSCam for QBoxHD STBs\n\ - make opensolaris - Builds OSCam for OpenSolaris\n\ - make uclinux - Builds OSCam for m68k uClinux\n\ -\n\ - Predefined targets for static builds:\n\ - make static - Builds OSCam statically\n\ - make static-libusb - Builds OSCam with libusb linked statically\n\ - make static-libcrypto - Builds OSCam with libcrypto linked statically\n\ - make static-ssl - Builds OSCam with SSL support linked statically\n\ -\n\ - Developer targets:\n\ - make tests - Builds '$(TESTS_BIN)' binary\n\ -\n\ - Examples:\n\ - Build OSCam for SH4 (the compilers are in the path):\n\ - make CROSS=sh4-linux-\n\n\ - Build OSCam for SH4 (the compilers are in not in the path):\n\ - make sh4 CROSS_DIR=/opt/STM/STLinux-2.3/devkit/sh4/bin/\n\ - make CROSS_DIR=/opt/STM/STLinux-2.3/devkit/sh4/bin/ CROSS=sh4-linux-\n\ - make CROSS=/opt/STM/STLinux-2.3/devkit/sh4/bin/sh4-linux-\n\n\ - Build OSCam for SH4 with STAPI:\n\ - make CROSS=sh4-linux- USE_STAPI=1\n\n\ - Build OSCam for SH4 with STAPI and changed configuration directory:\n\ - make CROSS=sh4-linux- USE_STAPI=1 CONF_DIR=/var/tuxbox/config\n\n\ - Build OSCam for ARM with COOLAPI (coolstream aka NeutrinoHD):\n\ - make CROSS=arm-cx2450x-linux-gnueabi- USE_COOLAPI=1\n\n\ - Build OSCam for ARM with COOLAPI2 (coolstream aka NeutrinoHD):\n\ - make CROSS=arm-pnx8400-linux-uclibcgnueabi- USE_COOLAPI2=1\n\n\ - Build OSCam for MIPSEL with AZBOX support:\n\ - make CROSS=mipsel-linux-uclibc- USE_AZBOX=1\n\n\ - Build OSCam for ARM with MCA support:\n\ - make CROSS=arm-none-linux-gnueabi- USE_MCA=1\n\n\ - Build OSCam with libusb and PCSC:\n\ - make USE_LIBUSB=1 USE_PCSC=1\n\n\ - Build OSCam with static libusb:\n\ - make USE_LIBUSB=1 LIBUSB_LIB=\"/usr/lib/libusb-1.0.a\"\n\n\ - Build OSCam with static libcrypto:\n\ - make USE_LIBCRYPTO=1 LIBCRYPTO_LIB=\"/usr/lib/libcrypto.a\"\n\n\ - Build OSCam with static libssl and libcrypto:\n\ - make USE_SSL=1 SSL_LIB=\"/usr/lib/libssl.a\" LIBCRYPTO_LIB=\"/usr/lib/libcrypto.a\"\n\n\ - Build with verbose messages and size optimizations:\n\ - make V=1 CC_OPTS=-Os\n\n\ - Build and set oscam file name:\n\ - make OSCAM_BIN=oscam\n\n\ - Build and set oscam file name depending on revision:\n\ - make OSCAM_BIN=oscam-\`./config.sh -r\`\n\n\ -" - -simple: all -default: all -debug: all - --include Makefile.extra --include Makefile.local