2018-08-07 02:14:37 -05:00
|
|
|
#
|
2021-01-28 10:38:47 -06:00
|
|
|
# Copyright 2007-2020 Broadcom Inc. All rights reserved.
|
|
|
|
#
|
|
|
|
# Permission is granted to use, copy, modify and/or distribute this
|
|
|
|
# software under either one of the licenses below.
|
|
|
|
#
|
|
|
|
# License Option 1: GPL
|
2018-08-07 02:14:37 -05:00
|
|
|
#
|
2018-08-23 14:05:14 -05:00
|
|
|
# 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.
|
2021-01-28 10:38:47 -06:00
|
|
|
#
|
|
|
|
#
|
|
|
|
# License Option 2: Broadcom Open Network Switch APIs (OpenNSA) license
|
|
|
|
#
|
|
|
|
# This software is governed by the Broadcom Open Network Switch APIs license:
|
|
|
|
# https://www.broadcom.com/products/ethernet-connectivity/software/opennsa
|
2018-08-07 02:14:37 -05:00
|
|
|
#
|
|
|
|
# -*- 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
|
2019-12-19 00:26:34 -06:00
|
|
|
VPATH = ../shared
|
2018-08-07 02:14:37 -05:00
|
|
|
|
|
|
|
# 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
|
|
|
|
|
2020-10-06 09:58:00 -05:00
|
|
|
build: kernel_libs module $(KMODULE)
|
2018-08-07 02:14:37 -05:00
|
|
|
else
|
|
|
|
MODULE = $(LIBDIR)/linux-kernel-bde.o
|
|
|
|
|
2020-10-06 09:58:00 -05:00
|
|
|
build: kernel_libs module
|
2018-08-07 02:14:37 -05:00
|
|
|
endif
|
|
|
|
|
2020-10-06 09:58:00 -05:00
|
|
|
module: kernel_libs $(MODULE)
|
|
|
|
|
|
|
|
$(MODULE): $(BLDDIR)/.tree $(BOBJS)
|
2018-08-07 02:14:37 -05:00
|
|
|
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
|