sonic-buildimage/platform/broadcom/saibcm-modules/sdklt/Makefile
Mahesh Maddikayala bc2a13136a [BCMSAI] Update BCMSAI debian to 4.3.0.10 with 6.5.21 SDK, and opennsl module to 6.5.21 (#6526)
BCMSAI 4.3.0.10, 6.5.21 SDK release with enhancements and fixes for vxlan, TD3 MMU, TD4-X9 EA support, etc.
2021-02-05 16:08:04 -08:00

84 lines
2.2 KiB
Makefile

#
# $Copyright: Copyright 2018-2020 Broadcom. All rights reserved.
# The term 'Broadcom' refers to Broadcom Inc. and/or its subsidiaries.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# version 2 as published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# A copy of the GNU General Public License version 2 (GPLv2) can
# be found in the LICENSES folder.$
#
help:
@echo ''
@echo 'Build Linux GPL kernel modules for SDKLT.'
@echo ''
@echo 'Available make targets:'
@echo 'kmod - Build kernel modules'
@echo 'clean - Remove object files'
@echo ''
@echo 'Supported make variables:'
@echo 'KDIR - Linux kernel source directory (mandatory)'
@echo 'CROSS_COPILE - Cross-compiler prefix (optional)'
@echo ''
@echo 'Examples:'
@echo 'make -s KDIR=$$KERNEL/linux kmod'
@echo 'make -s clean'
@echo ''
ifndef KDIR
nokdir:
@echo 'Error: The $$KDIR environment variable is not set.'
@echo '$$KDIR must point to a configured Linux kernel source tree.'
exit 1
endif
export KDIR
export CROSS_COMPILE
override SDK := $(CURDIR)
ifeq ($(BUILD_PSAMPLE),1)
PSAMPLE=psample
PSAMPLE_SYMVERS=$(SDK)/linux/psample/Module.symvers
endif
kmod: bde knet knetcb $(PSAMPLE)
bde:
$(MAKE) -C $(SDK)/linux/bde SDK=$(SDK) \
$(TARGET)
ln -sf $(SDK)/linux/bde/*.ko
knet: bde
$(MAKE) -C $(SDK)/linux/knet SDK=$(SDK) \
KBUILD_EXTRA_SYMBOLS=$(SDK)/linux/bde/Module.symvers \
$(TARGET)
ln -sf $(SDK)/linux/knet/*.ko
knetcb: knet $(PSAMPLE)
$(MAKE) -C $(SDK)/linux/knetcb SDK=$(SDK) \
KBUILD_EXTRA_SYMBOLS=$(SDK)/linux/knet/Module.symvers \
KBUILD_EXTRA_SYMBOLS+=$(PSAMPLE_SYMVERS) \
$(TARGET)
ln -sf $(SDK)/linux/knetcb/*.ko
ifeq ($(BUILD_PSAMPLE),1)
$(PSAMPLE):
$(MAKE) -C $(SDK)/linux/psample SDK=$(SDK) \
$(TARGET)
ln -sf $(SDK)/linux/psample/*.ko
endif
clean:
$(MAKE) kmod TARGET=clean
rm -f *.ko
.PHONY: help kmod bde knet knetcb $(PSAMPLE) clean