source: svn/trunk/newcon3bcm2_21bu/nexus/modules/transport/7552/transport.inc

Last change on this file was 2, checked in by phkim, 11 years ago

1.phkim

  1. revision copy newcon3sk r27
  • Property svn:executable set to *
File size: 21.0 KB
Line 
1############################################################
2#     (c)2007-2011 Broadcom Corporation
3#
4#  This program is the proprietary software of Broadcom Corporation and/or its licensors,
5#  and may only be used, duplicated, modified or distributed pursuant to the terms and
6#  conditions of a separate, written license agreement executed between you and Broadcom
7#  (an "Authorized License").  Except as set forth in an Authorized License, Broadcom grants
8#  no license (express or implied), right to use, or waiver of any kind with respect to the
9#  Software, and Broadcom expressly reserves all rights in and to the Software and all
10#  intellectual property rights therein.  IF YOU HAVE NO AUTHORIZED LICENSE, THEN YOU
11#  HAVE NO RIGHT TO USE THIS SOFTWARE IN ANY WAY, AND SHOULD IMMEDIATELY
12#  NOTIFY BROADCOM AND DISCONTINUE ALL USE OF THE SOFTWARE.
13#
14#  Except as expressly set forth in the Authorized License,
15#
16#  1.     This program, including its structure, sequence and organization, constitutes the valuable trade
17#  secrets of Broadcom, and you shall use all reasonable efforts to protect the confidentiality thereof,
18#  and to use this information only in connection with your use of Broadcom integrated circuit products.
19#
20#  2.     TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS"
21#  AND WITH ALL FAULTS AND BROADCOM MAKES NO PROMISES, REPRESENTATIONS OR
22#  WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, WITH RESPECT TO
23#  THE SOFTWARE.  BROADCOM SPECIFICALLY DISCLAIMS ANY AND ALL IMPLIED WARRANTIES
24#  OF TITLE, MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR A PARTICULAR PURPOSE,
25#  LACK OF VIRUSES, ACCURACY OR COMPLETENESS, QUIET ENJOYMENT, QUIET POSSESSION
26#  OR CORRESPONDENCE TO DESCRIPTION. YOU ASSUME THE ENTIRE RISK ARISING OUT OF
27#  USE OR PERFORMANCE OF THE SOFTWARE.
28#
29#  3.     TO THE MAXIMUM EXTENT PERMITTED BY LAW, IN NO EVENT SHALL BROADCOM OR ITS
30#  LICENSORS BE LIABLE FOR (i) CONSEQUENTIAL, INCIDENTAL, SPECIAL, INDIRECT, OR
31#  EXEMPLARY DAMAGES WHATSOEVER ARISING OUT OF OR IN ANY WAY RELATING TO YOUR
32#  USE OF OR INABILITY TO USE THE SOFTWARE EVEN IF BROADCOM HAS BEEN ADVISED OF
33#  THE POSSIBILITY OF SUCH DAMAGES; OR (ii) ANY AMOUNT IN EXCESS OF THE AMOUNT
34#  ACTUALLY PAID FOR THE SOFTWARE ITSELF OR U.S. $1, WHICHEVER IS GREATER. THESE
35#  LIMITATIONS SHALL APPLY NOTWITHSTANDING ANY FAILURE OF ESSENTIAL PURPOSE OF
36#  ANY LIMITED REMEDY.
37#
38# $brcm_Workfile: transport.inc $
39# $brcm_Revision: 71 $
40# $brcm_Date: 11/2/11 11:19a $
41#
42# Module Description:
43#
44# Revision History:
45#
46# $brcm_Log: /nexus/modules/transport/35125/transport.inc $
47#
48# 71   11/2/11 11:19a vsilyaev
49# SW7425-1654: Merged decryption for stream of MP4 Fragments
50#
51# SW7425-1654/1   11/2/11 1:50p hugost
52# Added playready files to NEXUS_TRANSPORT_SOURCES. Force sw decryption
53#  when robustiness rules are not enabled. And use libdrmrootfs when
54#  robustness rules are enabled.
55#
56# 70   10/5/11 1:31p jtna
57# SW7425-1189: fix non-7425 platforms
58#
59# 69   10/5/11 12:23p jtna
60# SW7425-1189: add transport and frontend TSMF support
61#
62# 68   10/4/11 11:29a piyushg
63# SW7425-1395: Fix compilation error for non robust playready build
64#
65# 67   10/3/11 6:00p piyushg
66# SW7425-1395: Add support in brutus for playready with robustness
67#  PRDY_ROBUSTNESS_ENABLE.
68#
69# 66   10/1/11 4:39p piyushg
70# SW7425-1376: Modified playready to use common_crypto and drmrootfs
71#  libraries for Robusteness related security interface
72#
73# 65   9/27/11 7:34p piyushg
74# SW7425-1358: Make playready compliant with robustness rules and
75#  maintain one branch for playready with robustness and without. Use
76#  PRDY_ROBUSTNESS_ENABLE=y along with MSDRM_PRDY_SUPPORT=y to have
77#  playready with robustness.
78#
79# 64   9/22/11 1:37p jtna
80# SW7425-1333: use MEDIA_RMFF_SUPPORT flag
81#
82# 63   8/4/11 7:39p mphillip
83# SW7422-404: Update region verification code
84#
85# 62   6/7/11 6:54p jhaberf
86# SWDTV-7444: added support for 35xxx DTV chips
87#
88# 61   6/6/11 4:08p jtna
89# SW7425-644: add transport SAM support
90#
91# 60   5/18/11 7:24p jgarrett
92# SW7231-148: Adding RMFF and Cook support
93#
94# 59   4/28/11 7:22p vsilyaev
95# SW7425-232: Always compile file module
96#
97# 58   2/22/11 7:53p vsilyaev
98# SW7422-107: Added FLV mapping
99#
100# 57   12/28/10 5:44p vsilyaev
101# SW7425-39: Added Mux specific interfaces
102#
103# 56   12/17/10 2:31p gmohile
104# SW7405-5065 : Refactor to build divx drm from binaries
105#
106# 55   12/15/10 12:03p erickson
107# SW35230-2585: reduce DEPENDENCY list, depend on recursion
108#
109# 54   12/7/10 7:36p piyushg
110# SW7405-4386:Initial checkin for playready intigration with mainline
111#  brutus.
112#
113# 53   10/28/10 5:09p erickson
114# SW7422-20: adapt to new XPT PI (backward compat using magnum and nexus
115#  macros)
116#
117# 52   10/26/10 6:21p nickh
118# SW7422-73: Add 7422 support
119#
120# 51   8/12/10 5:24p jgarrett
121# SW7405-4034: Adding NEXUS_DRM_BUILD flag to enable NEXUS_Dma use in DRM
122#
123# 50   7/20/10 6:26p jfisher
124# SW7572-30:  Add modification for ucos_ii support.
125#
126# 49   7/12/10 4:49p erickson
127# SW7405-4561: add support for 32 byte filters using export
128#  BXPT_FILTER_32=y
129#
130# 48   5/27/10 6:27p mward
131# SW7400-2786:  Support DivX DRM under Nexus on 7400/7403.
132#
133# 47   5/18/10 11:16a erickson
134# SW7550-424: add TS PSI parsing source if PVR_SUPPORT=n
135#
136# 46   4/9/10 1:07p jgarrett
137# SW7405-4034: Moving MSDRM PD/ND binaries into nexus as required
138#
139# DrmMakefileUpdates/1   4/8/10 4:46p jgarrett
140# SW7405-4034: Including binaries for MSDRM (PD/ND) in the nexus builds
141#  to avoid link issues
142#
143# 45   2/26/10 4:37p gmohile
144# SW7408-79 : Move subtitle parser functionality to app
145#
146# 44   12/15/09 4:52p gmohile
147# SW7408-1 : Add 7408 support
148#
149# 43   12/11/09 3:32p erickson
150# SW7550-112: merge 7550 code. add support for sw message filtering.
151#  allow for no HW message filtering using standard XPT define.
152#
153# 42   11/19/09 4:25p gmohile
154# SW7408-1 : Add 7408 support
155#
156# 41   10/8/09 1:23p erickson
157# SWDEPRECATED-3717: default nexus_message_pid2buf.c for all silicon that
158#  supports it
159#
160# 40   9/10/09 2:56p erickson
161# SW7335-529: remove unneeded variable
162#
163# 39   9/9/09 4:58p erickson
164# SW7405-2964: move HSM build from transport.inc to security.inc
165#
166# 38   9/1/09 3:52p jgarrett
167# SW7335-529: Replacing direct access to MAGNUM_MODULES with
168#  NEXUS_EXTRA_MODULES to avoid magnum paths leaking into application
169#  include paths
170#
171# 37   8/26/09 7:37a erickson
172# SWDEPRECATED-3995: add PID2BUF define
173#
174# 36   7/16/09 12:43p erickson
175# PR56657: added NEXUS_RecpumpOpenSettings.nullifyVct
176#
177# 35   6/8/09 11:49a erickson
178# PR53324: add PID2BUF impl, default off
179#
180# 34   5/26/09 11:39a erickson
181# PR55105: add packet sub api
182#
183# 33   4/8/09 4:31p vsilyaev
184# PR 54016: Added support for precompiled header
185#
186# 32   3/9/09 4:37p yili
187# PR52990:Add region verification
188#
189# 31   2/4/09 7:09p vsilyaev
190# PR 50887: Added bit to enable OTF PVR mode
191#
192# 30   11/5/08 2:10p erickson
193# PR45959: added NEXUS_TRANSPORT_EXTENSION_INC
194#
195# 29   10/6/08 4:58p vsilyaev
196# PR 47440: Build DIVX DRM as a separate library
197#
198# 28   9/11/08 10:36a jrubio
199# PR42593: add remux to all chips
200#
201# 27   9/2/08 3:25p jrubio
202# PR42353: 7335 does have remux
203#
204# 26   8/7/08 4:47p erickson
205# PR45422: DivX DRM fix
206#
207# 25   8/5/08 10:57a erickson
208# PR45422: allow c99 exception for divxdrm5 library
209#
210# 24   8/5/08 10:26a erickson
211# PR45422: add DIVX_DRM_SUPPORT
212#
213# 23   7/26/08 3:49p maivu
214# PR 44679: Added divx subtitle build option for nexus
215#
216# 22   7/23/08 2:46p erickson
217# PR45016: add SUBTITLE_SUPPORT
218#
219# 21   7/21/08 3:16p erickson
220# PR45016: added SUBTITLE_SUPPORT
221#
222# 20   6/30/08 10:34a erickson
223# PR44320: enable remux for 3548/3556
224#
225# 19   6/13/08 7:00p erickson
226# PR40817: fix PVR_SUPPORT=n mode
227#
228# 18   5/30/08 10:54a erickson
229# PR43123: add USE_SETTOP_API_SW_RAVE build option, but default it off.
230#
231# 17   5/21/08 3:24p jrubio
232# PR42353: 3556/3548 no remux support
233#
234# 16   5/21/08 3:09p jrubio
235# PR42353: remove 7325,7335 from remux correctly
236#
237# 15   5/20/08 7:48p shyam
238# PR 42103 : Add transport MPOD support
239#
240# 14   5/7/08 2:00p vsilyaev
241# PR 41869: Added core for re-packetize MPEG-2 TS data for encrypted PVR
242#
243# 13   4/18/08 5:41p vsilyaev
244# PR 41868: Connected playpump security to MS DRM
245#
246# 12   4/18/08 4:03p vsilyaev
247# PR 41868: Added security API to playpump and recpump
248#
249# 11   4/10/08 1:58p erickson
250# PR40079: added PidChannel ScramblingCheck
251#
252# 10   4/10/08 11:08a erickson
253# PR41597: fix file name
254#
255# 9   4/7/08 10:15a erickson
256# PR37893: convert to XPT PI sw rave
257#
258# 8   3/31/08 4:41p erickson
259# PR40817: compile with PVR_SUPPORT=n
260#
261# 7   3/4/08 5:06p jrubio
262# PR40169: add 7325 and remove remux for 7325
263#
264# 6   3/4/08 3:31p erickson
265# PR40080: add transport error callbacks
266#
267# 5   2/26/08 10:01a erickson
268# PR39934: added SW RAVE support
269#
270# 4   2/22/08 5:52p shyam
271# PR39435 : Add remux capability to Nexus
272#
273# 3   2/20/08 10:21a erickson
274# PR34925: allow pcrlib to compile without MVD support
275#
276# 2   1/24/08 5:18p vsilyaev
277# PR 38682: Compile bmedia framework into the kernel
278#
279# 1   1/18/08 2:16p jgarrett
280# PR 38808: Merging to main branch
281#
282# Nexus_Devel/14   1/17/08 6:07p jgarrett
283# PR 38808: Updating file locations
284#
285# Nexus_Devel/13   12/4/07 6:19p vsilyaev
286# PR 37574: Added more bmedia support
287#
288# Nexus_Devel/12   11/9/07 3:07p jgarrett
289# PR 36774: Editing unified ITB definition
290#
291# Nexus_Devel/11   11/6/07 4:22p jgarrett
292# PR 34954: Migrating to audio connector model
293#
294# Nexus_Devel/10   9/28/07 4:41p jgarrett
295# PR 35002: Adding UNIFIED_ITB_SUPPORT for 7400
296#
297# Nexus_Devel/9   9/28/07 10:00a erickson
298# PR34925: 0.1 prerel review
299#
300# Nexus_Devel/8   9/27/07 7:52p jgarrett
301# PR 34954: Adding HSM
302#
303# Nexus_Devel/7   9/27/07 2:00p erickson
304# PR34925: added syncthunk
305#
306# Nexus_Devel/6   9/26/07 4:15p erickson
307# PR34925: define BSEAV
308#
309# Nexus_Devel/5   9/26/07 3:11p erickson
310# PR34925: initial playpump checkin
311#
312# Nexus_Devel/4   9/24/07 2:36p erickson
313# PR34925: added Message
314#
315# Nexus_Devel/3   9/21/07 11:18a erickson
316# PR34925: rename parserband.c to demux.c
317#
318# Nexus_Devel/2   9/17/07 4:12p erickson
319# PR34925: added timebase and stcchannel
320#
321# Nexus_Devel/1   9/14/07 3:27p erickson
322# PR34925: initial compilation
323#
324############################################################
325
326#
327# Conditional Options for this Makefile
328#
329
330######################
331# Define this module #
332######################
333NEXUS_MODULES += TRANSPORT
334
335##################
336# Module Options #
337##################
338
339###################
340# Module Includes #
341###################
342NEXUS_TRANSPORT_PUBLIC_INCLUDES = $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/include
343
344NEXUS_TRANSPORT_PRECOMPILED_HEADER = $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_transport_module.h
345
346##################
347# Module Sources #
348##################
349NEXUS_TRANSPORT_SOURCES := \
350    $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_demux.c \
351    $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_pid_channel_scrambling.c \
352    $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_parser_band.c \
353    $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_rave.c \
354    $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_timebase.c \
355    $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_stc_channel.c \
356    $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_playpump.c \
357    $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_playpump_crypto.c \
358    $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_playpump_media.c \
359    $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_playpump_priv.c \
360    $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_recpump.c \
361    $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_transport_capabilities.c \
362    $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_transport_module.c \
363    $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_tsmux.c \
364    $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_mpod.c   \
365    $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_packetsub.c \
366    $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_remux.c \
367    $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_tsmf.c
368
369# some silicon does not support MSG PID2BUF. SW demux (using MSGlib) is required in those cases.
370ifneq ($(findstring $(BCHP_CHIP),7401 7403),)
371NEXUS_USE_MSGLIB=y
372endif
373
374ifneq ($(findstring $(BCHP_CHIP),7550 7408),)
375# Software-based message filtering. Required for chips w/o HW filtering. Optional for other chips.
376NEXUS_USE_SW_FILTER=y
377endif
378
379ifeq ($(NEXUS_USE_MSGLIB),y)
380NEXUS_TRANSPORT_SOURCES += $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_message.c
381NEXUS_TRANSPORT_DEFINES += NEXUS_USE_MSGLIB=1
382else
383ifeq ($(NEXUS_USE_SW_FILTER),y)
384NEXUS_TRANSPORT_SOURCES += $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_message_swfilter.c
385NEXUS_TRANSPORT_SOURCES += $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_message_swfilter_parser.c
386NEXUS_TRANSPORT_DEFINES += NEXUS_USE_SW_FILTER=1
387else
388NEXUS_TRANSPORT_SOURCES += $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_message_pid2buf.c
389endif
390endif
391NEXUS_TRANSPORT_SOURCES += $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_message_sam.c
392
393ifeq ($(USE_SETTOP_API_SW_RAVE),y)
394# This is a temporary use of Settop API code until XPT PI SW rave is fully debugged.
395NEXUS_TRANSPORT_DEFINES += B_USE_SETTOP_API_SW_RAVE=1
396NEXUS_TRANSPORT_SOURCES += $(BSEAV)/api/src/magnum/bsettop_base_rave.c
397NEXUS_TRANSPORT_PRIVATE_INCLUDES += $(BSEAV)/api/src/magnum
398endif
399
400ifeq ($(findstring $(BCHP_CHIP), 7425), $(BCHP_CHIP))
401NEXUS_TRANSPORT_DEFINES += NEXUS_HAS_TSMF=1
402endif
403
404ifeq ($(BXPT_VCT_SUPPORT),y)
405NEXUS_TRANSPORT_DEFINES += BXPT_VCT_SUPPORT=1
406endif
407
408# thunk layer
409NEXUS_TRANSPORT_PRIVATE_INCLUDES += $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src $(NEXUS_SYNCTHUNK_DIR)
410NEXUS_TRANSPORT_SOURCES += $(NEXUS_SYNCTHUNK_DIR)/nexus_transport_thunks.c
411
412# pvr utils
413NEXUS_TRANSPORT_PRIVATE_INCLUDES += \
414    $(BSEAV)/lib/utils
415NEXUS_TRANSPORT_SOURCES += \
416    $(BSEAV)/lib/utils/bsink_playback.c
417
418#######################
419# Module Dependencies #
420#######################
421NEXUS_TRANSPORT_DEPENDENCIES := DMA SECURITY
422
423##################
424# Magnum Modules #
425##################
426# These modules will be excluded from app-only builds
427BPCRLIB_HAS_RAP := n
428BPCRLIB_HAS_APE := n
429BPCRLIB_HAS_XVD := n
430BPCRLIB_HAS_MVD := n
431NEXUS_TRANSPORT_MAGNUM_MODULES =  \
432    $(MAGNUM)/portinginterface/xpt/bxpt.inc \
433    $(MAGNUM)/syslib/pvrlib/bpvrlib.inc \
434    $(MAGNUM)/syslib/pcrlib/bpcrlib.inc
435
436ifeq ($(NEXUS_USE_MSGLIB),y)
437NEXUS_TRANSPORT_MAGNUM_MODULES += $(MAGNUM)/syslib/msglib/bmsglib.inc
438endif
439
440ifeq ($(BXPT_FILTER_32),y)
441NEXUS_TRANSPORT_DEFINES += BXPT_FILTER_32 NEXUS_MESSAGE_FILTER_SIZE=32
442endif
443
444# BSEAV makefiles don't include their module names into MAGNUM_MODULES
445NEXUS_EXTRA_MODULES += BFILE BMEDIA BMEDIA_FILTER BATOM
446
447ifeq ($(PVR_SUPPORT),n)
448# we don't need the media framework, but still need some code from BSEAV
449NEXUS_TRANSPORT_DEFINES += B_HAS_MEDIA=0
450ifneq ($(B_REFSW_OS),ucos_ii)
451NEXUS_TRANSPORT_MAGNUM_MODULES +=  \
452    ${BSEAV}/lib/bfile/bfile.inc
453endif
454
455NEXUS_TRANSPORT_MAGNUM_MODULES +=  \
456    ${BSEAV}/lib/utils/batom.inc
457
458NEXUS_TRANSPORT_SOURCES += \
459    ${BSEAV}/lib/mpeg2_ts_parse/ts_pmt.c \
460    ${BSEAV}/lib/mpeg2_ts_parse/ts_pat.c \
461    ${BSEAV}/lib/mpeg2_ts_parse/ts_priv.c \
462    ${BSEAV}/lib/mpeg2_ts_parse/ts_psi.c \
463    ${BSEAV}/lib/mpeg2_ts_parse/tspsi_validate.c
464NEXUS_TRANSPORT_PRIVATE_INCLUDES += ${BSEAV}/lib/mpeg2_ts_parse
465else
466NEXUS_TRANSPORT_MAGNUM_MODULES +=  \
467    ${BSEAV}/lib/utils/batom.inc \
468    ${BSEAV}/lib/media/bmedia.inc
469
470ifeq ($(MEDIA_ASF_SUPPORT), y)
471NEXUS_TRANSPORT_MAGNUM_MODULES +=  \
472    ${BSEAV}/lib/asf/basf.inc
473endif
474
475
476ifeq ($(MEDIA_ASF_SUPPORT), y)
477NEXUS_TRANSPORT_MAGNUM_MODULES +=  \
478    ${BSEAV}/lib/asf/basf.inc
479
480ifeq ($(MSDRM_PD_SUPPORT), y)
481NEXUS_TRANSPORT_DEFINES+=B_HAS_MSDRM_PD=1
482
483MSDRM_PD_BIN_DIR := $(BSEAV)/lib/drm/wmdrmpd10/bin
484
485# These are really mis-named and are actually .lo files
486# exclude these files for the build of DTV chips
487ifneq ($(findstring $(BCHP_CHIP), 35230 35233 35125), $(BCHP_CHIP))
488MAGNUM_PRECOMPILED_OBJECTS += \
489        $(MSDRM_PD_BIN_DIR)/oem_ansi.a   \
490        $(MSDRM_PD_BIN_DIR)/drmmanager.a  \
491        $(MSDRM_PD_BIN_DIR)/drmcore.a    \
492        $(MSDRM_PD_BIN_DIR)/drmpkcrypto.a \
493        $(MSDRM_PD_BIN_DIR)/drmbignum.a  \
494        $(MSDRM_PD_BIN_DIR)/drmdevcert.a  \
495        $(MSDRM_PD_BIN_DIR)/drmblackbox.a \
496        $(MSDRM_PD_BIN_DIR)/drmcrypto.a  \
497        $(MSDRM_PD_BIN_DIR)/drmdevicedevcert.a
498endif
499
500NEXUS_TRANSPORT_DEFINES += DRM_SUPPORT_DLA=1 D_DEBUG DEBUG B_HAS_DRM=1 NEXUS_DRM_BUILD=1
501NEXUS_TRANSPORT_PRIVATE_INCLUDES += $(BSEAV)/lib/drm $(BSEAV)/lib/drm/wmdrmpd10/inc $(BSEAV)/lib/utils $(BSEAV)/lib/asf
502
503# exclude these items for the build of DTV chips
504ifneq ($(findstring $(BCHP_CHIP), 35230 35233 35125), $(BCHP_CHIP))
505NEXUS_TRANSPORT_SOURCES += \
506        $(BSEAV)/lib/drm/drmcore.c \
507        $(BSEAV)/lib/drm/drmhttp.c \
508        $(BSEAV)/lib/drm/drmplay.c \
509        $(BSEAV)/lib/drm/drmchallenge.c \
510        $(BSEAV)/lib/drm/drmresponse.c \
511        $(BSEAV)/lib/drm/drmenv.c \
512        $(BSEAV)/lib/drm/drmdecryptor.c \
513        $(BSEAV)/lib/drm/asfpars.c
514endif
515endif
516
517ifeq ($(MSDRM_PRDY_SUPPORT), y)
518NEXUS_TRANSPORT_DEFINES+=B_HAS_MSDRM_PD=1 B_HAS_MSDRM_PRDY=1
519
520ifeq ($(PRDY_ROBUSTNESS_ENABLE), y)
521NEXUS_TRANSPORT_DEFINES+=PRDY_ROBUSTNESS=1
522MSDRM_PD_BIN_DIR := $(BSEAV)/lib/playready/bin/playready_robust
523NEXUS_TRANSPORT_PRIVATE_INCLUDES += $(BSEAV)/lib/drmrootfs
524else
525MSDRM_PD_BIN_DIR := $(BSEAV)/lib/playready/bin/playready
526endif
527
528
529# These are really mis-named and are actually .lo files
530MAGNUM_PRECOMPILED_OBJECTS += \
531        $(MSDRM_PD_BIN_DIR)/oem_ansi.a   \
532        $(MSDRM_PD_BIN_DIR)/drmmanager.a  \
533        $(MSDRM_PD_BIN_DIR)/drmcore.a    \
534        $(MSDRM_PD_BIN_DIR)/drmpkcrypto.a \
535        $(MSDRM_PD_BIN_DIR)/drmbignum.a  \
536        $(MSDRM_PD_BIN_DIR)/drmdevcert.a  \
537        $(MSDRM_PD_BIN_DIR)/drmblackbox.a \
538        $(MSDRM_PD_BIN_DIR)/drmcrypto.a  \
539        $(MSDRM_PD_BIN_DIR)/drmdevicedevcert.a \
540        $(MSDRM_PD_BIN_DIR)/certs.a \
541        $(MSDRM_PD_BIN_DIR)/domain.a \
542        $(MSDRM_PD_BIN_DIR)/drmmetering.a \
543        $(MSDRM_PD_BIN_DIR)/drmsecureclock.a \
544        $(MSDRM_PD_BIN_DIR)/drmsha256.a \
545        $(MSDRM_PD_BIN_DIR)/drmsynclist.a \
546        $(MSDRM_PD_BIN_DIR)/drmxmr.a \
547        $(MSDRM_PD_BIN_DIR)/oem_common.a \
548        $(MSDRM_PD_BIN_DIR)/constants.a \
549        $(MSDRM_PD_BIN_DIR)/wmdrmcert.a \
550        $(MSDRM_PD_BIN_DIR)/ndt.a \
551        $(MSDRM_PD_BIN_DIR)/ndtasf.a \
552        $(MSDRM_PD_BIN_DIR)/ndtmgr.a \
553        $(MSDRM_PD_BIN_DIR)/noncestore.a
554
555ifeq ($(PRDY_ROBUSTNESS_ENABLE), y)
556MAGNUM_PRECOMPILED_OBJECTS += $(BSEAV)/lib/common_crypto/lib/${BCHP_CHIP}/libcmncrypto.a
557MAGNUM_PRECOMPILED_OBJECTS += $(BSEAV)/lib/drmrootfs/libdrmrootfs.a
558else
559NEXUS_TRANSPORT_DEFINES += PRDY_USE_SW_DECRYPTION=1
560endif
561
562NEXUS_TRANSPORT_DEFINES += B_HAS_DRM=1 NEXUS_DRM_BUILD=1 DRM_SUPPORT_DLA=1 DRM_BUILD_PROFILE=10 TARGET_LITTLE_ENDIAN=1 DRM_SUPPORT_TEST_SETTINGS=1 NO_DRM_CRT=0 DRM_SUPPORT_ANTIROLLBACK_CLOCK=1 DRM_SUPPORT_WMDRMNET=1 DRM_SUPPORT_REVOCATION=1 DRM_SUPPORT_DATASTORE_PREALLOC=1 DRM_SUPPORT_DOMAINS=1 _DATASTORE_WRITE_THRU=1 DRM_SUPPORT_CERTIFICATE_CACHING=1 DRM_SUPPORT_CLEANUP=1 DRM_SUPPORT_DEVICESTORE=1 DRM_SUPPORT_LICENSE_SYNC=1 DRM_SUPPORT_METERING=1 DRM_SUPPORT_SYMMETRIC_OPTIMIZATIONS=1
563NEXUS_TRANSPORT_PRIVATE_INCLUDES += $(BSEAV)/lib/playready $(BSEAV)/lib/playready/inc $(BSEAV)/lib/utils $(BSEAV)/lib/asf
564NEXUS_TRANSPORT_PRIVATE_INCLUDES += $(BSEAV)/lib/common_crypto/include
565NEXUS_TRANSPORT_SOURCES += \
566        $(BSEAV)/lib/playready/prdy_core.c \
567        $(BSEAV)/lib/playready/prdy_http.c \
568        $(BSEAV)/lib/playready/prdy_play.c \
569        $(BSEAV)/lib/playready/prdy_challenge.c \
570        $(BSEAV)/lib/playready/prdy_response.c \
571        $(BSEAV)/lib/playready/prdy_env.c \
572        $(BSEAV)/lib/playready/prdy_decryptor.c \
573        $(BSEAV)/lib/playready/prdy_mp4.c \
574        $(BSEAV)/lib/playready/prdy_asf.c \
575        $(BSEAV)/lib/playready/prdy_secure_clk.c \
576        $(BSEAV)/lib/playready/asfpars.c
577endif
578
579
580
581
582ifeq ($(MSDRM_ND_SUPPORT), y)
583NEXUS_TRANSPORT_DEFINES+=B_HAS_MSDRM_ND=1
584NEXUS_TRANSPORT_PRIVATE_INCLUDES += $(BSEAV)/lib/drmnd/ $(BSEAV)/lib/drmnd/wmdrmnd10/port $(BSEAV)/lib/drmnd/wmdrmnd10/inc $(BSEAV)/lib/drmnd/wmdrmnd10/oem
585MAGNUM_PRECOMPILED_OBJECTS += $(BSEAV)/lib/drmnd/wmdrmnd10/bin/drmndport.a $(BSEAV)/lib/drmnd/wmdrmnd10/oem/ansi/oem_ansi.a
586NEXUS_TRANSPORT_SOURCES += $(BSEAV)/lib/drmnd/bdrmnd_decryptor.c
587endif
588
589#end of MEDIA_ASF_SUPPORT
590endif
591
592ifeq ($(MEDIA_AVI_SUPPORT), y)
593ifeq ($(DIVX_DRM_SUPPORT), y)
594ifeq ($(findstring $(PLATFORM), 97400 97456 97403),)
595include $(BSEAV)/lib/divxdrm5/Makefile.drm
596else
597include $(BSEAV)/lib/divxdrm/Makefile.drm
598endif
599NEXUS_TRANSPORT_SOURCES += $(DIVX_DRM_SRCS)
600NEXUS_CFLAGS += $(DIVX_DRM_CFLAGS)
601MAGNUM_PRECOMPILED_OBJECTS += $(DIVX_DRM_OBJS)
602# the divxdrm5 library requires c99
603NEXUS_C_STD=c99
604endif
605NEXUS_TRANSPORT_MAGNUM_MODULES +=  \
606    ${BSEAV}/lib/avi/bavi.inc
607endif
608
609# end of MEDIA_AVI_SUPPORT
610endif
611
612ifeq ($(MEDIA_FLV_SUPPORT), y)
613NEXUS_TRANSPORT_MAGNUM_MODULES +=  \
614    ${BSEAV}/lib/media/flv/bflv.inc
615endif
616
617ifeq ($(MEDIA_RMFF_SUPPORT), y)
618NEXUS_TRANSPORT_MAGNUM_MODULES +=  \
619    ${BSEAV}/lib/media/rmff/brmff.inc
620endif
621
622#####################
623# Module Extensions #
624#####################
625ifneq ($(NEXUS_TRANSPORT_EXTENSION_INC),)
626include $(NEXUS_TRANSPORT_EXTENSION_INC)
627endif
628
629ifeq ($(RAVE_REGION_VERIFICATION_SUPPORT),y)
630include $(NEXUS_TRANSPORT_SECURITY_EXTENSION_INC)
631endif
632
Note: See TracBrowser for help on using the repository browser.