Makefile (1545B)
1 # -*- Makefile -*- 2 # 3 # This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file. 4 # 5 # Copyright 2007-2019 Broadcom Inc. All rights reserved. 6 # 7 LOCALDIR = systems/linux/kernel/modules/bcm-knet 8 9 include ${SDK}/make/Make.config 10 11 LIBS = $(LIBDIR)/libkern.a 12 13 ifeq ($(kernel_version),2_4) 14 MODULE = $(LIBDIR)/linux-bcm-knet.o 15 else 16 KERNEL_MODULE_DIR = kernel_module 17 18 THIS_MOD_NAME := linux-bcm-knet 19 MODULE = $(LIBDIR)/$(THIS_MOD_NAME).o 20 KMODULE = $(LIBDIR)/$(THIS_MOD_NAME).ko 21 22 build: $(MODULE) $(KMODULE) 23 endif 24 25 KBUILD_EXTRA_SYMBOLS := ${BLDDIR}/../../../../bde/linux/kernel/kernel_module/Module.symvers 26 ifeq (,$(findstring -DPROXY_SUPPORT=0,$(CFLAGS))) 27 KBUILD_EXTRA_SYMBOLS += ${BLDDIR}/../uk-proxy/kernel_module/Module.symvers 28 endif 29 30 # BCM Network Device 31 32 $(MODULE): $(BLDDIR)/.tree $(BOBJS) $(LIBS) 33 $(LD) $(MODULE_LDFLAGS) -r -d $(BOBJS) $(LIBS) -o $@ 34 ifneq ($(kernel_version),2_4) 35 $(KMODULE): $(MODULE) 36 rm -fr $(BLDDIR)/$(KERNEL_MODULE_DIR) 37 mkdir $(BLDDIR)/$(KERNEL_MODULE_DIR) 38 cp ${SDK}/make/Makefile.linux-kmodule $(BLDDIR)/$(KERNEL_MODULE_DIR)/Makefile 39 cat ${KBUILD_EXTRA_SYMBOLS} > $(BLDDIR)/$(KERNEL_MODULE_DIR)/Module.symvers 40 MOD_NAME=$(THIS_MOD_NAME) $(MAKE) -C $(BLDDIR)/$(KERNEL_MODULE_DIR) $(THIS_MOD_NAME).ko 41 endif 42 43 # Make.depend is before clean:: so that Make.depend's clean:: runs first. 44 45 include ${SDK}/make/Make.depend 46 47 clean:: 48 $(RM) $(BLDDIR)/version.c $(BLDDIR)/version.o 49 $(RM) $(BOBJS) $(MODULE) 50 51 ifneq ($(kernel_version),2_4) 52 .PHONY: build 53 endif