1# 2# Makefile for Broadcom Home Networking Division (HND) shared driver code 3# 4# Copyright (C) 2015, Broadcom Corporation. All Rights Reserved. 5# 6# Permission to use, copy, modify, and/or distribute this software for any 7# purpose with or without fee is hereby granted, provided that the above 8# copyright notice and this permission notice appear in all copies. 9# 10# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 13# SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 15# OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 16# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17# 18# $Id: Makefile,v 1.5 2008-05-02 22:49:54 $ 19# 20 21SHARED := ../../../../../../../src/shared 22ROUTER := ../../../../../../../src/router 23SRC := ../../../../../../../src 24WLSHARED := wlconfig_lx_shared 25WLCFGDIR := $(src)/../../../../../../../src/wl/config 26WLSYSDIR := $(src)/../../../../../../../src/wl/sys 27 28ifeq ($(CONFIG_BUZZZ_FUNC),y) 29subdir-ccflags-y += -O0 -fno-inline -finstrument-functions 30endif # CONFIG_BUZZZ_FUNC 31 32ifneq ($(wildcard $(WLCFGDIR)),) 33include $(WLCFGDIR)/$(WLSHARED) 34include $(WLCFGDIR)/wl.mk 35endif 36 37hnd-objs := $(addprefix $(SHARED)/, $(sort $(WLFILES:.c=.o))) 38HND_OBJS := $(addprefix $(src)/$(SHARED)/, $(sort $(WLFILES:.c=.o))) 39 40EXTRA_CFLAGS += $(WLFLAGS) -DBCM5354 -DLINUX_HYBRID_POSTPROCESSING_REMOVAL 41 42# For the ARM platform... 43ifneq ($(CONFIG_MACH_BRCM_NS),) 44EXTRA_CFLAGS += -DROBO_SRAB -DBCMDMASGLISTOSL 45endif 46 47ifneq ($(CONFIG_BCM947XX),y) 48HND_OBJS += $(src)/$(SHARED)/nvramstubs.o 49hnd-objs += $(SHARED)/nvramstubs.o 50endif 51 52ifeq ($(CONFIG_ET_47XX),y) 53HND_OBJS += $(src)/$(SHARED)/bcmrobo.o 54hnd-objs += $(SHARED)/bcmrobo.o 55else 56ifeq ($(CONFIG_BCM57XX),y) 57HND_OBJS += $(src)/$(SHARED)/bcmrobo.o 58hnd-objs += $(SHARED)/bcmrobo.o 59endif 60endif 61 62HND_OBJS += $(src)/$(SHARED)/pcie_core.o 63hnd-objs += $(SHARED)/pcie_core.o 64 65ifeq ($(CONFIG_BCM_GMAC3),y) 66HND_OBJS += $(src)/$(SHARED)/hndfwd.o 67hnd-objs += $(SHARED)/hndfwd.o 68endif 69 70ifdef CONFIG_USB_RNDIS 71EXTRA_CFLAGS += -DCONFIG_USBRNDIS_RETAIL 72endif 73 74ifeq ($(BCMDBG_MEM),1) 75EXTRA_CFLAGS += -DBCMDBG_MEM 76endif 77 78obj-$(CONFIG_HND) := hnd.o shared_ksyms.o 79 80ifeq ($(wildcard $(src)/$(SHARED)/bcmutils.c),) 81$(src)/$(SHARED)/bcmutils.o: $(src)/$(SHARED)/linux/bcmutils.o 82 cp $< $@ 83endif 84 85ifeq ($(wildcard $(src)/$(SHARED)/bcmrobo.c),) 86$(src)/$(SHARED)/bcmrobo.o: $(src)/$(SHARED)/linux/bcmrobo.o 87 cp $< $@ 88endif 89 90ifeq ($(wildcard $(src)/$(SHARED)/hnddma.c),) 91$(src)/$(SHARED)/hnddma.o: $(src)/$(SHARED)/linux/hnddma.o 92 cp $< $@ 93endif 94 95ifeq ($(wildcard $(src)/$(SHARED)/hndfwd.c),) 96$(src)/$(SHARED)/hndfwd.o: $(src)/$(SHARED)/linux/hndfwd.o 97 cp $< $@ 98endif 99 100ifeq ($(wildcard $(src)/$(SHARED)/linux_osl.c),) 101$(src)/$(SHARED)/linux_osl.o: $(src)/$(SHARED)/linux/linux_osl.o 102 cp $< $@ 103endif 104 105ifeq ($(wildcard $(src)/$(SHARED)/sbutils.c),) 106$(src)/$(SHARED)/sbutils.o: $(src)/$(SHARED)/linux/sbutils.o 107 cp $< $@ 108endif 109 110ifeq ($(wildcard $(src)/$(SHARED)/hndpmu.c),) 111$(src)/$(SHARED)/hndpmu.o: $(src)/$(SHARED)/linux/hndpmu.o 112 cp $< $@ 113endif 114 115ifeq ($(wildcard $(src)/$(SHARED)/bcmsrom.c),) 116$(src)/$(SHARED)/bcmsrom.o: $(src)/$(SHARED)/linux/bcmsrom.o 117 cp $< $@ 118endif 119 120ifeq ($(wildcard $(src)/$(SHARED)/nvramstubs.c),) 121$(src)/$(SHARED)/nvramstubs.o: $(src)/$(SHARED)/linux/nvramstubs.o 122 cp $< $@ 123endif 124 125ifeq ($(wildcard $(src)/$(SHARED)/bcmwpa.c),) 126$(src)/$(SHARED)/bcmwpa.o: $(src)/$(SHARED)/linux/bcmwpa.o 127 cp $< $@ 128endif 129 130ifeq ($(wildcard $(src)/$(SHARED)/bcmotp.c),) 131$(src)/$(SHARED)/bcmotp.o: $(src)/$(SHARED)/linux/bcmotp.o 132 cp $< $@ 133endif 134 135ifeq ($(wildcard $(src)/$(SHARED)/nicpci.c),) 136$(src)/$(SHARED)/nicpci.o: $(src)/$(SHARED)/linux/nicpci.o 137 cp $< $@ 138endif 139 140ifeq ($(wildcard $(src)/$(SHARED)/pcie_core.c),) 141$(src)/$(SHARED)/pcie_core.o: $(src)/$(SHARED)/linux/pcie_core.o 142 cp $< $@ 143endif 144 145$(src)/shared_ksyms.c: $(src)/shared_ksyms.sh $(HND_OBJS) 146 sh -e $< $(HND_OBJS) > $@ 147 148clean-files += $(SHARED)/*.o $(SHARED)/.*.o.cmd 149