source: trunk/Maketype@ 4149

Last change on this file since 4149 was 4144, checked in by dingo35, 13 years ago

oscam-chk, oscam-nano: cleanup + check threadsafety

File size: 3.4 KB
Line 
1SHELL = /bin/sh
2
3ifeq ($(wildcard oscam-boxkeys.np), oscam-boxkeys.np)
4 KFLAG = -DCS_WITH_BOXKEYS
5endif
6
7WITH_SSL=$(subst ",,$(filter-out \#define, $(shell grep '^\#define WITH_SSL' oscam-config.h)))
8ifeq ($(WITH_SSL), WITH_SSL)
9 LIBSSL=-lssl
10endif
11
12CC = $(DS_CC)
13AR = $(DS_AR)
14STRIP = $(DS_ST)
15RANLIB = $(DS_RL)
16CFLAGS = $(DS_OPTS) $(KFLAG) $(DS_CFLAGS)
17LDFLAGS = $(DS_OPTS) $(DS_LDFLAGS)
18ARFLAGS = $(DS_ARFLAGS)
19LIBS = $(DS_LIBS) $(OS_LIBS) $(OS_PTLI) $(LIBSSL)
20export CC AR STRIP RANLIB CFLAGS LDFLAGS ARFLAGS
21
22GENERAL = Makefile Maketype globals.h oscam-config.h
23
24ifeq ($(wildcard csgbox), csgbox)
25 VERX = -gbx-$(subst ",,$(filter-out \#define GBXVERSION,$(shell grep GBXVERSION csgbox/gbox.h)))
26endif
27
28EXEFILE1 = Distribution/oscam-$(VER)$(VERX)-$(subst cygwin,cygwin.exe,$(TYP))
29EXEFILE2 = Distribution/list_smargo-$(VER)$(VERX)-$(subst cygwin,cygwin.exe,$(TYP))
30
31LIBDIR = lib
32LIBFILE1 = $(LIBDIR)/libcs-$(TYP).a
33LIBFILE2 = $(LIBDIR)/libcscrypt-$(TYP).a
34LIBFILE3 = $(LIBDIR)/libcsctapi-$(TYP).a
35
36OBJECTS1 = $(LIBFILE1)(oscam-simples.o) \
37 $(LIBFILE1)(oscam-config.o) \
38 $(LIBFILE1)(oscam-log.o) \
39 $(LIBFILE1)(oscam-reader.o) \
40 $(LIBFILE1)(reader-common.o) \
41 $(LIBFILE1)(reader-irdeto.o) \
42 $(LIBFILE1)(reader-viaccess.o) \
43 $(LIBFILE1)(reader-videoguard1.o) \
44 $(LIBFILE1)(reader-videoguard12.o) \
45 $(LIBFILE1)(reader-videoguard2.o) \
46 $(LIBFILE1)(reader-videoguard-common.o) \
47 $(LIBFILE1)(reader-nds.o) \
48 $(LIBFILE1)(reader-seca.o) \
49 $(LIBFILE1)(reader-cryptoworks.o) \
50 $(LIBFILE1)(reader-conax.o) \
51 $(LIBFILE1)(reader-dre.o) \
52 $(LIBFILE1)(reader-nagra.o) \
53 $(LIBFILE1)(reader-tongfang.o) \
54 $(LIBFILE1)(module-camd33.o) \
55 $(LIBFILE1)(module-camd35.o) \
56 $(LIBFILE1)(module-radegast.o) \
57 $(LIBFILE1)(module-serial.o) \
58 $(LIBFILE1)(module-monitor.o) \
59 $(LIBFILE1)(module-newcamd.o) \
60 $(LIBFILE1)(module-cccam.o) \
61 $(LIBFILE1)(module-constcw.o) \
62 $(LIBFILE1)(module-dvbapi.o) \
63 $(LIBFILE1)(module-obj-llist.o) \
64 $(LIBFILE1)(module-stat.o) \
65 $(LIBFILE1)(module-datastruct-llist.o) \
66 $(LIBFILE1)(oscam-chk.o) \
67 $(LIBFILE1)(oscam-http.o) \
68 $(LIBFILE1)(oscam-http-helpers.o) \
69 $(LIBFILE1)(oscam-ac.o) \
70 $(LIBFILE1)(module-coolapi.o)
71
72ifneq ($(LIBUSB),)
73all: prepare $(EXEFILE1) $(EXEFILE2)
74else
75all: prepare $(EXEFILE1)
76endif
77
78prepare:
79 @-echo "-----------------------------------------------------"
80 @-echo "Build for platform $(TYP)"
81 @-echo "-----------------------------------------------------"
82 @echo "$(TYP)" | awk -F- ' \
83 { \
84 printf("#define CS_OSTYPE \"%s\"\n", $$0); \
85 printf("#define CS_OS_CPU \"%s\"\n", $$1); \
86 printf("#define CS_OS_HW \"%s\"\n", $$2); \
87 printf("#define CS_OS_SYS \"%s\"\n", $$3); \
88 }' > oscam-ostype.h
89 @[ -d "$(LIBDIR)" ] || mkdir "$(LIBDIR)"
90
91ifeq ($(wildcard csgbox), csgbox)
92 @-echo "#define CS_WITH_GBOX 1" >> oscam-ostype.h
93 $(MAKE) -C csgbox
94endif
95
96 $(MAKE) -C cscrypt
97 $(MAKE) -C csctapi
98
99$(EXEFILE1): oscam.c $(LIBFILE1) $(LIBFILE2) $(LIBFILE3) $(GENERAL)
100 $(CC) $(LDFLAGS) oscam.c $(LIBFILE1) $(LIBFILE2) $(LIBFILE3) $(LIBUSB) $(LIBPCSC) $(LIBRT) -o "$@" $(LIBS)
101 $(STRIP) $@
102
103$(EXEFILE2): utils/list_smargo.c
104 $(CC) $(LDFLAGS) utils/list_smargo.c $(LIBUSB) $(LIBRT) -o "$@" $(LIBS)
105 $(STRIP) $@
106
107$(LIBFILE1): $(OBJECTS1)
108 -$(RANLIB) $@
109
110$(OBJECTS1): $(GENERAL)
111
112.c.a:
113 $(CC) $(CFLAGS) -Icsctapi $<
114 $(AR) $(ARFLAGS) $@ $*.o
115 -@rm -f $*.o
116
117.SUFFIXES: .o .c .a
Note: See TracBrowser for help on using the repository browser.