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