sonic-buildimage/platform/broadcom/saibcm-modules/systems/bde/linux/kernel/Makefile
Mahesh Maddikayala 49b34dc433
[BCMSAI] Update BCM SAI debian package to 4.2.1.3 (6.5.19 hsdk) (#5532)
* [BCMSAI DEB] Update BCM SAI debian package to 4.2.1.3 (6.5.19 hsdk)(1.6.5 SAI)
* [BCMSAI GPL] Update BCMSAI GPL to 6.5.19
2020-10-06 07:58:00 -07:00

95 lines
2.4 KiB
Makefile

#
# Copyright 2017 Broadcom
#
# 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 (the "GPL").
#
# 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 version 2 (GPLv2) for more details.
#
# You should have received a copy of the GNU General Public License
# version 2 (GPLv2) along with this source code.
#
# -*- Makefile -*-
# $Id: Makefile,v 1.18 Broadcom SDK $
# $Copyright: (c) 2005 Broadcom Corp.
# All Rights Reserved.$
#
# Makefile for Linux kernel BDE
#
LOCALDIR = systems/bde/linux/kernel
# Make sure we build for the kernel if this is a user-mode build
ifneq ($(platform), )
override-target=linux-$(platform)
endif
include $(SDK)/make/Make.config
LIBS = $(LIBDIR)/libkern.a
BDE = linux-kernel-bde.o
# need to add vpath sources
VPATH = ../shared
# Add the srcs to be found by vpath
LSRCS += mpool.c
# Add shared BDE sources
VPATH += ../../shared
LSRCS += shbde_pci.c shbde_iproc.c shbde_mdio.c
CFLAGS += -I../../shared/include
LHDRS += mpool.h
LOBJS = $(addsuffix .o, $(basename $(LSRCS)))
BOBJS = $(addprefix $(BLDDIR)/,$(LOBJS))
ifneq ($(kernel_version),2_4)
KERNEL_MODULE_DIR = kernel_module
THIS_MOD_NAME := linux-kernel-bde
MODULE = $(LIBDIR)/$(THIS_MOD_NAME).o
KMODULE = $(LIBDIR)/$(THIS_MOD_NAME).ko
build: kernel_libs module $(KMODULE)
else
MODULE = $(LIBDIR)/linux-kernel-bde.o
build: kernel_libs module
endif
module: kernel_libs $(MODULE)
$(MODULE): $(BLDDIR)/.tree $(BOBJS)
mkdir -p $(@D)
$(LD) $(MODULE_LDFLAGS) -r -d $(BOBJS) $(LIBS) -o $@
ifneq ($(kernel_version),2_4)
$(KMODULE): $(MODULE)
rm -fr $(BLDDIR)/$(KERNEL_MODULE_DIR)
mkdir $(BLDDIR)/$(KERNEL_MODULE_DIR)
cp ${SDK}/make/Makefile.linux-kmodule $(BLDDIR)/$(KERNEL_MODULE_DIR)/Makefile
MOD_NAME=$(THIS_MOD_NAME) $(MAKE) -C $(BLDDIR)/$(KERNEL_MODULE_DIR) $(THIS_MOD_NAME).ko
endif
kernel_libs:
$(MAKE) -C $(SDK)/systems/linux/kernel/modules/shared
include $(SDK)/make/Make.depend
# Make.depend is before clean:: so that Make.depend's clean:: runs first.
clean::
$(MAKE) -C $(SDK)/systems/linux/kernel/modules/shared $@
$(RM) $(BOBJS) $(MODULE)
$(RM) $(BLDDIR)/$(KERNEL_MODULE_DIR)
distclean::
ifneq ($(kernel_version),2_4)
.PHONY: build kernel_libs
endif