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