Shad Ansari | 2f7f9be | 2017-06-07 13:34:53 -0700 | [diff] [blame^] | 1 | ############################################################################### |
| 2 | # |
| 3 | # <:copyright-BRCM:2016:proprietary:standard |
| 4 | # |
| 5 | # Broadcom Ltd. Proprietary and Confidential.(c) 2016 Broadcom Ltd. |
| 6 | # All Rights Reserved |
| 7 | # |
| 8 | # This program is the proprietary software of Broadcom Ltd. and/or its |
| 9 | # licensors, and may only be used, duplicated, modified or distributed pursuant |
| 10 | # to the terms and conditions of a separate, written license agreement executed |
| 11 | # between you and Broadcom Ltd. (an "Authorized License"). Except as set forth in |
| 12 | # an Authorized License, Broadcom Ltd. grants no license (express or implied), right |
| 13 | # to use, or waiver of any kind with respect to the Software, and Broadcom Ltd. |
| 14 | # expressly reserves all rights in and to the Software and all intellectual |
| 15 | # property rights therein. IF YOU HAVE NO AUTHORIZED LICENSE, THEN YOU HAVE |
| 16 | # NO RIGHT TO USE THIS SOFTWARE IN ANY WAY, AND SHOULD IMMEDIATELY NOTIFY |
| 17 | # BROADCOM LTD AND DISCONTINUE ALL USE OF THE SOFTWARE. |
| 18 | # |
| 19 | # Except as expressly set forth in the Authorized License, |
| 20 | # |
| 21 | # 1. This program, including its structure, sequence and organization, |
| 22 | # constitutes the valuable trade secrets of Broadcom Ltd., and you shall use |
| 23 | # all reasonable efforts to protect the confidentiality thereof, and to |
| 24 | # use this information only in connection with your use of Broadcom Ltd. |
| 25 | # integrated circuit products. |
| 26 | # |
| 27 | # 2. TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS" |
| 28 | # AND WITH ALL FAULTS AND BROADCOM MAKES NO PROMISES, REPRESENTATIONS OR |
| 29 | # WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, WITH |
| 30 | # RESPECT TO THE SOFTWARE. BROADCOM SPECIFICALLY DISCLAIMS ANY AND |
| 31 | # ALL IMPLIED WARRANTIES OF TITLE, MERCHANTABILITY, NONINFRINGEMENT, |
| 32 | # FITNESS FOR A PARTICULAR PURPOSE, LACK OF VIRUSES, ACCURACY OR |
| 33 | # COMPLETENESS, QUIET ENJOYMENT, QUIET POSSESSION OR CORRESPONDENCE |
| 34 | # TO DESCRIPTION. YOU ASSUME THE ENTIRE RISK ARISING OUT OF USE OR |
| 35 | # PERFORMANCE OF THE SOFTWARE. |
| 36 | # |
| 37 | # 3. TO THE MAXIMUM EXTENT PERMITTED BY LAW, IN NO EVENT SHALL BROADCOM OR |
| 38 | # ITS LICENSORS BE LIABLE FOR (i) CONSEQUENTIAL, INCIDENTAL, SPECIAL, |
| 39 | # INDIRECT, OR EXEMPLARY DAMAGES WHATSOEVER ARISING OUT OF OR IN ANY |
| 40 | # WAY RELATING TO YOUR USE OF OR INABILITY TO USE THE SOFTWARE EVEN |
| 41 | # IF BROADCOM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES; |
| 42 | # OR (ii) ANY AMOUNT IN EXCESS OF THE AMOUNT ACTUALLY PAID FOR THE |
| 43 | # SOFTWARE ITSELF OR U.S. $1, WHICHEVER IS GREATER. THESE LIMITATIONS |
| 44 | # SHALL APPLY NOTWITHSTANDING ANY FAILURE OF ESSENTIAL PURPOSE OF ANY |
| 45 | # LIMITED REMEDY. |
| 46 | # :> |
| 47 | # |
| 48 | ############################################################################### |
| 49 | # Central Makefile |
| 50 | # |
| 51 | |
| 52 | # Identify whether it is customer or development build |
| 53 | ifneq ("$(wildcard .release_build)","") |
| 54 | RELEASE_BUILD=y |
| 55 | export RELEASE_BUILD |
| 56 | endif |
| 57 | |
| 58 | DOCS_SUBSYSTEM := core |
| 59 | ifeq ("$(BUILD_OF_AGENT)", "y") |
| 60 | ifneq ("$(findstring core,$(MAKECMDGOALS))", "") |
| 61 | $(error Setting BUILD_OF_AGENT=$(BUILD_OF_AGENT) in incompatible with one of make targets "$(MAKECMDGOALS)"") |
| 62 | endif |
| 63 | # Backward compatibility |
| 64 | ifeq ("$(MAKECMDGOALS)", "clean") |
| 65 | OVEERIDE_GOAL = clean_agent |
| 66 | endif |
| 67 | ifeq ("$(MAKECMDGOALS)", "") |
| 68 | OVEERIDE_GOAL = sdn_agent |
| 69 | endif |
| 70 | DOCS_SUBSYSTEM := agent |
| 71 | endif |
| 72 | ifeq ("$(BUILD_OF_AGENT)", "n") |
| 73 | ifneq ("$(findstring agent,$(MAKECMDGOALS))", "") |
| 74 | $(error Setting BUILD_OF_AGENT=$(BUILD_OF_AGENT) in incompatible with one of make targets "$(MAKECMDGOALS)"") |
| 75 | endif |
| 76 | # Backward compatibility |
| 77 | ifeq ("$(MAKECMDGOALS)", "clean") |
| 78 | OVEERIDE_GOAL = clean_core |
| 79 | endif |
| 80 | ifeq ("$(MAKECMDGOALS)", "") |
| 81 | OVEERIDE_GOAL = core |
| 82 | endif |
| 83 | endif |
| 84 | ifneq ("$(findstring agent,$(MAKECMDGOALS))", "") |
| 85 | BUILD_OF_AGENT = y |
| 86 | endif |
| 87 | |
| 88 | BUILD_NC_AGENT ?= y |
| 89 | |
| 90 | export BUILD_OF_AGENT |
| 91 | export BUILD_NC_AGENT |
| 92 | |
| 93 | PLATFORM ?= maple |
| 94 | TOP_DIR=$(shell pwd) |
| 95 | export PLATFORM |
| 96 | export TOP_DIR |
| 97 | |
| 98 | MAKE_DIR=$(TOP_DIR)/mk |
| 99 | MAKE_DEVICE_DIR=$(MAKE_DIR)/$(DEVICE) |
| 100 | export MAKE_DIR |
| 101 | export MAKE_DEVICE_DIR |
| 102 | |
| 103 | TOP_SRC_DIR=$(TOP_DIR)/src |
| 104 | export TOP_SRC_DIR |
| 105 | |
| 106 | include $(MAKE_DIR)/Makefile.initial_config |
| 107 | include $(TOP_DIR)/branch.info |
| 108 | |
| 109 | OUT_DIR ?= $(TOP_DIR)/build |
| 110 | OUT_DOCS_DIR ?= $(OUT_DIR)/doc |
| 111 | |
| 112 | export OUT_DIR |
| 113 | export OUT_DOCS_DIR |
| 114 | |
| 115 | # List of all modules, all library modules and all application modules |
| 116 | export ALL_MODULES |
| 117 | export ALL_LIB_MODULES |
| 118 | export ALL_APP_MODULES |
| 119 | |
| 120 | # Current board |
| 121 | export BOARD |
| 122 | ifneq ("$(BOARD)", "") |
| 123 | BOARD_DIR ?= $(TOP_DIR)/3rdparty/maple/boards/cur/$(BOARD) |
| 124 | export BOARD_DIR |
| 125 | endif |
| 126 | |
| 127 | # Location of Maple SDK dir |
| 128 | MAPLE_SDK_DIR ?= $(TOP_DIR)/3rdparty/maple/cur |
| 129 | |
| 130 | LOCAL_MAPLE_SDK_DIR = 3rdparty/maple/sdk |
| 131 | export MAPLE_SDK_DIR |
| 132 | export LOCAL_MAPLE_SDK_DIR |
| 133 | MAPLE_BOARD ?= $(BOARD) |
| 134 | ifneq ("$(MAPLE_BOARD)", "") |
| 135 | MAPLE_BOARD_DIR ?= $(MAPLE_SDK_DIR)/../boards/cur/$(MAPLE_BOARD) |
| 136 | else |
| 137 | MAPLE_BOARD_DIR = $(shell cat $(TOP_DIR)/$(LOCAL_MAPLE_SDK_DIR)/build/.maple_board_dir 2> /dev/null) |
| 138 | tmp = $(shell ; rm -f $(OUT_DIR)/.maple_board_dir) |
| 139 | endif |
| 140 | |
| 141 | ING_SDK_VER ?= 6.5.7 |
| 142 | ING_SDK ?= sdk-all-$(ING_SDK_VER) |
| 143 | ING_SDK_PATCH ?=sdk-bal-$(ING_SDK_VER).patch |
| 144 | ING_SDK_TOP_DIR ?= $(TOP_DIR)/3rdparty/bcm-sdk |
| 145 | ifeq ("$(BOARD)", "") |
| 146 | ING_SDK_DEFAULT_DIR := $(ING_SDK_TOP_DIR)/build/$(ING_SDK) |
| 147 | else |
| 148 | ING_SDK_DEFAULT_DIR := $(ING_SDK_TOP_DIR)/build-$(BOARD)/$(ING_SDK) |
| 149 | endif |
| 150 | ING_SDK_DIR ?= $(ING_SDK_DEFAULT_DIR) |
| 151 | export ING_SDK_VER |
| 152 | export ING_SDK |
| 153 | export ING_SDK_PATCH |
| 154 | export ING_SDK_TOP_DIR |
| 155 | export ING_SDK_DIR |
| 156 | |
| 157 | SWITCH ?= qax |
| 158 | export SWITCH |
| 159 | |
| 160 | TMP_BAL_VERSION_H=${MAKE_DIR}/bal_version.tmp |
| 161 | BAL_VERSION_H:=${TOP_DIR}/src/common/include/bal_version.h |
| 162 | |
| 163 | # NOTE: BUILD_INFO is set and exported by Jenkins when built by that tool |
| 164 | export JENKINS_BUILD |
| 165 | ifeq ("$(JENKINS_BUILD)", "y") |
| 166 | PERFORCE_REVISION:=$(P4_CHANGELIST) |
| 167 | else ifneq ("$(RELEASE_BUILD), "y") |
| 168 | PERFORCE_REVISION:=$(shell p4 changes -m 1 //$(DEPOT)/$(BRANCH)/...\#have | cut -d " " -f 2) |
| 169 | BUILD_INFO="Developer build \("${USER}"@"${PWD}"\)" |
| 170 | export BUILD_INFO |
| 171 | else |
| 172 | BUILD_INFO="Customer Release Build \("${USER}"@"${PWD}"\)" |
| 173 | export BUILD_INFO |
| 174 | endif |
| 175 | |
| 176 | |
| 177 | RELEASE_TYPE:=${RELEASE_TYPE} |
| 178 | BUILD_USER:=${USER} |
| 179 | BUILD_TOPDIR:=${TOP_DIR} |
| 180 | BUILD_PERFORCE_REVISION:=$(PERFORCE_REVISION) |
| 181 | BUILD_VERSION_PREFIX:=$(RELEASE_TYPE)$(MAJOR).$(MINOR).$(PATCH) |
| 182 | BUILD_VERSION:=$(BUILD_VERSION_PREFIX).${BUILD_PERFORCE_REVISION} |
| 183 | BUILD_DATE:=`date +%m-%d-%Y-%H%M%S` |
| 184 | export BUILD_VERSION |
| 185 | export BUILD_PERFORCE_REVISION |
| 186 | export SRC_RELEASE_FILE_PREFIX ?= release.src.$(BUILD_VERSION_PREFIX) |
| 187 | export INCLUDE_MAPLE_SDK_RELEASE ?= y |
| 188 | |
| 189 | V ?= 0 |
| 190 | ifeq (x"$(V)", x"0") |
| 191 | SILENT = -s |
| 192 | export SILENT |
| 193 | SILENT_BUILD=@ |
| 194 | endif |
| 195 | |
| 196 | # Include board support file |
| 197 | # It exports variables such as CROSS_COMPILE |
| 198 | ifneq ("$(BOARD)", "") |
| 199 | -include mk/boards/$(BOARD)/board.config |
| 200 | endif |
| 201 | |
| 202 | ifneq ("$(OVEERIDE_GOAL)", "") |
| 203 | all: $(OVEERIDE_GOAL) |
| 204 | else |
| 205 | all: print_maple_dir core sdn_agent |
| 206 | endif |
| 207 | |
| 208 | clean: clean_core clean_agent clean_ocs_omci |
| 209 | $(SILENT_BUILD)rm -fr $(OUT_DIR) |
| 210 | |
| 211 | help_general: |
| 212 | @echo "make parameters:" |
| 213 | @echo " BOARD - board to build for" |
| 214 | @echo " BOARD_DIR - board directory" |
| 215 | @echo " V=<output_level> - =1-verbose command output, =2-makefile debug output" |
| 216 | @echo " EXTRA_TYPES - Low-level option. Space-delimited list of extra types without bcmolt_ prefix" |
| 217 | @echo " ENABLE_CLI - =n-exclude CLI support. Included by default" |
| 218 | @echo "make targets:" |
| 219 | @echo " all - build all subsystems. This is the default target" |
| 220 | @echo " core - build core subsystem (BAL standalone)" |
| 221 | @echo " sdn_agent - build agent subsystem (BAL SDN agent)" |
| 222 | @echo " maple_sdk_dir - create 3rdparty/maple/sdk" |
| 223 | @echo " maple_sdk - build maple sdk. Please set BOARD=<board> parameter" |
| 224 | @echo " maple_sdk_clean - clean maple sdk" |
| 225 | @echo " ing_sdk_dir - create 3rdparty/bcm-sdk/build" |
| 226 | @echo " ing_sdk - build 3rdparty/bcm-sdk/build" |
| 227 | @echo " ing_sdk_clean - clean 3rdparty/bcm-sdk/build" |
| 228 | @echo " ing_bcm_user - build the bcm_user binary (toolchains paths must be set correctly first)" |
| 229 | @echo " clean - clean everything" |
| 230 | @echo " clean_core - clean core subsystem" |
| 231 | @echo " clean_sdn_agent - clean SDN agent" |
| 232 | @echo " clean_ocs_omci - clean OCS OMCI stack" |
| 233 | @echo " clean_bcm_omci - clean Broadcom OMCI stack" |
| 234 | @echo " docs - generate reference document in html format" |
| 235 | @echo " docs_pdf - generate reference document in pdf format" |
| 236 | @echo " docs_clean - clean documents" |
| 237 | @echo " version_file - builds BAL version file" |
| 238 | @echo " bin_release_core - create BAL core binary release archive" |
| 239 | @echo " bin_release_sdn_agent - create BAL SDN agent binary release archive" |
| 240 | @echo " bin_release - create BAL core and SDN agent binary release archives" |
| 241 | @echo " src_release - create all BAL source release archives" |
| 242 | @echo "" |
| 243 | @echo "Optional make arguments:" |
| 244 | @echo "" |
| 245 | @echo " BUILD_NC_AGENT=n - do NOT build NETCONF agent into bcm_sdn_agent. Used with make target \"sdn_agent\"" |
| 246 | @echo " TEST_SW_UTIL_LOOPBACK=y - stub out the switch utils" |
| 247 | @echo "" |
| 248 | |
| 249 | |
| 250 | help: help_general help_core |
| 251 | |
| 252 | .PHONY: version_file |
| 253 | |
| 254 | version_file: |
| 255 | @echo " Generating $@" |
| 256 | @echo "/*************************************************************" > $(TMP_BAL_VERSION_H) |
| 257 | @echo " * DO NOT EDIT! THIS FILE WAS AUTO GENERATED. DO NOT EDIT! *" >> $(TMP_BAL_VERSION_H) |
| 258 | @echo " *************************************************************/" >> $(TMP_BAL_VERSION_H) |
| 259 | @echo " wrote header..." |
| 260 | @$(BUILD_TOPDIR)/tools/copyright_tools/insert_copyright.pl -t c -l $(BUILD_TOPDIR)/COPYRIGHT >> $(TMP_BAL_VERSION_H) |
| 261 | @echo "#if !defined(BAL_VERSION_H)" >> $(TMP_BAL_VERSION_H) |
| 262 | @echo "#define BAL_VERSION_H" >> $(TMP_BAL_VERSION_H) |
| 263 | @echo "" >> $(TMP_BAL_VERSION_H) |
| 264 | @echo "#define BAL_VERSION \"${BUILD_VERSION}\"" >> $(TMP_BAL_VERSION_H) |
| 265 | @echo "#define BAL_VERSION_STR_LEN (`echo ${BUILD_VERSION} | wc -c`)" >> $(TMP_BAL_VERSION_H) |
| 266 | @echo "" >> $(TMP_BAL_VERSION_H) |
| 267 | @echo "#define BAL_BUILD_DATE \"`date`\"" >> $(TMP_BAL_VERSION_H) |
| 268 | @echo "#define BAL_BUILD_INFO \"${BUILD_INFO}\"" >> $(TMP_BAL_VERSION_H) |
| 269 | @echo "" >> $(TMP_BAL_VERSION_H) |
| 270 | @echo "#endif /* BAL_VERSION_H */" >> $(TMP_BAL_VERSION_H) |
| 271 | @diff $(TMP_BAL_VERSION_H) $(BAL_VERSION_H) > /dev/null; \ |
| 272 | if [ $$? -ne 0 ]; then \ |
| 273 | mv -f $(TMP_BAL_VERSION_H) $(BAL_VERSION_H); \ |
| 274 | fi |
| 275 | |
| 276 | .PHONY: overlay_bal_maple_scripts |
| 277 | |
| 278 | overlay_bal_maple_scripts: |
| 279 | @echo "Creating and Overlaying BAL-specific svk_init.sh and trx_init.sh onto maple fs" |
| 280 | @echo "(in $(LOCAL_MAPLE_SDK_DIR)/build/fs/)" |
| 281 | @cp -f $(LOCAL_MAPLE_SDK_DIR)/host_customized/board/wrx/fs/svk_init.sh ~/svk_init.sh |
| 282 | @cat ~/svk_init.sh | sed s/".\/bcm_user_appl"/'.\/bcm_user_appl < trx_init.sh \&\& .\/bcm_user_appl'/g > ~/svk_init_for_bal.sh |
| 283 | @cat ~/svk_init.sh | sed s/".\/bcm_user_appl"/'.\/bcm_user_appl < trx_init.sh'/g > ~/svk_init_for_bal_startup.sh |
| 284 | @mkdir -p $(LOCAL_MAPLE_SDK_DIR)/build/fs/ |
| 285 | @mv -f ~/svk_init_for_bal.sh $(LOCAL_MAPLE_SDK_DIR)/build/fs/svk_init.sh |
| 286 | @mv -f ~/svk_init_for_bal_startup.sh $(LOCAL_MAPLE_SDK_DIR)/build/fs/svk_init_startup.sh |
| 287 | @chmod 755 $(LOCAL_MAPLE_SDK_DIR)/build/fs/svk_init.sh |
| 288 | @chmod 755 $(LOCAL_MAPLE_SDK_DIR)/build/fs/svk_init_startup.sh |
| 289 | @cp -f $(TOP_DIR)/scripts/trx_init.sh $(LOCAL_MAPLE_SDK_DIR)/build/fs/. |
| 290 | @rm ~/svk_init.sh |
| 291 | |
| 292 | .PHONY: |
| 293 | |
| 294 | .PHONY: sdn_agent |
| 295 | sdn_agent: version_file build_sdn_agent |
| 296 | |
| 297 | .PHONY: build_sdn_agent |
| 298 | build_sdn_agent: build_agent |
| 299 | $(SILENT_BUILD)mv $(TOP_DIR)/build/agent/3rdparty/indigo/ofpal_of_agent $(TOP_DIR)/build/agent/bcm_sdn_agent |
| 300 | $(SILENT_BUILD)mk/create_artifacts.sh |
| 301 | |
| 302 | .PHONY: ing_bcm_user |
| 303 | |
| 304 | ing_bcm_user: |
| 305 | @echo "Building ING bcm.user" |
| 306 | @pushd 3rdparty/bcm-sdk/build/sdk-all-6.4.4/systems/linux/user/gto-2_6 && make && popd |
| 307 | |
| 308 | |
| 309 | # The following variables are only set if they have not been set |
| 310 | # previously or passed in. |
| 311 | |
| 312 | .PHONY: docs |
| 313 | docs: docs_$(DOCS_SUBSYSTEM) |
| 314 | |
| 315 | docs_pdf: docs_$(DOCS_SUBSYSTEM) |
| 316 | $(SILENT_BUILD)$(MAKE) -C $(OUT_DOCS_DIR)/latex |
| 317 | |
| 318 | docs_clean: |
| 319 | $(SILENT_BUILD)$(BOLD_PRINT) "Cleaning docs" |
| 320 | $(SILENT_BUILD)rm -fr $(OUT_DOCS_DIR) |
| 321 | |
| 322 | clobber: clean docs_clean |
| 323 | |
| 324 | .PHONY: print_maple_dir |
| 325 | |
| 326 | print_maple_dir: |
| 327 | @echo "Using MAPLE from $(MAPLE_SDK_DIR) copied to $(LOCAL_MAPLE_SDK_DIR)" |
| 328 | |
| 329 | core: version_file build_core |
| 330 | $(SILENT_BUILD)export BUILD_NC_AGENT=n;\ |
| 331 | export BUILD_OF_AGENT=n;\ |
| 332 | mk/create_artifacts.sh |
| 333 | |
| 334 | %_core: |
| 335 | $(SILENT_BUILD)$(MAKE) $(SILENT) SUBSYSTEM=core -f $(MAKE_DIR)/Makefile.main BUILD_NC_AGENT=n $@ |
| 336 | |
| 337 | agent: version_file build_agent |
| 338 | |
| 339 | %_agent: |
| 340 | $(SILENT_BUILD)$(MAKE) $(SILENT) SUBSYSTEM=agent -f $(MAKE_DIR)/Makefile.main $@ |
| 341 | |
| 342 | .PHONY: bin_release_sdn_agent |
| 343 | bin_release_sdn_agent: bin_release_agent |
| 344 | |
| 345 | .PHONY: bin_release |
| 346 | bin_release: bin_release_core bin_release_agent |
| 347 | |
| 348 | .PHONY: maple_sdk_devel_to_release |
| 349 | |
| 350 | maple_sdk_devel_to_release: |
| 351 | ifneq ("$(RELEASE_BUILD)", "y") |
| 352 | $(SILENT_BUILD)if [ ! -f $(MAPLE_SDK_DIR)/build/maple/host/fs/bcm68620_boot.bin ]; then \ |
| 353 | echo !!! Build maple first;\ |
| 354 | echo make -C $(MAPLE_SDK_DIR) BOARD=wrx;\ |
| 355 | exit -1;\ |
| 356 | fi |
| 357 | $(SILENT_BUILD)cd $(MAPLE_SDK_DIR) && rm -fr release && scripts/rel_delivery.sh $(MAPLE_REL_DELIVERY_PREFIX) |
| 358 | $(SILENT_BUILD)rm -fr $(LOCAL_MAPLE_SDK_DIR) |
| 359 | endif |
| 360 | $(SILENT_BUILD)mkdir -p $(LOCAL_MAPLE_SDK_DIR) |
| 361 | $(SILENT_BUILD)cp -ar $(MAPLE_SDK_DIR)/release/* $(LOCAL_MAPLE_SDK_DIR)/ |
| 362 | ifneq ("$(RELEASE_BUILD)", "y") |
| 363 | $(SILENT_BUILD)cp $(MAPLE_SDK_DIR)/make/bcm68620/lint.sh $(LOCAL_MAPLE_SDK_DIR)/make/bcm68620/ |
| 364 | endif |
| 365 | |
| 366 | .PHONY: maple_sdk_dir |
| 367 | maple_sdk_dir: maple_sdk_devel_to_release |
| 368 | $(SILENT_BUILD)if [ ! -f $(LOCAL_MAPLE_SDK_DIR)/embedded_binaries/bcm68620_boot.bin ]; then \ |
| 369 | echo !!! $(LOCAL_MAPLE_SDK_DIR)/embedded_binaries/bcm68620_boot.bin is absent;\ |
| 370 | echo !!! Please copy BCM68620 SDK release to $(LOCAL_MAPLE_SDK_DIR);\ |
| 371 | exit -1;\ |
| 372 | fi |
| 373 | $(SILENT_BUILD)mkdir -p src/common/os_abstraction |
| 374 | $(SILENT_BUILD)rm -fr src/common/os_abstraction/* |
| 375 | $(SILENT_BUILD)cd src/common/os_abstraction && ln -s ../../../$(LOCAL_MAPLE_SDK_DIR)/host_customized/os_abstraction/* . |
| 376 | $(SILENT_BUILD)rm -f src/common/os_abstraction/bcmos_platform.h |
| 377 | |
| 378 | src_release: |
| 379 | $(SILENT_BUILD)$(MAKE_DIR)/src_release.sh |
| 380 | |
| 381 | .PHONY: maple_sdk |
| 382 | maple_sdk: maple_sdk_build overlay_bal_maple_scripts |
| 383 | |
| 384 | maple_sdk_build: |
| 385 | $(SILENT_BUILD)rm -fr $(TOP_DIR)/$(LOCAL_MAPLE_SDK_DIR)/build/output/* |
| 386 | $(SILENT_BUILD)cd $(LOCAL_MAPLE_SDK_DIR) && \ |
| 387 | unset OUT_DIR && \ |
| 388 | BOARD=$(MAPLE_BOARD) BOARD_DIR=$(MAPLE_BOARD_DIR) $(MAKE) $(SILENT) |
| 389 | ifeq ("$(BOARD)", "") |
| 390 | $(SILENT_BUILD)mkdir -p $(TOP_DIR)/$(LOCAL_MAPLE_SDK_DIR)/build/output/ |
| 391 | $(SILENT_BUILD)find $(TOP_DIR)/$(LOCAL_MAPLE_SDK_DIR) -name 'lib*.a' -exec ln -s \{\} $(TOP_DIR)/$(LOCAL_MAPLE_SDK_DIR)/build/output/ 2> /dev/null \; |
| 392 | $(SILENT_BUILD)rm -f $(TOP_DIR)/$(LOCAL_MAPLE_SDK_DIR)/build/.maple_board_dir |
| 393 | else |
| 394 | $(SILENT_BUILD)echo $(MAPLE_BOARD_DIR) > $(TOP_DIR)/$(LOCAL_MAPLE_SDK_DIR)/build/.maple_board_dir |
| 395 | endif |
| 396 | |
| 397 | maple_sdk_clean: |
| 398 | $(SILENT_BUILD)OUT_DIR=$(TOP_DIR)/$(LOCAL_MAPLE_SDK_DIR)/build OUT_DIR_BASE=$(TOP_DIR)/$(LOCAL_MAPLE_SDK_DIR)/build \ |
| 399 | BOARD_DIR=$(MAPLE_BOARD_DIR) $(MAKE) $(SILENT) -C $(LOCAL_MAPLE_SDK_DIR) TOP_DIR=$(TOP_DIR)/3rdparty/maple/sdk \ |
| 400 | BOARD=$(MAPLE_BOARD) clean |
| 401 | |
| 402 | ing_sdk_dir: |
| 403 | $(SILENT_BUILD)$(ING_SDK_TOP_DIR)/make_ing_dir.sh |
| 404 | |
| 405 | ing_sdk: |
| 406 | $(SILENT_BUILD)$(MAKE) -C $(ING_SDK_TOP_DIR) -f Makefile.sdk sdk |
| 407 | |
| 408 | ing_sdk_clean: |
| 409 | ifeq ($(ING_SDK_DEFAULT_DIR), $(ING_SDK_DIR)) |
| 410 | $(SILENT_BUILD)rm -fr $(ING_SDK_DIR) |
| 411 | else |
| 412 | $(SILENT_BUILD)$(MAKE) -C $(ING_SDK_DIR) clean |
| 413 | endif |
| 414 | |
| 415 | clean_ocs_omci: |
| 416 | $(SILENT_BUILD)$(MAKE) -C $(TOP_DIR)/3rdparty/ocs_omci clean |
| 417 | |
| 418 | #clean_bcm_omci: |
| 419 | # $(SILENT_BUILD)$(MAKE) -C $(TOP_DIR)/3rdparty/ocs_omci clean |
| 420 | |
| 421 | .PHONY: clean_sdn_agent |
| 422 | clean_sdn_agent: clean_agent |
| 423 | |
| 424 | print-% : ; @echo $* = $($*) |
| 425 | |