# # 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 # # 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. # # # 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 # # -*- 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: $(KMODULE) else MODULE = $(LIBDIR)/linux-kernel-bde.o build: module endif module: $(MODULE) $(MODULE): $(BLDDIR)/.tree $(BOBJS) kernel_libs 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