SHELL = /bin/sh ifeq ($(wildcard oscam-boxkeys.np), oscam-boxkeys.np) KFLAG = -DCS_WITH_BOXKEYS endif WITH_SSL=$(subst ",,$(filter-out \#define, $(shell grep '^\#define WITH_SSL' oscam-config.h))) ifeq ($(WITH_SSL), WITH_SSL) LIBSSL=-lssl endif CC = $(DS_CC) AR = $(DS_AR) STRIP = $(DS_ST) RANLIB = $(DS_RL) CFLAGS = $(DS_OPTS) $(KFLAG) $(DS_CFLAGS) LDFLAGS = $(DS_OPTS) $(DS_LDFLAGS) ARFLAGS = $(DS_ARFLAGS) LIBS = $(DS_LIBS) $(OS_LIBS) $(OS_PTLI) $(LIBSSL) export CC AR STRIP RANLIB CFLAGS LDFLAGS ARFLAGS GENERAL = Makefile Maketype globals.h oscam-config.h ifeq ($(wildcard csgbox), csgbox) VERX = -gbx-$(subst ",,$(filter-out \#define GBXVERSION,$(shell grep GBXVERSION csgbox/gbox.h))) endif EXEFILE1 = Distribution/oscam-$(VER)$(VERX)-$(subst cygwin,cygwin.exe,$(TYP)) EXEFILE2 = Distribution/list_smargo-$(VER)$(VERX)-$(subst cygwin,cygwin.exe,$(TYP)) LIBDIR = lib LIBFILE1 = $(LIBDIR)/libcs-$(TYP).a LIBFILE2 = $(LIBDIR)/libcscrypt-$(TYP).a LIBFILE3 = $(LIBDIR)/libcsctapi-$(TYP).a OBJECTS1 = $(LIBFILE1)(oscam-simples.o) \ $(LIBFILE1)(oscam-config.o) \ $(LIBFILE1)(oscam-log.o) \ $(LIBFILE1)(oscam-reader.o) \ $(LIBFILE1)(reader-common.o) \ $(LIBFILE1)(reader-irdeto.o) \ $(LIBFILE1)(reader-viaccess.o) \ $(LIBFILE1)(reader-videoguard1.o) \ $(LIBFILE1)(reader-videoguard12.o) \ $(LIBFILE1)(reader-videoguard2.o) \ $(LIBFILE1)(reader-videoguard-common.o) \ $(LIBFILE1)(reader-nds.o) \ $(LIBFILE1)(reader-seca.o) \ $(LIBFILE1)(reader-cryptoworks.o) \ $(LIBFILE1)(reader-conax.o) \ $(LIBFILE1)(reader-dre.o) \ $(LIBFILE1)(reader-nagra.o) \ $(LIBFILE1)(reader-tongfang.o) \ $(LIBFILE1)(module-camd33.o) \ $(LIBFILE1)(module-camd35.o) \ $(LIBFILE1)(module-radegast.o) \ $(LIBFILE1)(module-serial.o) \ $(LIBFILE1)(module-monitor.o) \ $(LIBFILE1)(module-newcamd.o) \ $(LIBFILE1)(module-cccam.o) \ $(LIBFILE1)(module-constcw.o) \ $(LIBFILE1)(module-dvbapi.o) \ $(LIBFILE1)(module-obj-llist.o) \ $(LIBFILE1)(module-stat.o) \ $(LIBFILE1)(module-datastruct-llist.o) \ $(LIBFILE1)(oscam-chk.o) \ $(LIBFILE1)(oscam-http.o) \ $(LIBFILE1)(oscam-http-helpers.o) \ $(LIBFILE1)(oscam-ac.o) \ $(LIBFILE1)(module-coolapi.o) ifneq ($(LIBUSB),) all: prepare $(EXEFILE1) $(EXEFILE2) else all: prepare $(EXEFILE1) endif prepare: @-echo "-----------------------------------------------------" @-echo "Build for platform $(TYP)" @-echo "-----------------------------------------------------" @echo "$(TYP)" | awk -F- ' \ { \ printf("#define CS_OSTYPE \"%s\"\n", $$0); \ printf("#define CS_OS_CPU \"%s\"\n", $$1); \ printf("#define CS_OS_HW \"%s\"\n", $$2); \ printf("#define CS_OS_SYS \"%s\"\n", $$3); \ }' > oscam-ostype.h @[ -d "$(LIBDIR)" ] || mkdir "$(LIBDIR)" ifeq ($(wildcard csgbox), csgbox) @-echo "#define CS_WITH_GBOX 1" >> oscam-ostype.h $(MAKE) -C csgbox endif $(MAKE) -C cscrypt $(MAKE) -C csctapi $(EXEFILE1): oscam.c $(LIBFILE1) $(LIBFILE2) $(LIBFILE3) $(GENERAL) $(CC) $(LDFLAGS) oscam.c $(LIBFILE1) $(LIBFILE2) $(LIBFILE3) $(LIBUSB) $(LIBPCSC) $(LIBRT) -o "$@" $(LIBS) $(STRIP) $@ $(EXEFILE2): utils/list_smargo.c $(CC) $(LDFLAGS) utils/list_smargo.c $(LIBUSB) $(LIBRT) -o "$@" $(LIBS) $(STRIP) $@ $(LIBFILE1): $(OBJECTS1) -$(RANLIB) $@ $(OBJECTS1): $(GENERAL) .c.a: $(CC) $(CFLAGS) -Icsctapi $< $(AR) $(ARFLAGS) $@ $*.o -@rm -f $*.o .SUFFIXES: .o .c .a