openbcm

Git mirror of https://github.com/Broadcom-Network-Switching-Software/OpenBCM
git clone git://git.finwo.net/mirror/broadcom/openbcm
Log | Files | Refs | README

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