| 1 | ################################################################ |
|---|
| 2 | # |
|---|
| 3 | # Broadcom Corp. Confidential |
|---|
| 4 | # Copyright 2003 Broadcom Corp. All Rights Reserved. |
|---|
| 5 | # |
|---|
| 6 | # THIS SOFTWARE MAY ONLY BE USED SUBJECT TO AN EXECUTED |
|---|
| 7 | # SOFTWARE LICENSE AGREEMENT BETWEEN THE USER AND BROADCOM. |
|---|
| 8 | # YOU HAVE NO RIGHT TO USE OR EXPLOIT THIS MATERIAL EXCEPT |
|---|
| 9 | # SUBJECT TO THE TERMS OF SUCH AN AGREEMENT. |
|---|
| 10 | # |
|---|
| 11 | # $brcm_Workfile: $ |
|---|
| 12 | # $brcm_Revision: $ |
|---|
| 13 | # $brcm_Date: $ |
|---|
| 14 | # |
|---|
| 15 | # Module Description: ram makefile |
|---|
| 16 | # |
|---|
| 17 | # Revision History: |
|---|
| 18 | # |
|---|
| 19 | # Created: Wed Sep 13 11:49:24 PDT 2006 by Jeffrey Fisher |
|---|
| 20 | # |
|---|
| 21 | # $brcm_Log: $ |
|---|
| 22 | # |
|---|
| 23 | ################################################################/ |
|---|
| 24 | |
|---|
| 25 | TOP_DIR := $(shell cd ../../ ; /bin/pwd) |
|---|
| 26 | |
|---|
| 27 | # |
|---|
| 28 | # Software version number MAJOR_VERSION.MINOR_VERSION.SUB_VERSION |
|---|
| 29 | # Major number can be in the range from 0 to 7 |
|---|
| 30 | # Minor number can be in the range 0 to 31 |
|---|
| 31 | # Sub version can be in the range 0 to 15 |
|---|
| 32 | # |
|---|
| 33 | MAJOR_VERSION ?= 0 |
|---|
| 34 | MINOR_VERSION ?= 2 |
|---|
| 35 | SUB_VERSION ?= 0 |
|---|
| 36 | |
|---|
| 37 | # |
|---|
| 38 | # |
|---|
| 39 | # |
|---|
| 40 | ROM_CHECKSUM ?= 0x00000000 |
|---|
| 41 | |
|---|
| 42 | # |
|---|
| 43 | # Configuration for default build |
|---|
| 44 | # |
|---|
| 45 | |
|---|
| 46 | PLATFORM = 97574 |
|---|
| 47 | |
|---|
| 48 | # |
|---|
| 49 | # To suppress the display all make commands |
|---|
| 50 | # |
|---|
| 51 | |
|---|
| 52 | #QUIET = @ |
|---|
| 53 | QUIET = |
|---|
| 54 | |
|---|
| 55 | # |
|---|
| 56 | # To build in debug support |
|---|
| 57 | # |
|---|
| 58 | |
|---|
| 59 | DEBUG ?= y |
|---|
| 60 | export DEBUG |
|---|
| 61 | |
|---|
| 62 | # |
|---|
| 63 | # Types of applications |
|---|
| 64 | # |
|---|
| 65 | |
|---|
| 66 | APP_TYPE ?= dta |
|---|
| 67 | |
|---|
| 68 | # |
|---|
| 69 | # BUILD_NEXUS |
|---|
| 70 | # |
|---|
| 71 | |
|---|
| 72 | BUILD_NEXUS = y |
|---|
| 73 | |
|---|
| 74 | # |
|---|
| 75 | # BUILD_NEXUS_APP |
|---|
| 76 | # |
|---|
| 77 | |
|---|
| 78 | BUILD_NEXUS_APP ?= n |
|---|
| 79 | |
|---|
| 80 | # |
|---|
| 81 | # To include profiling support |
|---|
| 82 | # |
|---|
| 83 | |
|---|
| 84 | PROFILE ?=n |
|---|
| 85 | |
|---|
| 86 | # |
|---|
| 87 | # Include EIA 708 CC rendering |
|---|
| 88 | # |
|---|
| 89 | |
|---|
| 90 | HAS_EIA_708 ?= y |
|---|
| 91 | |
|---|
| 92 | # |
|---|
| 93 | # Include SCTE65 parsing rendering |
|---|
| 94 | # |
|---|
| 95 | |
|---|
| 96 | # |
|---|
| 97 | # Include Subtitle parsing and rendering |
|---|
| 98 | # |
|---|
| 99 | HAS_SCTE27 ?=n |
|---|
| 100 | |
|---|
| 101 | HAS_SCTE65 ?= y |
|---|
| 102 | |
|---|
| 103 | HAS_SCTE18 ?=y |
|---|
| 104 | #HAS_SCTE127 ?=y |
|---|
| 105 | HAS_CAT ?=y |
|---|
| 106 | |
|---|
| 107 | # |
|---|
| 108 | # Include PSIP parsing rendering |
|---|
| 109 | # |
|---|
| 110 | |
|---|
| 111 | HAS_ATSC_PSIP ?= y |
|---|
| 112 | |
|---|
| 113 | # |
|---|
| 114 | # Select remote protocol. |
|---|
| 115 | # |
|---|
| 116 | # 0 - Remote A |
|---|
| 117 | # 1 - Twirp,XMP |
|---|
| 118 | # 3 - Remote B |
|---|
| 119 | # 8 - Motorola |
|---|
| 120 | # |
|---|
| 121 | |
|---|
| 122 | USERIO_ID ?= 8 |
|---|
| 123 | |
|---|
| 124 | |
|---|
| 125 | # |
|---|
| 126 | # Since platform.inc define CFLAGS it is important it be included before any other CFLAGS are set. |
|---|
| 127 | # |
|---|
| 128 | |
|---|
| 129 | include platform.inc |
|---|
| 130 | |
|---|
| 131 | TUNER_TEST ?= n |
|---|
| 132 | |
|---|
| 133 | # |
|---|
| 134 | # SCTE-65 defines |
|---|
| 135 | # |
|---|
| 136 | |
|---|
| 137 | ifeq (${HAS_SCTE65}, y) |
|---|
| 138 | |
|---|
| 139 | # |
|---|
| 140 | # Enable/Disable DTA Cable mode. |
|---|
| 141 | # |
|---|
| 142 | |
|---|
| 143 | # Power Monitor |
|---|
| 144 | |
|---|
| 145 | CFLAGS += -DCONFIG_MONITOR_PVT -DCONFIG_SMARTCARD_TEST |
|---|
| 146 | |
|---|
| 147 | # For inital SCTE-65 test streams set CONFIG_NETWORK_PID to 0x777 |
|---|
| 148 | |
|---|
| 149 | CFLAGS += -DCONFIG_NETWORK_PID=0x1FFC -DDEF_VERSION=0x00000011 |
|---|
| 150 | |
|---|
| 151 | CFLAGS += -DCONFIG_DTA_CABLE -DCONFIG_SCREENSAVER -DCONFIG_COMCAST_BUILD |
|---|
| 152 | |
|---|
| 153 | CFLAGS += -DDOWNLOAD_FLASH_OFFSET=0x68000 |
|---|
| 154 | |
|---|
| 155 | CFLAGS += -DCONFIG_CUSTOMER_PASSWD=0x00030201 |
|---|
| 156 | |
|---|
| 157 | # |
|---|
| 158 | # TUNER_BAND for historical reasons is actualy which parser to use and |
|---|
| 159 | # PARSER_BAND is actualy the input source of the parser */ |
|---|
| 160 | # |
|---|
| 161 | |
|---|
| 162 | CFLAGS += -DTUNER_BAND=0 -DPARSER_BAND=3 |
|---|
| 163 | |
|---|
| 164 | # |
|---|
| 165 | # NEXUS Defines normalin in platform header file in Nexus build |
|---|
| 166 | # |
|---|
| 167 | CFLAGS += -DNEXUS_NUM_AUDIO_DECODERS=3 |
|---|
| 168 | # |
|---|
| 169 | # Enable all the following to meet NEW UDTA Spec Requirements |
|---|
| 170 | # |
|---|
| 171 | CFLAGS += -DCONFIG_REQUIRE_CAT |
|---|
| 172 | |
|---|
| 173 | # To IGNORE VCT ID set CONFIG_DEF_VCT_ID=0xFFFF |
|---|
| 174 | |
|---|
| 175 | CFLAGS += -DCONFIG_DEF_VCT_ID=0xF100 |
|---|
| 176 | CFLAGS += -DCONFIG_DEF_EMM_PID=0x1FF0 |
|---|
| 177 | |
|---|
| 178 | # Vendor and Hardware ID |
|---|
| 179 | CFLAGS += -DDEF_VENDOR_ID=0x0FACED # 3 bytes |
|---|
| 180 | CFLAGS += -DDEF_HARDWARE_ID=$(PLATFORM) |
|---|
| 181 | CFLAGS += -DDEF_VENDOR_NAME=\"Broadcom\" |
|---|
| 182 | |
|---|
| 183 | endif ### ifeq (${HAS_SCTE65}, y) ### |
|---|
| 184 | |
|---|
| 185 | # |
|---|
| 186 | # Root directories where sources reside |
|---|
| 187 | # |
|---|
| 188 | |
|---|
| 189 | DTA_DIR = $(TOP_DIR)/dta |
|---|
| 190 | BUILD_DIR = $(DTA_DIR)/build |
|---|
| 191 | SOURCE_DIR = $(DTA_DIR)/src |
|---|
| 192 | MAGNUM_DIR = $(TOP_DIR)/magnum |
|---|
| 193 | BSEAV_DIR = $(TOP_DIR)/BSEAV |
|---|
| 194 | BCMBIN_DIR = $(TOP_DIR)/dta/bin |
|---|
| 195 | SYSLIB_DIR = $(MAGNUM_DIR)/syslib |
|---|
| 196 | NEXUS_TOP = $(TOP_DIR)/nexus |
|---|
| 197 | |
|---|
| 198 | # |
|---|
| 199 | # Defines important to PI Module |
|---|
| 200 | # |
|---|
| 201 | |
|---|
| 202 | OS = ucos_ii |
|---|
| 203 | MAGNUM = $(MAGNUM_DIR) |
|---|
| 204 | |
|---|
| 205 | # |
|---|
| 206 | # Source directories |
|---|
| 207 | # |
|---|
| 208 | |
|---|
| 209 | OS_DIR = $(SOURCE_DIR)/$(OS) |
|---|
| 210 | Z_DIR = $(SOURCE_DIR)/z |
|---|
| 211 | BFDB_DIR = $(SOURCE_DIR)/bfdb |
|---|
| 212 | FCC_DIR = $(SOURCE_DIR)/settop_api |
|---|
| 213 | APP_DIR = $(SOURCE_DIR)/app |
|---|
| 214 | ifeq (${APP_TYPE},dta) |
|---|
| 215 | APP_SRC_DIR = $(APP_DIR)/dta |
|---|
| 216 | else |
|---|
| 217 | APP_SRC_DIR = $(APP_DIR)/nanotv |
|---|
| 218 | endif |
|---|
| 219 | LIB_DIR = $(DTA_DIR)/lib |
|---|
| 220 | |
|---|
| 221 | # |
|---|
| 222 | # Base CFLAGS |
|---|
| 223 | # |
|---|
| 224 | |
|---|
| 225 | CFLAGS += -DUCOS_II |
|---|
| 226 | |
|---|
| 227 | # |
|---|
| 228 | # Identify chip |
|---|
| 229 | # |
|---|
| 230 | |
|---|
| 231 | CFLAGS += -DBCHP_CHIP=$(BCHP_CHIP) -DBCHP_VER=BCHP_VER_$(BCHP_VER) |
|---|
| 232 | |
|---|
| 233 | # |
|---|
| 234 | # Identify version |
|---|
| 235 | # |
|---|
| 236 | |
|---|
| 237 | CFLAGS += -DMAJOR_VERSION=$(MAJOR_VERSION) -DMINOR_VERSION=$(MINOR_VERSION) -DSUB_VERSION=$(SUB_VERSION) |
|---|
| 238 | |
|---|
| 239 | # |
|---|
| 240 | # DTA defines |
|---|
| 241 | # |
|---|
| 242 | |
|---|
| 243 | ifeq ($(CONFIG_XMP_REMOTE),y) |
|---|
| 244 | CFLAGS += -DCONFIG_XMP_REMOTE |
|---|
| 245 | endif |
|---|
| 246 | |
|---|
| 247 | CFLAGS += -DUSERIO_ID=$(USERIO_ID) |
|---|
| 248 | |
|---|
| 249 | ifeq (${HAS_EIA_708},y) |
|---|
| 250 | CFLAGS += -DCONFIG_EIA_708 |
|---|
| 251 | endif |
|---|
| 252 | |
|---|
| 253 | CFLAGS += -DCONFIG_ENABLE_UART |
|---|
| 254 | |
|---|
| 255 | # |
|---|
| 256 | # Flags enabling build of non-distributed sources |
|---|
| 257 | # |
|---|
| 258 | |
|---|
| 259 | BUILD_UCOS ?= n |
|---|
| 260 | BUILD_LIBFCC ?= n |
|---|
| 261 | |
|---|
| 262 | ENABLE_UMESSAGE ?= n |
|---|
| 263 | |
|---|
| 264 | # |
|---|
| 265 | # Flags enabling HDCP lib support |
|---|
| 266 | # |
|---|
| 267 | ifeq ($(HDCPLIB),y) |
|---|
| 268 | CFLAGS += -DHDCPLIB |
|---|
| 269 | BHSM_SECURE_KEYLADDER_MK ?=1 |
|---|
| 270 | BHDCPLIB_HDCP_SUPPORT ?=1 |
|---|
| 271 | export CUST=G |
|---|
| 272 | export BHSM_KEYLADDER=ON |
|---|
| 273 | export KEYLADDER_SUPPORT=y |
|---|
| 274 | endif |
|---|
| 275 | |
|---|
| 276 | # |
|---|
| 277 | # Target binary name |
|---|
| 278 | # |
|---|
| 279 | |
|---|
| 280 | TARGET = nexus$(PLATFORM) |
|---|
| 281 | |
|---|
| 282 | # |
|---|
| 283 | # The targets |
|---|
| 284 | # |
|---|
| 285 | |
|---|
| 286 | all: api makefile jar nexus$(PLATFORM).gz |
|---|
| 287 | |
|---|
| 288 | LDFLAGS += -T ld.script |
|---|
| 289 | |
|---|
| 290 | NEXUS_PLATFORM = 97552 |
|---|
| 291 | |
|---|
| 292 | BCM_SRC = $(SOURCE_DIR)/boot_nexus.c \ |
|---|
| 293 | $(SOURCE_DIR)/ram_init_nexus.c \ |
|---|
| 294 | $(SOURCE_DIR)/nexus_msg.c |
|---|
| 295 | |
|---|
| 296 | |
|---|
| 297 | BCM_SRC += \ |
|---|
| 298 | $(SOURCE_DIR)/bos_ucos_ii.c \ |
|---|
| 299 | $(SOURCE_DIR)/bos_trace.c \ |
|---|
| 300 | $(SOURCE_DIR)/gdb_nub.c |
|---|
| 301 | |
|---|
| 302 | CFLAGS += -DMINISTD_RAM=1 |
|---|
| 303 | |
|---|
| 304 | # |
|---|
| 305 | # use 32 bit for Aspect Ratio manipulation |
|---|
| 306 | CFLAGS += -DBVDC_UINT32_ONLY=1 |
|---|
| 307 | |
|---|
| 308 | BCM_ASM_SRC += $(SOURCE_DIR)/crt.S $(SOURCE_DIR)/memcpy.S |
|---|
| 309 | |
|---|
| 310 | CFLAGS += -DNEXUS_UCOS_II |
|---|
| 311 | CFLAGS += -I$(MAGNUM_DIR)/portinginterface/urt/$(BCHP_CHIP) |
|---|
| 312 | CFLAGS += -I$(MAGNUM_DIR)/basemodules/int |
|---|
| 313 | |
|---|
| 314 | BCM_SRC += $(SOURCE_DIR)/ministd.c \ |
|---|
| 315 | $(SOURCE_DIR)/bcmmemmgr.c \ |
|---|
| 316 | $(SOURCE_DIR)/serial.c |
|---|
| 317 | |
|---|
| 318 | |
|---|
| 319 | TEST_SRC = \ |
|---|
| 320 | $(SOURCE_DIR)/stdio.c \ |
|---|
| 321 | $(SOURCE_DIR)/libc.c |
|---|
| 322 | |
|---|
| 323 | |
|---|
| 324 | BCM_SRC += $(SOURCE_DIR)/cache_util.c |
|---|
| 325 | |
|---|
| 326 | |
|---|
| 327 | export BUILD_SYSTEM=nexus |
|---|
| 328 | export PVR_SUPPORT=n |
|---|
| 329 | export PLAYBACK_IP_SUPPORT=n |
|---|
| 330 | |
|---|
| 331 | export LANGUAGE=en_US.UTF-8 |
|---|
| 332 | export LANG=en_US.UTF-8 |
|---|
| 333 | export LC_ALL=en_US.UTF-8 |
|---|
| 334 | |
|---|
| 335 | |
|---|
| 336 | BCM_VARIABLES = PLATFORM=97552 \ |
|---|
| 337 | BCHP_VER=$(BCHP_VER) \ |
|---|
| 338 | BUILD_SYSTEM=nexus \ |
|---|
| 339 | NETACCEL_SUPPORT=n \ |
|---|
| 340 | PLAYBACK_IP_SUPPORT=n \ |
|---|
| 341 | PVR_SUPPORT=n \ |
|---|
| 342 | NEXUS_SERVER_SUPPORT=n \ |
|---|
| 343 | OS=ucos_ii \ |
|---|
| 344 | DEBUG=$(DEBUG) Q_= |
|---|
| 345 | |
|---|
| 346 | |
|---|
| 347 | ifeq ($(HDCPLIB),y) |
|---|
| 348 | BCM_VARIABLES += HDCPLIB=y \ |
|---|
| 349 | BHSM_SECURE_KEYLADDER_MK=1 \ |
|---|
| 350 | BHDCPLIB_HDCP_SUPPORT=1 \ |
|---|
| 351 | CUST=G \ |
|---|
| 352 | BHSM_KEYLADDER=ON \ |
|---|
| 353 | KEYLADDER_SUPPORT=y |
|---|
| 354 | endif |
|---|
| 355 | # |
|---|
| 356 | # PI Modules |
|---|
| 357 | # |
|---|
| 358 | CFLAGS += -DBSTD_CPU_ENDIAN=BSTD_ENDIAN_LITTLE |
|---|
| 359 | |
|---|
| 360 | include ucos.mk |
|---|
| 361 | |
|---|
| 362 | include $(NEXUS_TOP)/platforms/$(NEXUS_PLATFORM)/build/platform_app.inc |
|---|
| 363 | |
|---|
| 364 | BCM_LIBS += -lnexus -L${NEXUS_BIN_DIR} |
|---|
| 365 | |
|---|
| 366 | # |
|---|
| 367 | # This is the minimum needed to compile and link with Nexus |
|---|
| 368 | # |
|---|
| 369 | |
|---|
| 370 | CFLAGS += $(NEXUS_CFLAGS) $(addprefix -I,$(NEXUS_APP_INCLUDE_PATHS)) $(addprefix -D,$(NEXUS_APP_DEFINES)) |
|---|
| 371 | |
|---|
| 372 | include settop_api.mk |
|---|
| 373 | |
|---|
| 374 | include soft_gfx.mk |
|---|
| 375 | |
|---|
| 376 | # |
|---|
| 377 | # Include path definitions |
|---|
| 378 | # |
|---|
| 379 | |
|---|
| 380 | BCM_INCLUDE = $(patsubst %,-I%,$(subst :, ,$(BCM_VPATH))) |
|---|
| 381 | |
|---|
| 382 | # |
|---|
| 383 | # more CFLAG defines |
|---|
| 384 | # |
|---|
| 385 | |
|---|
| 386 | CFLAGS += $(BCM_INCLUDE) -I./ -DMEMCOPY -DBKNI_TRACK_MALLOCS=0 |
|---|
| 387 | |
|---|
| 388 | # |
|---|
| 389 | # 3560 Driver obj files |
|---|
| 390 | # |
|---|
| 391 | |
|---|
| 392 | BCM_OBJS = $(BCM_SRC:.c=.o) |
|---|
| 393 | BCM_ASM_OBJS += $(BCM_ASM_SRC:.S=.o) |
|---|
| 394 | |
|---|
| 395 | ifeq (${ENABLE_APP},n) |
|---|
| 396 | CFLAGS += -DDEBUG_APP |
|---|
| 397 | endif |
|---|
| 398 | |
|---|
| 399 | |
|---|
| 400 | # |
|---|
| 401 | # Soft floating point |
|---|
| 402 | # |
|---|
| 403 | SOFT_FP_LIB = $(LIB_DIR)/soft-fp.a |
|---|
| 404 | |
|---|
| 405 | |
|---|
| 406 | BCM_LIB_OBJS = $(NEXUS_BIN_DIR)/libnexus.a $(LIB_DIR)/libucos_ii.a $(SOFT_FP_LIB) |
|---|
| 407 | |
|---|
| 408 | ifeq (${BUILD_SETTOP_API},y) |
|---|
| 409 | SETTOP_API_OBJS += $(LIB_DIR)/libsoft_gfx.a $(LIB_DIR)/libb_os.a |
|---|
| 410 | LDFLAGS += --whole-archive |
|---|
| 411 | # BCM_LIBS += -lb_os -lsoft_gfx -L$(LIB_DIR) |
|---|
| 412 | endif |
|---|
| 413 | |
|---|
| 414 | SYM_OBJ = $(SYM_SRC:%.c=%.o) |
|---|
| 415 | SYM_INC = $(SYM_SRC:%.c=%.inc) |
|---|
| 416 | |
|---|
| 417 | BCM_DEPENDS := $(BCM_OBJS:.o=.d) $(BCM_ASM_OBJS:.o=.d) |
|---|
| 418 | |
|---|
| 419 | api: |
|---|
| 420 | $(MAKE) $(BCM_VARIABLES) -C $(NEXUS_TOP)/build |
|---|
| 421 | |
|---|
| 422 | nexus_clean: |
|---|
| 423 | $(MAKE) $(BCM_VARIABLES) -C $(NEXUS_TOP)/build clean |
|---|
| 424 | |
|---|
| 425 | ${SYM_OBJ} : ${SYM_SRC} $(filter-out $(SYM_OBJ),$(BCM_OBJS) ${BCM_ASM_OBJS}) |
|---|
| 426 | ${ECHO} Building symbol table $< |
|---|
| 427 | ${QUIET}# compile empty sym-table and link with it |
|---|
| 428 | ${QUIET}${RM) ${SYM_INC} |
|---|
| 429 | ${QUIET}echo '/* */' >${SYM_INC} |
|---|
| 430 | ${QUIET}$(CC) $(CFLAGS) -I. -c $< -o $(notdir $@) |
|---|
| 431 | ${QUIET}$(LD) $(LDFLAGS) $(BCM_OBJS) $(BCM_ASM_OBJS) $(SOFT_FP_LIB) -o ${TARGET}.elf.sym |
|---|
| 432 | ${QUIET}# compile with real sym-table but possibly wrong offsets |
|---|
| 433 | ${QUIET}${RM) ${SYM_INC} |
|---|
| 434 | ${QUIET}${NM} -f bsd -n --defined-only ${TARGET}.elf.sym|grep -v "_ftext"|awk '/.* [Tt] .*/ {printf "B_SYM(0x%su,%s)\n",$$1,$$3}' >${SYM_INC} |
|---|
| 435 | $(QUIET)$(CC) $(CFLAGS) -I. -c $< -o $(notdir $@) |
|---|
| 436 | ${QUIET}${RM} ${SYM_INC} |
|---|
| 437 | ${QUIET}$(LD) -Map $(TARGET).map.sym $(LFLAGS) $(BCM_OBJS) $(BCM_ASM_OBJS) $(SOFT_FP_LIB) -o ${TARGET}.elf.sym |
|---|
| 438 | ${QUIET}# build real symtable and compile with it |
|---|
| 439 | ${QUIET}${NM} -f bsd -n --defined-only ${TARGET}.elf.sym|grep -v "_ftext"|awk '/.* [Tt] .*/ {printf "B_SYM(0x%su,%s)\n",$$1,$$3}' >${SYM_INC} |
|---|
| 440 | $(QUIET)$(CC) $(CFLAGS) -I. -c $< -o $(notdir $@) |
|---|
| 441 | ${QUIET}${MV} ${SYM_INC} $(SYM_INC:%.inc=%.sym) |
|---|
| 442 | |
|---|
| 443 | $(TARGET).elf: $(BCM_OBJS) $(BCM_ASM_OBJS) $(BCM_LIB_OBJS) $(SETTOP_API_OBJS) |
|---|
| 444 | $(LD) -Map $(TARGET).map $(LDFLAGS) $(BCM_ASM_OBJS) $(BCM_OBJS) $(BCM_LIB_OBJS) $(SETTOP_API_OBJS) -o $@ |
|---|
| 445 | |
|---|
| 446 | $(TARGET).bin: $(TARGET).elf |
|---|
| 447 | $(CROSS_COMPILE)objcopy -S -O binary $(TARGET).elf $(TARGET).bin |
|---|
| 448 | # $(CROSS_COMPILE)objdump -d $(TARGET).elf > $(TARGET).dis |
|---|
| 449 | # $(CAT) $(TARGET).bin | $(TOP_DIR)/tools/zpipe > $(BCMBIN_DIR)/$(TARGET).gz |
|---|
| 450 | |
|---|
| 451 | %.o: %.c |
|---|
| 452 | $(ECHO) '$(CC) -c $(notdir $<)' |
|---|
| 453 | $(QUIET)$(CC) $(CFLAGS) -c $< -o $@ |
|---|
| 454 | |
|---|
| 455 | %.o: %.S |
|---|
| 456 | $(ECHO) '$(CC) -c $(notdir $<)' |
|---|
| 457 | $(QUIET)$(CC) $(ASFLAGS) -c $< -o $@ |
|---|
| 458 | |
|---|
| 459 | clean: nexus_clean |
|---|
| 460 | $(RM) -f $(TARGET) *.gz *.o_* *.sym *.map *~ core *.elf *.bin *.dis *.lst $(BCM_OBJS) $(BCM_ASM_OBJS) $(BCM_DEPENDS) |
|---|
| 461 | |
|---|
| 462 | ifeq (${BUILD_MIPS_AC3},y) |
|---|
| 463 | $(RM) -f ${AUDIO_FLAG} |
|---|
| 464 | endif |
|---|
| 465 | |
|---|
| 466 | |
|---|
| 467 | JAR_BINARY = $(SOURCE_DIR)/jar/jar.bin |
|---|
| 468 | |
|---|
| 469 | jar : $(JAR_BINARY) $(TARGET).gz $(TARGET)_jar.bin |
|---|
| 470 | |
|---|
| 471 | $(TARGET).gz : $(TARGET).bin |
|---|
| 472 | gzip -cn -9 $< > $@ |
|---|
| 473 | $(TARGET)_jar.bin : $(TARGET).gz |
|---|
| 474 | cat $(JAR_BINARY) $< > $@ |
|---|
| 475 | $(JAR_BINARY) : |
|---|
| 476 | make -C $(SOURCE_DIR)/jar clean all |
|---|
| 477 | |
|---|
| 478 | bootloader : |
|---|
| 479 | cd $(SOURCE_DIR)/bootloader ; $(MAKE) -f $(BUILD_DIR)/bootloader.mk DEBUG=$(DEBUG) PLATFORM=$(PLATFORM) |
|---|
| 480 | |
|---|
| 481 | bootloader_clean : |
|---|
| 482 | cd $(SOURCE_DIR)/bootloader ; $(MAKE) -f $(BUILD_DIR)/bootloader.mk DEBUG=$(DEBUG) PLATFORM=$(PLATFORM) clean |
|---|
| 483 | |
|---|
| 484 | $(SOURCE_DIR)/bootloader/bootloader.bin : bootloader |
|---|
| 485 | |
|---|
| 486 | # To build comple flash we need to: |
|---|
| 487 | # 1 build bootloader |
|---|
| 488 | # 2 pad bootloader to 64K |
|---|
| 489 | # 3 build compressed image |
|---|
| 490 | # 4 concatenate padded bootloader and comressed image |
|---|
| 491 | flash$(PLATFORM)_nexus.bin : $(SOURCE_DIR)/bootloader/bootloader.bin $(TARGET).gz |
|---|
| 492 | dd if=$< of=bootloader-128k.bin bs=64k count=2 conv=sync |
|---|
| 493 | cat bootloader-128k.bin $(TARGET).gz > $@ |
|---|
| 494 | |
|---|
| 495 | flash$(PLATFORM)_nexus.gz : flash$(PLATFORM)_nexus.bin |
|---|
| 496 | gzip -cn -9 $< > $@ |
|---|
| 497 | |
|---|
| 498 | flash_clean : |
|---|
| 499 | $(RM) -f flash$(PLATFORM)_nexus.bin flash$(PLATFORM)_nexus.gz |
|---|
| 500 | |
|---|
| 501 | # |
|---|
| 502 | # Include all the depends |
|---|
| 503 | # |
|---|
| 504 | -include $(BCM_DEPENDS) |
|---|