Makefile (2907B)
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-diag 8 9 include ${SDK}/make/Make.config 10 11 DIAG = ${COND_LIB_BCMX_DIAG} libdiag.a 12 13 14 ifdef ESW_CHIPS 15 DIAG += libdiag_esw.a \ 16 libtsl3uc.a \ 17 libtsbasic.a \ 18 libtsl3mc.a \ 19 libtsmpls.a \ 20 libtsmmu.a \ 21 libtsoam.a \ 22 libtsniv.a \ 23 libtsriot.a \ 24 libtsvlan.a \ 25 libtsvxlan.a \ 26 libtsfflow.a \ 27 libtsifp.a \ 28 libtsvfp.a \ 29 libtsefp.a \ 30 libtscos.a \ 31 libtsloadbalance.a \ 32 libtsdgm.a \ 33 libtstcb.a \ 34 libtspstat.a \ 35 libtsphy.a \ 36 libtsledup.a \ 37 libtscmic.a \ 38 libtsvisibility.a \ 39 libtswarmboot.a \ 40 libtechsupport.a 41 DIAG += libtsetrap.a 42 DIAG += libtsint.a 43 DIAG += libtshistogram.a 44 DIAG += libtsalpm.a 45 DIAG += libtscancun.a 46 endif 47 48 ifdef DPP_CHIPS 49 DIAG += libdiag_dpp.a 50 endif 51 52 ifdef DFE_CHIPS 53 DIAG += libdiag_dfe.a libdiag_dcmn.a 54 else 55 ifdef DPP_CHIPS 56 DIAG += libdiag_dcmn.a 57 endif 58 endif 59 60 ifdef PORTMOD_SUPPORT 61 DIAG += libdiag_portmod.a 62 endif 63 64 ifndef NO_SAL_APPL 65 COND_LIB_SAL_APPL=libsal_appl.a 66 COND_LIB_SAL_APPL_PLATFORM=libsal_appl_plat.a 67 endif 68 69 DIAG_LIBS = \ 70 ${DIAG}\ 71 ${COND_LIB_PHYMOD_DIAG} \ 72 ${COND_LIB_PORTMOD_DIAG} \ 73 libkern.a \ 74 ${COND_LIB_SAL_APPL} \ 75 ${COND_LIB_EDITLINE} \ 76 ${COND_LIB_DIAG_APS} \ 77 ${COND_LIB_SAL_APPL_PLATFORM} 78 79 BCM_LIBS = $(DIAG_LIBS) $(COND_LIB_ETH_DRV) 80 BCM_LIBS_BLD = $(addprefix $(LIBDIR)/,$(BCM_LIBS)) 81 ifndef BUILD_MACSEC 82 BCM_LIBS_BLD += ${EXTERNAL_LIBS} 83 endif 84 85 ifeq ($(kernel_version),2_4) 86 MODULE = $(LIBDIR)/linux-bcm-diag.o 87 else 88 KERNEL_MODULE_DIR = kernel_module 89 90 THIS_MOD_NAME := linux-bcm-diag 91 MODULE = $(LIBDIR)/$(THIS_MOD_NAME).o 92 KMODULE = $(LIBDIR)/$(THIS_MOD_NAME).ko 93 94 build: $(MODULE) $(KMODULE) 95 endif 96 97 KBUILD_EXTRA_SYMBOLS := ${BLDDIR}/../bcm-core/kernel_module/Module.symvers 98 KBUILD_EXTRA_SYMBOLS += ${BLDDIR}/../uk-proxy/kernel_module/Module.symvers 99 100 # BCM Diag Shell 101 102 $(MODULE): $(BLDDIR)/.tree $(BOBJS) $(BCM_LIBS_BLD) 103 $(LD) $(MODULE_LDFLAGS) -r -d $(BOBJS) --start-group $(BCM_LIBS_BLD) --end-group -o $@ 104 ifneq ($(kernel_version),2_4) 105 $(KMODULE): $(MODULE) 106 rm -fr $(BLDDIR)/$(KERNEL_MODULE_DIR) 107 mkdir $(BLDDIR)/$(KERNEL_MODULE_DIR) 108 cp ${SDK}/make/Makefile.linux-kmodule $(BLDDIR)/$(KERNEL_MODULE_DIR)/Makefile 109 cat ${KBUILD_EXTRA_SYMBOLS} > $(BLDDIR)/$(KERNEL_MODULE_DIR)/Module.symvers 110 MOD_NAME=$(THIS_MOD_NAME) $(MAKE) -C $(BLDDIR)/$(KERNEL_MODULE_DIR) $(THIS_MOD_NAME).ko 111 endif 112 113 # Make.depend is before clean:: so that Make.depend's clean:: runs first. 114 115 include ${SDK}/make/Make.depend 116 117 clean:: 118 $(RM) $(BLDDIR)/version.c $(BLDDIR)/version.o 119 $(RM) $(BOBJS) $(MODULE) 120 121 ifneq ($(kernel_version),2_4) 122 .PHONY: build 123 endif