[8] | 1 | SHELL = /bin/sh
|
---|
| 2 |
|
---|
[21] | 3 | ifeq ($(wildcard oscam-boxkeys.np), oscam-boxkeys.np)
|
---|
[8] | 4 | KFLAG = -DCS_WITH_BOXKEYS
|
---|
| 5 | endif
|
---|
| 6 |
|
---|
| 7 | CC = $(DS_CC)
|
---|
| 8 | AR = $(DS_AR)
|
---|
| 9 | STRIP = $(DS_ST)
|
---|
| 10 | RANLIB = $(DS_RL)
|
---|
| 11 | CFLAGS = $(DS_OPTS) $(KFLAG) $(DS_CFLAGS)
|
---|
| 12 | LDFLAGS = $(DS_OPTS) $(DS_LDFLAGS)
|
---|
| 13 | ARFLAGS = $(DS_ARFLAGS)
|
---|
| 14 | LIBS = $(DS_LIBS) $(OS_LIBS) $(OS_PTLI)
|
---|
| 15 | export CC AR STRIP RANLIB CFLAGS LDFLAGS ARFLAGS
|
---|
| 16 |
|
---|
[21] | 17 | GENERAL = Makefile Maketype globals.h oscam-config.h
|
---|
[8] | 18 | ifeq ($(wildcard csgbox), csgbox)
|
---|
| 19 | VERX = -gbx-$(subst ",,$(filter-out \#define GBXVERSION,$(shell grep GBXVERSION csgbox/gbox.h)))
|
---|
| 20 | endif
|
---|
[21] | 21 | EXEFILE1 = Distribution/oscam-$(VER)$(VERX)-$(subst cygwin,cygwin.exe,$(TYP))
|
---|
[8] | 22 |
|
---|
| 23 |
|
---|
| 24 | LIBDIR = lib
|
---|
| 25 | LIBFILE1 = $(LIBDIR)/libcs-$(TYP).a
|
---|
| 26 | LIBFILE2 = $(LIBDIR)/libcscrypt-$(TYP).a
|
---|
| 27 | LIBFILE3 = $(LIBDIR)/libcsctapi-$(TYP).a
|
---|
| 28 |
|
---|
[21] | 29 | OBJECTS1 = $(LIBFILE1)(oscam-simples.o) \
|
---|
| 30 | $(LIBFILE1)(oscam-config.o) \
|
---|
| 31 | $(LIBFILE1)(oscam-log.o) \
|
---|
| 32 | $(LIBFILE1)(oscam-reader.o) \
|
---|
[8] | 33 | $(LIBFILE1)(reader-common.o) \
|
---|
| 34 | $(LIBFILE1)(reader-irdeto.o) \
|
---|
| 35 | $(LIBFILE1)(reader-viaccess.o) \
|
---|
[14] | 36 | $(LIBFILE1)(reader-videoguard2.o) \
|
---|
[8] | 37 | $(LIBFILE1)(reader-seca.o) \
|
---|
| 38 | $(LIBFILE1)(reader-cryptoworks.o) \
|
---|
| 39 | $(LIBFILE1)(reader-conax.o) \
|
---|
| 40 | $(LIBFILE1)(module-camd33.o) \
|
---|
| 41 | $(LIBFILE1)(module-camd35.o) \
|
---|
| 42 | $(LIBFILE1)(module-radegast.o) \
|
---|
| 43 | $(LIBFILE1)(module-serial.o) \
|
---|
| 44 | $(LIBFILE1)(module-monitor.o) \
|
---|
| 45 | $(LIBFILE1)(module-newcamd.o) \
|
---|
[21] | 46 | $(LIBFILE1)(oscam-nano.o) \
|
---|
| 47 | $(LIBFILE1)(oscam-chk.o) \
|
---|
| 48 | $(LIBFILE1)(oscam-ac.o)
|
---|
[8] | 49 |
|
---|
| 50 | all: prepare $(EXEFILE1)
|
---|
| 51 |
|
---|
| 52 | prepare:
|
---|
| 53 | @-echo "-----------------------------------------------------"
|
---|
| 54 | @-echo "Build for platform $(TYP)"
|
---|
| 55 | @-echo "-----------------------------------------------------"
|
---|
| 56 | @echo "$(TYP)" | awk -F- ' \
|
---|
| 57 | { \
|
---|
| 58 | printf("#define CS_OSTYPE \"%s\"\n", $$0); \
|
---|
| 59 | printf("#define CS_OS_CPU \"%s\"\n", $$1); \
|
---|
| 60 | printf("#define CS_OS_HW \"%s\"\n", $$2); \
|
---|
| 61 | printf("#define CS_OS_SYS \"%s\"\n", $$3); \
|
---|
[21] | 62 | }' > oscam-ostype.h
|
---|
[8] | 63 | @[ -d "$(LIBDIR)" ] || mkdir "$(LIBDIR)"
|
---|
| 64 | ifeq ($(wildcard csgbox), csgbox)
|
---|
[21] | 65 | @-echo "#define CS_WITH_GBOX 1" >> oscam-ostype.h
|
---|
[8] | 66 | $(MAKE) -C csgbox
|
---|
| 67 | endif
|
---|
| 68 | $(MAKE) -C cscrypt
|
---|
| 69 | $(MAKE) -C csctapi
|
---|
| 70 |
|
---|
[21] | 71 | $(EXEFILE1): oscam.c $(LIBFILE1) $(LIBFILE2) $(LIBFILE3) $(GENERAL)
|
---|
| 72 | $(CC) $(LDFLAGS) oscam.c $(LIBFILE1) $(LIBFILE2) $(LIBFILE3) -o "$@" $(LIBS)
|
---|
[8] | 73 | $(STRIP) $@
|
---|
| 74 |
|
---|
| 75 | $(LIBFILE1): $(OBJECTS1)
|
---|
| 76 | -$(RANLIB) $@
|
---|
| 77 |
|
---|
| 78 | $(OBJECTS1): $(GENERAL)
|
---|
| 79 |
|
---|
| 80 | .c.a:
|
---|
| 81 | $(CC) $(CFLAGS) -Icsctapi $<
|
---|
| 82 | $(AR) $(ARFLAGS) $@ $*.o
|
---|
| 83 | -@rm -f $*.o
|
---|
| 84 |
|
---|
| 85 | .SUFFIXES: .o .c .a
|
---|