###############################################################################
#
#  <:copyright-BRCM:2016:DUAL/GPL:standard
#
#     Copyright (c) 2016 Broadcom
#     All Rights Reserved
#
#  Unless you and Broadcom execute a separate written software license
#  agreement governing use of this software, this software is licensed
#  to you under the terms of the GNU General Public License version 2
#  (the "GPL"), available at http://www.broadcom.com/licenses/GPLv2.php,
#  with the following added to such license:
#
#     As a special exception, the copyright holders of this software give
#     you permission to link this software with independent modules, and
#     to copy and distribute the resulting executable under terms of your
#     choice, provided that you also meet, for each linked independent
#     module, the terms and conditions of the license of that module.
#     An independent module is a module which is not derived from this
#     software.  The special exception does not apply to any modifications
#     of the software.
#
#  Not withstanding the above, under no circumstances may you combine
#  this software in any way with any other Broadcom software provided
#  under a license other than the GPL, without Broadcom's express prior
#  written consent.
#
#  :>
#
###############################################################################
# BAL core CLI application
#
MOD_NAME = bal_mac_util
MOD_TYPE = lib
MOD_DEPS = dev_log utils maple_sdk os_cli bal_api bal_app_utils balutils topology
EXTRA_CFLAGS += -I$(SRC_DIR)/../../main

srcs = bal_mac_util.c bal_mac_util_gpon.c bal_mac_util_xgpon.c bal_mac_util_common_itu_pon.c bal_mac_util_db_apis.c bal_mac_util_loopback.c bal_mac_util_epon.c

ifeq ("$(SWITCH)", "qax")
       MOD_DEFS += -DQAX_SWITCH
endif

