| 1 | ############################################################ |
|---|
| 2 | # (c)2003-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: Makefile $ |
|---|
| 39 | # $brcm_Revision: 63 $ |
|---|
| 40 | # $brcm_Date: 10/20/11 3:13p $ |
|---|
| 41 | # |
|---|
| 42 | # Module Description: |
|---|
| 43 | # This file defines the rules to build the 97400 platform |
|---|
| 44 | # |
|---|
| 45 | # Revision History: |
|---|
| 46 | # |
|---|
| 47 | # Created: 08/28/2007 by Jon Garrett |
|---|
| 48 | # |
|---|
| 49 | # $brcm_Log: /nexus/platforms/97400/build/Makefile $ |
|---|
| 50 | # |
|---|
| 51 | # 63 10/20/11 3:13p jessem |
|---|
| 52 | # SW7425-1339: Merged changes from SW7425-1339 branch. |
|---|
| 53 | # |
|---|
| 54 | # SW7425-1339/1 9/23/11 9:23p alexpan |
|---|
| 55 | # SW7425-1339: Disable logger module for Android builds |
|---|
| 56 | # |
|---|
| 57 | # 62 8/22/11 3:59p jhaberf |
|---|
| 58 | # SWDTV-8321: resolve build issue due to bin directory not being created |
|---|
| 59 | # |
|---|
| 60 | # 61 8/3/11 5:33p vsilyaev |
|---|
| 61 | # SW7420-1465, SW7405-5221: Route debug output to the special FIFO |
|---|
| 62 | # instead of syslog buffer |
|---|
| 63 | # |
|---|
| 64 | # 60 6/30/11 4:00p jhaberf |
|---|
| 65 | # SWDTV-7634: Makefile clean up with move to latest main line BSEAV |
|---|
| 66 | # makefiles |
|---|
| 67 | # |
|---|
| 68 | # 59 6/29/11 6:07p ttrammel |
|---|
| 69 | # SW7420-1819: Create bin directory in NFE version. |
|---|
| 70 | # |
|---|
| 71 | # 58 6/23/11 1:20p ttrammel |
|---|
| 72 | # SW7420-1819: Remove nexus.ko from bin dir on clean. |
|---|
| 73 | # |
|---|
| 74 | # 57 6/23/11 12:59p ttrammel |
|---|
| 75 | # SW7420-1819: Fix problem with driver copy to bin directory. |
|---|
| 76 | # |
|---|
| 77 | # 56 6/6/11 3:39p vsilyaev |
|---|
| 78 | # SW7405-4477: Fixed typo |
|---|
| 79 | # |
|---|
| 80 | # 55 6/6/11 3:34p vsilyaev |
|---|
| 81 | # SW7405-4477: Routed all debug output through buffer and use external |
|---|
| 82 | # application to extract and print debug output |
|---|
| 83 | # |
|---|
| 84 | # 54 6/6/11 10:55a ttrammel |
|---|
| 85 | # SW7420-1819: Update NEXUS/pi for NFE 2.0. |
|---|
| 86 | # |
|---|
| 87 | # 53 5/18/11 5:20p nickh |
|---|
| 88 | # SW7425-545: Add MUXLIB's to fix build issue with nexus 3D examples |
|---|
| 89 | # |
|---|
| 90 | # 52 5/17/11 12:02p jhaberf |
|---|
| 91 | # SWDTV-6928: Merge of 35233 platform code to the main |
|---|
| 92 | # |
|---|
| 93 | # 51 5/3/11 5:08p erickson |
|---|
| 94 | # SW7420-1819: repartition so NFE is a standard feature |
|---|
| 95 | # |
|---|
| 96 | # 50 4/11/11 5:07p vsilyaev |
|---|
| 97 | # SW7425-232: Compile mp4_file mux module |
|---|
| 98 | # |
|---|
| 99 | # 49 4/7/11 6:13p vsilyaev |
|---|
| 100 | # SW7425-232: Updated file mux module |
|---|
| 101 | # |
|---|
| 102 | # 48 3/24/11 11:48a jgarrett |
|---|
| 103 | # SW7422-146: Fixing kernel mode builds |
|---|
| 104 | # |
|---|
| 105 | # 47 3/2/11 10:45a erickson |
|---|
| 106 | # SW7422-310: BMEM is required in proxy for nexus_map |
|---|
| 107 | # |
|---|
| 108 | # 46 2/11/11 8:39p vsilyaev |
|---|
| 109 | # SW7425-81: Added image interface plumbing to the video encoder module |
|---|
| 110 | # |
|---|
| 111 | # 45 1/19/11 2:03p erickson |
|---|
| 112 | # SW7420-1123: socket-based usermode IPC |
|---|
| 113 | # |
|---|
| 114 | # 44 12/7/10 5:47p erickson |
|---|
| 115 | # SW7420-1148: refactor kernel mode proxy for process isolation |
|---|
| 116 | # |
|---|
| 117 | # 43 10/21/10 2:43p mphillip |
|---|
| 118 | # SW7125-670: Correct name of P3D modules |
|---|
| 119 | # |
|---|
| 120 | # 42 10/21/10 2:35p mphillip |
|---|
| 121 | # SW7125-670: Add 3D objects to user-space |
|---|
| 122 | # |
|---|
| 123 | # 41 10/20/10 2:01p randyjew |
|---|
| 124 | # SW7468-129: Undo add of BXDM to Magnum client modules |
|---|
| 125 | # |
|---|
| 126 | # 40 10/18/10 3:55p randyjew |
|---|
| 127 | # SW7468-129: Include BXDM to MAGNUM_CLIENT_MODULES |
|---|
| 128 | # |
|---|
| 129 | # 39 10/11/10 10:45a mward |
|---|
| 130 | # SW7420-1123: MAGNUM_CLIENT_MODULES for GL_SUPPORT s/b ifeq not ifneq. |
|---|
| 131 | # |
|---|
| 132 | # 38 10/4/10 11:46a gmohile |
|---|
| 133 | # SW7408-126 : Add BAPE_IMG to proxy build |
|---|
| 134 | # |
|---|
| 135 | # 37 9/29/10 10:53a erickson |
|---|
| 136 | # SW7420-1123: refactor platform_modules.inc so that it can fork per |
|---|
| 137 | # platform |
|---|
| 138 | # |
|---|
| 139 | # 36 8/12/10 1:13p ttrammel |
|---|
| 140 | # SW7420-943: Merge NFE to main branch. |
|---|
| 141 | # |
|---|
| 142 | # 35 8/5/10 5:18p mward |
|---|
| 143 | # SW7125-497: use NEXUS_POWER_MANAGEMENT instead of NEXUS_FRONTEND_PWM. |
|---|
| 144 | # |
|---|
| 145 | # 34 6/28/10 5:19p ayxiang |
|---|
| 146 | # SW7125-497: for frontend power management feature |
|---|
| 147 | # |
|---|
| 148 | # 33 3/29/10 10:25a mward |
|---|
| 149 | # SW7325-649:Restore lost versions. Use B_REFSW_DEBUG per SW7400-2511 |
|---|
| 150 | # and make sure it is passed to driver make. |
|---|
| 151 | # |
|---|
| 152 | # |
|---|
| 153 | # 31 2/12/10 10:24a erickson |
|---|
| 154 | # SW7405-3833: add nexus_headers option to copy header files and static |
|---|
| 155 | # platform_app.inc to nexus/bin/include |
|---|
| 156 | # |
|---|
| 157 | # 30 9/16/09 3:16p erickson |
|---|
| 158 | # SW7400-2511: move nexus_platforms.inc into platform build dir |
|---|
| 159 | # |
|---|
| 160 | # 32 3/26/10 7:17p mananp |
|---|
| 161 | # SW7325-649:Missing bcmdriver.ko when DEBUG=n set for Nexus |
|---|
| 162 | # |
|---|
| 163 | # 29 9/16/09 1:42p erickson |
|---|
| 164 | # SW7400-2511: add B_REFSW_ or NEXUS_ namespace to build variables |
|---|
| 165 | # |
|---|
| 166 | # 28 8/31/09 4:39p erickson |
|---|
| 167 | # SWDEPRECATED-3366: added PLATFORM_MODULES_INC override |
|---|
| 168 | # |
|---|
| 169 | # 27 8/26/09 12:05p mward |
|---|
| 170 | # SW7125-4: Adding 97019 platform. |
|---|
| 171 | # |
|---|
| 172 | # 26 8/25/09 11:34a nickh |
|---|
| 173 | # SW7420-331: Add 97410c support |
|---|
| 174 | # |
|---|
| 175 | # 25 8/19/09 11:56a jrubio |
|---|
| 176 | # PR55232: add SPI frontpanel support for 7340/7342 |
|---|
| 177 | # |
|---|
| 178 | # 24 7/30/09 10:53a gmohile |
|---|
| 179 | # PR 56512 : Add 7403 support |
|---|
| 180 | # |
|---|
| 181 | # 23 7/16/09 5:11p mward |
|---|
| 182 | # PR 55545: Support 97125 platform. |
|---|
| 183 | # |
|---|
| 184 | # 22 6/1/09 11:50a robertwm |
|---|
| 185 | # PR55602: Missing endif in Makefile and platform_app.inc |
|---|
| 186 | # |
|---|
| 187 | # 21 5/29/09 6:01p jrubio |
|---|
| 188 | # PR55232: add 7340/7342 |
|---|
| 189 | # |
|---|
| 190 | # 20 5/15/09 12:32p erickson |
|---|
| 191 | # PR54843: include nexus_defs.inc after defining BCHP_CHIP |
|---|
| 192 | # |
|---|
| 193 | # 19 4/27/09 6:18p jrubio |
|---|
| 194 | # PR44849: fix splash, add NEXUS_BASE_ONLY support |
|---|
| 195 | # |
|---|
| 196 | # 18 4/9/09 11:41a jrubio |
|---|
| 197 | # PR52188: add support for 2nd Receiver |
|---|
| 198 | # |
|---|
| 199 | # 17 3/13/09 2:47p vsilyaev |
|---|
| 200 | # PR 53225: Adeed NEXUS_BIN_DIR_SUFFIX and NEXUS_BIN_DIR |
|---|
| 201 | # |
|---|
| 202 | # 16 3/2/09 12:33p katrep |
|---|
| 203 | # PR52599: Add support for 7205 |
|---|
| 204 | # |
|---|
| 205 | # 15 1/28/09 10:23a vsilyaev |
|---|
| 206 | # PR 51629: Added missing endif |
|---|
| 207 | # |
|---|
| 208 | # 14 1/27/09 4:41p jrubio |
|---|
| 209 | # PR51629: add 7336 |
|---|
| 210 | # |
|---|
| 211 | # 13 12/19/08 7:48p katrep |
|---|
| 212 | # PR50567: Add support for 97466 platform |
|---|
| 213 | # |
|---|
| 214 | # 12 12/5/08 12:31p nickh |
|---|
| 215 | # PR50043: Update to reflect change in PLATFORM variable name from |
|---|
| 216 | # 97420DVR2 to 97420dvr2 |
|---|
| 217 | # |
|---|
| 218 | # 11 11/19/08 2:44p nickh |
|---|
| 219 | # PR48963: Add 97420DVR2 support |
|---|
| 220 | # |
|---|
| 221 | # 10 9/29/08 2:34p vsilyaev |
|---|
| 222 | # PR 47440: Added hooks that allow embedding external makefiles into the |
|---|
| 223 | # nexus build process |
|---|
| 224 | # |
|---|
| 225 | # 9 9/23/08 9:16a jgarrett |
|---|
| 226 | # PR 46513: Merging 97459 support to mainline |
|---|
| 227 | # |
|---|
| 228 | # 8 8/22/08 7:14p katrep |
|---|
| 229 | # PR45975: 7405 B0 should be default build |
|---|
| 230 | # |
|---|
| 231 | # PR44830/1 7/16/08 5:42p anilmm |
|---|
| 232 | # PR44830: Add support for 97459 |
|---|
| 233 | # |
|---|
| 234 | # 7 6/23/08 1:33p katrep |
|---|
| 235 | # PR43038: Fixed BE builds. |
|---|
| 236 | # |
|---|
| 237 | # 6 5/20/08 6:04p jgarrett |
|---|
| 238 | # PR 42897: Validating nexus/bin on bcmdriver install |
|---|
| 239 | # |
|---|
| 240 | # 5 4/30/08 1:54p jrubio |
|---|
| 241 | # PR42353: add 7335 |
|---|
| 242 | # |
|---|
| 243 | # 4 3/4/08 5:22p jrubio |
|---|
| 244 | # PR40169: add 7325 |
|---|
| 245 | # |
|---|
| 246 | # 3 1/23/08 9:21p vobadm |
|---|
| 247 | # PR35457: update docs |
|---|
| 248 | # |
|---|
| 249 | # 2 1/23/08 3:13p vsilyaev |
|---|
| 250 | # PR 38682: Added support for linux kernel/userspace proxy mode |
|---|
| 251 | # |
|---|
| 252 | # 1 1/18/08 2:17p jgarrett |
|---|
| 253 | # PR 38808: Merging to main branch |
|---|
| 254 | # |
|---|
| 255 | # Nexus_Devel/17 10/16/07 4:19p erickson |
|---|
| 256 | # PR36152: add 97405 |
|---|
| 257 | # |
|---|
| 258 | # Nexus_Devel/16 10/12/07 12:45p jgarrett |
|---|
| 259 | # PR 35551: Fixing output from usermode driver |
|---|
| 260 | # |
|---|
| 261 | # Nexus_Devel/15 10/4/07 10:36a erickson |
|---|
| 262 | # PR34416: fix bcmdriver make, use Q_ |
|---|
| 263 | # |
|---|
| 264 | # Nexus_Devel/14 10/2/07 11:54a jgarrett |
|---|
| 265 | # PR 34416: Revising build rules for easier platform integration |
|---|
| 266 | # |
|---|
| 267 | # Nexus_Devel/13 9/28/07 11:32a erickson |
|---|
| 268 | # PR34926: rename videodecoder to video_decoder |
|---|
| 269 | # |
|---|
| 270 | # Nexus_Devel/12 9/28/07 10:06a erickson |
|---|
| 271 | # PR35395: moved NEXUS_SYNCTHUNK_DIR to bin. added syncthunk-clean. |
|---|
| 272 | # |
|---|
| 273 | # Nexus_Devel/11 9/27/07 7:51p jgarrett |
|---|
| 274 | # PR 34954: Adding audio |
|---|
| 275 | # |
|---|
| 276 | # Nexus_Devel/10 9/27/07 2:02p erickson |
|---|
| 277 | # PR35395: added syncthunk |
|---|
| 278 | # |
|---|
| 279 | # Nexus_Devel/9 9/25/07 12:34p vsilyaev |
|---|
| 280 | # PR 34662: Added display module |
|---|
| 281 | # |
|---|
| 282 | # Nexus_Devel/8 9/24/07 3:21p erickson |
|---|
| 283 | # PR34926: added surface, transport and videodecoder to standard build |
|---|
| 284 | # |
|---|
| 285 | # Nexus_Devel/7 9/21/07 6:26p jgarrett |
|---|
| 286 | # PR 35002: Adding usermode driver |
|---|
| 287 | # |
|---|
| 288 | # Nexus_Devel/6 9/14/07 4:17p erickson |
|---|
| 289 | # PR34925: added transport and videodecoder |
|---|
| 290 | # |
|---|
| 291 | # Nexus_Devel/5 9/13/07 6:16p vsilyaev |
|---|
| 292 | # PR 34419: Added display and surface modules |
|---|
| 293 | # |
|---|
| 294 | # Nexus_Devel/4 9/6/07 1:03p vsilyaev |
|---|
| 295 | # PR 34419: Added core module |
|---|
| 296 | # |
|---|
| 297 | # Nexus_Devel/3 8/31/07 6:29p jgarrett |
|---|
| 298 | # PR 34416: Switching pwd to wildcard. |
|---|
| 299 | # |
|---|
| 300 | # Nexus_Devel/2 8/31/07 4:21p jgarrett |
|---|
| 301 | # PR 34416: Adding ifdef for 94701 |
|---|
| 302 | # |
|---|
| 303 | # Nexus_Devel/1 8/31/07 4:15p jgarrett |
|---|
| 304 | # PR 34416: Adding platform makefile |
|---|
| 305 | # |
|---|
| 306 | ############################################################ |
|---|
| 307 | |
|---|
| 308 | ifdef COMSPEC |
|---|
| 309 | # Any DOS environment |
|---|
| 310 | NEXUS_TOP := $(shell cd ../../.. && cd) |
|---|
| 311 | else |
|---|
| 312 | NEXUS_TOP := $(shell cd ../../..; pwd) |
|---|
| 313 | endif |
|---|
| 314 | |
|---|
| 315 | # Include nexus definitions |
|---|
| 316 | include $(NEXUS_TOP)/build/nexus_defs.inc |
|---|
| 317 | NEXUS_PLATFORM_BUILDDIR=$(NEXUS_TOP)/platforms/$(NEXUS_PLATFORM)/build |
|---|
| 318 | include $(NEXUS_PLATFORM_BUILDDIR)/nexus_platforms.inc |
|---|
| 319 | |
|---|
| 320 | # Include platform modules |
|---|
| 321 | # allow outside override |
|---|
| 322 | ifeq ($(PLATFORM_MODULES_INC),) |
|---|
| 323 | PLATFORM_MODULES_INC=$(NEXUS_PLATFORM_BUILDDIR)/platform_modules.inc |
|---|
| 324 | endif |
|---|
| 325 | include $(PLATFORM_MODULES_INC) |
|---|
| 326 | |
|---|
| 327 | |
|---|
| 328 | #################################################### |
|---|
| 329 | # List the nexus and magnum modules which are compiled into the proxy/client. |
|---|
| 330 | # This list is determined by the nexus architecture and does not vary per chip. |
|---|
| 331 | # It's easier to maintain a small inclusion list than a large exclusion list. |
|---|
| 332 | |
|---|
| 333 | # NEXUS_CLIENT_MODULES is the list of nexus modules compiled into the client/proxy library. |
|---|
| 334 | # It is used nexus/build/os/linuxuser/module_rules.pl, et al. |
|---|
| 335 | NEXUS_CLIENT_MODULES := RECORD FILE PLAYBACK |
|---|
| 336 | |
|---|
| 337 | # MAGNUM_CLIENT_MODULES is the list of magnum modules compiled into the client/proxy library. |
|---|
| 338 | # It is used in nexus/build/nexus.inc |
|---|
| 339 | MAGNUM_CLIENT_MODULES := BKNI BDBG BVLC BMEM |
|---|
| 340 | ifneq ($(NEXUS_CONFIG_IMAGE),) |
|---|
| 341 | # TODO: use BXVD_IMG_ONLY and BRAP_IMG_ONLY for client/proxy-only |
|---|
| 342 | MAGNUM_CLIENT_MODULES += BXVD BRAP BAPE_IMG BVCE BDSP |
|---|
| 343 | endif |
|---|
| 344 | ifeq ($(GL_SUPPORT),y) |
|---|
| 345 | # the following are required in user space when building with 3D support |
|---|
| 346 | MAGNUM_CLIENT_MODULES += BINT BPXL BREG BSUR BTMR |
|---|
| 347 | MAGNUM_CLIENT_MODULES += OPENGLES BP3D |
|---|
| 348 | endif |
|---|
| 349 | NEXUS_CLIENT_MODULES += FILE_MUX |
|---|
| 350 | MAGNUM_CLIENT_MODULES += BMUXLIB_FILE_MP4 BMUXLIB_FILE_ASF BMUXLIB_FILE_COMMON |
|---|
| 351 | |
|---|
| 352 | # NOTE: platform_modules.inc must also exclude the modules in NEXUS_CLIENT_MODULES |
|---|
| 353 | |
|---|
| 354 | #################################################### |
|---|
| 355 | |
|---|
| 356 | |
|---|
| 357 | ifeq ($(B_REFSW_OS),linuxuser) |
|---|
| 358 | ifeq ($(B_REFSW_FIRMWARE),y) |
|---|
| 359 | # NFE is a three pass build: |
|---|
| 360 | # build nexus with OS=linuxuser MODE=proxy (same as non-NFE) |
|---|
| 361 | # build nfe_driver (standalone driver) |
|---|
| 362 | # build nexus with OS=bare MODE=driver (the firmware, no linux) |
|---|
| 363 | EXTRA_ALL := nexusdriver nexusfirmware |
|---|
| 364 | EXTRA_CLEAN := nexusdriver_clean nexusfirmware_clean |
|---|
| 365 | else |
|---|
| 366 | ifeq ($(NEXUS_MODE),proxy) |
|---|
| 367 | # kernel mode is a two pass build: |
|---|
| 368 | # OS=linuxuser MODE=proxy |
|---|
| 369 | # OS=linuxkernel MODE=driver |
|---|
| 370 | EXTRA_ALL := nexusdriver |
|---|
| 371 | EXTRA_CLEAN := nexusdriver_clean |
|---|
| 372 | else |
|---|
| 373 | # user mode is a one pass build which also builds bcmdriver |
|---|
| 374 | EXTRA_CLEAN := bcmdriver_clean |
|---|
| 375 | EXTRA_INSTALL := bcmdriver_install |
|---|
| 376 | ifeq ($(filter $(NEXUS_PLATFORM), 935230 935125 935233), $(NEXUS_PLATFORM)) |
|---|
| 377 | EXTRA_INSTALL += security_install |
|---|
| 378 | endif |
|---|
| 379 | endif |
|---|
| 380 | endif |
|---|
| 381 | ifneq ($(B_REFSW_ANDROID),y) |
|---|
| 382 | EXTRA_CLEAN += logger_clean |
|---|
| 383 | EXTRA_INSTALL += logger_install |
|---|
| 384 | endif |
|---|
| 385 | endif |
|---|
| 386 | |
|---|
| 387 | EXTRA_CLEAN := $(EXTRA_CLEAN) clean_nexus_headers |
|---|
| 388 | |
|---|
| 389 | # Locally define rules -- all is the default rule |
|---|
| 390 | all: other_all install |
|---|
| 391 | |
|---|
| 392 | # bcmdriver rules |
|---|
| 393 | .PHONY: bcmdriver |
|---|
| 394 | bcmdriver: |
|---|
| 395 | @echo "[Build.... bcmdriver]" |
|---|
| 396 | ${Q_}$(MAKE) -C $(BSEAV)/linux/driver/build/$(NEXUS_PLATFORM) B_REFSW_DEBUG=$(B_REFSW_DEBUG) --no-print-directory > /dev/null |
|---|
| 397 | |
|---|
| 398 | ifeq ($(B_REFSW_DEBUG),n) |
|---|
| 399 | NEXUS_OBJ_DIR_SUFFIX=release |
|---|
| 400 | else |
|---|
| 401 | NEXUS_OBJ_DIR_SUFFIX=debug |
|---|
| 402 | endif |
|---|
| 403 | |
|---|
| 404 | .PHONY: bcmdriver_clean bcmdriver_install |
|---|
| 405 | bcmdriver_install: bcmdriver |
|---|
| 406 | @echo "[Install... bcmdriver]" |
|---|
| 407 | ${Q_}$(CP) $(BSEAV)/linux/driver/build/$(NEXUS_PLATFORM)/$(B_REFSW_ARCH).${NEXUS_OBJ_DIR_SUFFIX}${NEXUS_BIN_DIR_SUFFIX}/bcmdriver.ko ${NEXUS_BIN_DIR} |
|---|
| 408 | bcmdriver_clean: |
|---|
| 409 | ${Q_}$(MAKE) -C $(BSEAV)/linux/driver/build/$(NEXUS_PLATFORM) B_REFSW_DEBUG=$(B_REFSW_DEBUG) clean --no-print-directory > /dev/null |
|---|
| 410 | |
|---|
| 411 | ifeq ($(filter $(NEXUS_PLATFORM), 935230 935125 935233), $(NEXUS_PLATFORM)) |
|---|
| 412 | security_install: |
|---|
| 413 | ${Q_}$(CP) $(NEXUS_TOP)/modules/security/$(BCHP_CHIP)/lib/libnexus_security.so ${NEXUS_BIN_DIR} |
|---|
| 414 | ${Q_}$(CP) $(NEXUS_TOP)/modules/security/$(BCHP_CHIP)/lib/libnexus_security.a ${NEXUS_BIN_DIR} |
|---|
| 415 | endif |
|---|
| 416 | |
|---|
| 417 | |
|---|
| 418 | ifeq ($(B_REFSW_FIRMWARE),test) |
|---|
| 419 | .PHONY: nexusdriver_clean nexusdriver |
|---|
| 420 | NFE_BUILDDIR=$(NEXUS_PLATFORM_BUILDDIR)/nfe_test |
|---|
| 421 | nexusdriver: |
|---|
| 422 | @echo "[Build... test firmware + driver]" |
|---|
| 423 | ${Q_}$(MAKE) -C $(NEXUS_PLATFORM_BUILDDIR) B_REFSW_OS=bare NEXUS_MODE=driver |
|---|
| 424 | ${Q_}$(MAKE) -C $(NFE_BUILDDIR) |
|---|
| 425 | -${Q_}${MKDIR} ${NEXUS_BIN_DIR} |
|---|
| 426 | ${Q_}$(CP) $(NFE_BUILDDIR)/nexus.ko $(NEXUS_BIN_DIR) |
|---|
| 427 | nexusdriver_clean: |
|---|
| 428 | ${Q_}$(MAKE) -C $(NEXUS_PLATFORM_BUILDDIR) B_REFSW_OS=bare NEXUS_MODE=driver clean |
|---|
| 429 | ${Q_}$(MAKE) -C $(NFE_BUILDDIR) clean |
|---|
| 430 | ${Q_}$(RM) -f ${NEXUS_BIN_DIR}/nexus.ko |
|---|
| 431 | else |
|---|
| 432 | ifeq ($(B_REFSW_FIRMWARE),y) |
|---|
| 433 | .PHONY: nexusdriver_clean nexusdriver nexusfirmware_clean nexusfirmware |
|---|
| 434 | NFE_BUILDDIR=$(NEXUS_TOP)/build/nfe_driver |
|---|
| 435 | nexusdriver: |
|---|
| 436 | @echo "[Build... nfe driver]" |
|---|
| 437 | ${Q_}$(MAKE) -C $(NFE_BUILDDIR) |
|---|
| 438 | -${Q_}${MKDIR} ${NEXUS_BIN_DIR} |
|---|
| 439 | ${Q_}$(CP) $(NFE_BUILDDIR)/nexus.ko $(NEXUS_BIN_DIR) |
|---|
| 440 | nexusdriver_clean: |
|---|
| 441 | ${Q_}$(MAKE) -C $(NFE_BUILDDIR) clean |
|---|
| 442 | ${Q_}$(RM) -f ${NEXUS_BIN_DIR}/nexus.ko |
|---|
| 443 | nexusfirmware: |
|---|
| 444 | @echo "[Build... firmware]" |
|---|
| 445 | ${Q_}$(MAKE) -C $(NEXUS_PLATFORM_BUILDDIR) B_REFSW_OS=bare NEXUS_MODE=driver |
|---|
| 446 | ${NEXUS_BIN_DIR}/nexus_firmware.elf: |
|---|
| 447 | ${Q_}$(MAKE) -C $(NEXUS_PLATFORM_BUILDDIR) B_REFSW_OS=bare NEXUS_MODE=driver install |
|---|
| 448 | nexusfirmware_clean: |
|---|
| 449 | ${Q_}$(MAKE) -C $(NEXUS_PLATFORM_BUILDDIR) B_REFSW_OS=bare NEXUS_MODE=driver clean |
|---|
| 450 | else |
|---|
| 451 | ifeq ($(NEXUS_MODE),proxy) |
|---|
| 452 | .PHONY: nexusdriver_clean nexusdriver |
|---|
| 453 | nexusdriver: |
|---|
| 454 | @echo "[Build... driver]" |
|---|
| 455 | ${Q_}$(MAKE) -C $(NEXUS_PLATFORM_BUILDDIR) B_REFSW_OS=linuxkernel NEXUS_MODE=driver |
|---|
| 456 | ${NEXUS_BIN_DIR}/nexus.ko: |
|---|
| 457 | ${Q_}$(MAKE) -C $(NEXUS_PLATFORM_BUILDDIR) B_REFSW_OS=linuxkernel NEXUS_MODE=driver install |
|---|
| 458 | nexusdriver_clean: |
|---|
| 459 | ${Q_}$(MAKE) -C $(NEXUS_PLATFORM_BUILDDIR) B_REFSW_OS=linuxkernel NEXUS_MODE=driver clean |
|---|
| 460 | endif |
|---|
| 461 | endif |
|---|
| 462 | endif |
|---|
| 463 | |
|---|
| 464 | # generic install and clean rules |
|---|
| 465 | install: other_install nexus_install $(EXTRA_INSTALL) |
|---|
| 466 | |
|---|
| 467 | other_install nexus_install $(EXTRA_INSTALL): prep_dir |
|---|
| 468 | |
|---|
| 469 | .PHONY: prep_dir |
|---|
| 470 | prep_dir: |
|---|
| 471 | ${Q_}${MKDIR} ${NEXUS_BIN_DIR} |
|---|
| 472 | |
|---|
| 473 | clean: other_clean nexus_clean $(EXTRA_CLEAN) |
|---|
| 474 | |
|---|
| 475 | # Include Nexus build last -- This defines nexus_install, nexus_clean, etc. |
|---|
| 476 | include $(NEXUS_TOP)/build/nexus.inc |
|---|
| 477 | |
|---|
| 478 | .PHONY: other_all other_install other_clean |
|---|
| 479 | |
|---|
| 480 | other_all: |
|---|
| 481 | ifneq ($(strip ${NEXUS_OTHER_MAKES}),) |
|---|
| 482 | ${Q_}for m in ${NEXUS_OTHER_MAKES}; do ${MAKE} -C "`dirname $$m`" -f $$m ; done |
|---|
| 483 | endif |
|---|
| 484 | |
|---|
| 485 | other_install: |
|---|
| 486 | ifneq ($(strip ${NEXUS_OTHER_MAKES}),) |
|---|
| 487 | ${Q_}for m in ${NEXUS_OTHER_MAKES}; do ${MAKE} -C "`dirname $$m`" -f $$m install; done |
|---|
| 488 | endif |
|---|
| 489 | |
|---|
| 490 | other_clean: |
|---|
| 491 | ifneq ($(strip ${NEXUS_OTHER_MAKES}),) |
|---|
| 492 | ${Q_}for m in ${NEXUS_OTHER_MAKES}; do ${MAKE} -C "`dirname $$m`" -f $$m clean; done |
|---|
| 493 | endif |
|---|
| 494 | |
|---|
| 495 | nexus_headers: |
|---|
| 496 | ${Q_}echo Copying header files and platform_app.inc to ${NEXUS_BIN_DIR}/include |
|---|
| 497 | ${Q_}${MAKE} -f Makefile.app NEXUS_TOP=${NEXUS_TOP} NEXUS_PLATFORM=${NEXUS_PLATFORM} NEXUS_BIN_DIR=${NEXUS_BIN_DIR} |
|---|
| 498 | |
|---|
| 499 | clean_nexus_headers: |
|---|
| 500 | ${Q_}$(RM) -rf ${NEXUS_BIN_DIR}/include |
|---|
| 501 | |
|---|
| 502 | .PHONY: logger_clean logger_install |
|---|
| 503 | logger_clean: |
|---|
| 504 | ${Q_}$(MAKE) -C $(NEXUS_TOP)/utils/logger clean --no-print-directory |
|---|
| 505 | |
|---|
| 506 | logger_install: |
|---|
| 507 | ${Q_}$(MAKE) -C $(NEXUS_TOP)/utils/logger install --no-print-directory |
|---|
| 508 | |
|---|
| 509 | |
|---|