sonic-buildimage/platform/broadcom/saibcm-modules/sdklt/make/lkm.mk
zitingguo-ms 2c0f4e57d7
Upgrade XGS saibcm-modules to 8.4 (#16246)
Why I did it
XGS saibcm-modules 8.4 is needed. #14471

Work item tracking
Microsoft ADO (number only): 24917414
How I did it
Copy files from xgs SDK 8.4 repo and modify makefiles to build the image.
Upgrade version to 8.4.0.2 in saibcm-modules.mk.

How to verify it
Build a private image and run full qualification with it: https://elastictest.org/scheduler/testplan/650419cb71f60aa92c456a2b
2023-10-26 18:58:34 +08:00

74 lines
1.8 KiB
Makefile

#
# $Copyright: Copyright 2018-2022 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.$
#
# Shared makefile include for building Linux kernel modules.
#
# KDIR must point to the Linux kernel sources
ifndef KDIR
nokdir:; @echo 'The $$KDIR variable is not set'; exit 1
endif
# Required for older kernels
export EXTRA_CFLAGS = $(ccflags-y)
PWD := $(shell pwd)
ifneq ($(LKM_BLDDIR),)
#
# If a build directory has been specified, then we symlink all sources
# to this directory and redirect the module build path.
#
# Note that the KBUILD_OUTPUT variable cannot be used to redirect the
# output as we want it.
#
MDIR := $(LKM_BLDDIR)
MSRCS := $(patsubst %.o,%.c,$($(MOD_NAME)-y))
MSRCS += Makefile Kbuild
BSRCS := $(addprefix $(PWD)/,$(MSRCS))
else
#
# Build in current directory by default.
#
MDIR := $(PWD)
endif
all: mlinks
$(Q)echo Building kernel module $(MOD_NAME)
$(MAKE) -C $(KDIR) M=$(MDIR)
clean:: mlinks
$(Q)echo Cleaning kernel module $(MOD_NAME)
$(MAKE) -C $(KDIR) M=$(MDIR) clean
ifneq ($(MDIR),$(PWD))
rm -rf $(MDIR)
endif
mlinks:
ifneq ($(MDIR),$(PWD))
$(Q)mkdir -p $(MDIR)
(cd $(MDIR); \
rm -rf $(MSRCS); \
for f in $(BSRCS); do \
ln -s $$f; \
done)
endif
.PHONY: all mlinks clean
# Standard documentation targets
-include $(SDK)/make/doc.mk