Makefile (12681B)
1 # 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 = libs/phymod 8 9 ifndef PHYMOD 10 PHYMOD = $(CURDIR) 11 endif 12 13 include ${PHYMOD}/make/config.mk 14 15 # Core library 16 VPATH = acc core diag 17 VSRCS = $(wildcard acc/*.c) $(wildcard core/*.c) $(wildcard diag/*.c) 18 19 # Symbolic debug 20 VPATH += sym sym/chip 21 VSRCS += $(wildcard sym/*.c) $(wildcard sym/chip/*.c) 22 23 # PHY simulators 24 VPATH += sim sim/chip 25 VSRCS += $(wildcard sim/*.c) $(wildcard sim/chip/*.c) 26 27 # PHY util 28 VPATH += util 29 VSRCS += $(wildcard util/*.c) 30 31 # 32 # The PHYMOD_CHIPS make variable can be used to compile the sources 33 # for only one chip (or a subset of chips). 34 # 35 # Please see $PHYMOD/examples/libonly/Makefile for examples 36 # 37 ifneq ($(PHYMOD_CHIPS),) 38 MAKE_PHYMOD_CHIPS := $(PHYMOD_CHIPS) 39 endif 40 41 # Eagle chip support 42 ifeq ($(PHYMOD_CHIPS),) 43 MAKE_PHYMOD_CHIPS += EAGLE 44 endif 45 ifneq ($(filter EAGLE,$(MAKE_PHYMOD_CHIPS)),) 46 VPATH += chip/eagle chip/eagle/tier2 chip/eagle/tier1 47 VSRCS += $(wildcard chip/eagle/*.c) 48 VSRCS += $(wildcard chip/eagle/tier2/*.c) 49 VSRCS += $(wildcard chip/eagle/tier1/*.c) 50 endif 51 52 # Eagle dpll chip support 53 ifeq ($(PHYMOD_CHIPS),) 54 MAKE_PHYMOD_CHIPS += EAGLE_DPLL 55 endif 56 ifneq ($(filter EAGLE_DPLL,$(MAKE_PHYMOD_CHIPS)),) 57 VPATH += chip/eagle_dpll chip/eagle_dpll/tier2 chip/eagle_dpll/tier1 58 VSRCS += $(wildcard chip/eagle_dpll/*.c) 59 VSRCS += $(wildcard chip/eagle_dpll/tier2/*.c) 60 VSRCS += $(wildcard chip/eagle_dpll/tier1/*.c) 61 endif 62 63 # Falcon chip support 64 ifeq ($(PHYMOD_CHIPS),) 65 MAKE_PHYMOD_CHIPS += FALCON 66 endif 67 ifneq ($(filter FALCON,$(MAKE_PHYMOD_CHIPS)),) 68 VPATH += chip/falcon chip/falcon/tier2 chip/falcon/tier1 69 VSRCS += $(wildcard chip/falcon/*.c) 70 VSRCS += $(wildcard chip/falcon/tier2/*.c) 71 VSRCS += $(wildcard chip/falcon/tier1/*.c) 72 endif 73 74 # QSGMII/Eagle chip support 75 ifeq ($(PHYMOD_CHIPS),) 76 MAKE_PHYMOD_CHIPS += QSGMIIE 77 endif 78 ifneq ($(filter QSGMIIE,$(MAKE_PHYMOD_CHIPS)),) 79 VPATH += chip/qsgmiie chip/qsgmiie/tier2 chip/qsgmiie/tier1 80 VSRCS += $(wildcard chip/qsgmiie/*.c) 81 VSRCS += $(wildcard chip/qsgmiie/tier2/*.c) 82 VSRCS += $(wildcard chip/qsgmiie/tier1/*.c) 83 endif 84 85 # TSC/Eagle chip support 86 ifeq ($(PHYMOD_CHIPS),) 87 MAKE_PHYMOD_CHIPS += TSCE 88 endif 89 ifneq ($(filter TSCE,$(MAKE_PHYMOD_CHIPS)),) 90 VPATH += chip/tsce chip/tsce/tier2 chip/tsce/tier1 91 VSRCS += $(wildcard chip/tsce/*.c) 92 VSRCS += $(wildcard chip/tsce/tier2/*.c) 93 VSRCS += $(wildcard chip/tsce/tier1/*.c) 94 endif 95 96 # TSC/Eagle DPLL chip support 97 ifeq ($(PHYMOD_CHIPS),) 98 MAKE_PHYMOD_CHIPS += TSCE_DPLL 99 endif 100 ifneq ($(filter TSCE_DPLL,$(MAKE_PHYMOD_CHIPS)),) 101 VPATH += chip/tsce_dpll chip/tsce_dpll/tier2 chip/tsce_dpll/tier1 102 VSRCS += $(wildcard chip/tsce_dpll/*.c) 103 VSRCS += $(wildcard chip/tsce_dpll/tier2/*.c) 104 VSRCS += $(wildcard chip/tsce_dpll/tier1/*.c) 105 endif 106 107 # TSC/Falcon chip support 108 ifeq ($(PHYMOD_CHIPS),) 109 MAKE_PHYMOD_CHIPS += TSCF 110 endif 111 ifneq ($(filter TSCF,$(MAKE_PHYMOD_CHIPS)),) 112 VPATH += chip/tscf chip/tscf/tier2 chip/tscf/tier1 113 VSRCS += $(wildcard chip/tscf/*.c) 114 VSRCS += $(wildcard chip/tscf/tier2/*.c) 115 VSRCS += $(wildcard chip/tscf/tier1/*.c) 116 endif 117 118 # Viper chip support 119 ifeq ($(PHYMOD_CHIPS),) 120 MAKE_PHYMOD_CHIPS += VIPER 121 endif 122 ifneq ($(filter VIPER,$(MAKE_PHYMOD_CHIPS)),) 123 VPATH += chip/viper chip/viper/tier2 chip/viper/tier1 124 VSRCS += $(wildcard chip/viper/*.c) 125 VSRCS += $(wildcard chip/viper/tier2/*.c) 126 VSRCS += $(wildcard chip/viper/tier1/*.c) 127 endif 128 129 # Furia chip support 130 ifeq ($(PHYMOD_CHIPS),) 131 MAKE_PHYMOD_CHIPS += FURIA 132 endif 133 ifneq ($(filter FURIA,$(MAKE_PHYMOD_CHIPS)),) 134 VPATH += chip/furia chip/furia/tier2 chip/furia/tier1 chip/furia/tier1/falcon_furia_src chip/furia_82212 chip/furia_82212/tier2 135 VSRCS += $(wildcard chip/furia/*.c) 136 VSRCS += $(wildcard chip/furia/tier2/*.c) 137 VSRCS += $(wildcard chip/furia/tier1/*.c) 138 VSRCS += $(wildcard chip/furia/tier1/falcon_furia_src/falcon_furia_functions.c) 139 VSRCS += $(wildcard chip/furia/tier1/falcon_furia_src/falcon_furia_dependencies.c) 140 141 VSRCS += $(wildcard chip/furia_82212/*.c) 142 VSRCS += $(wildcard chip/furia_82212/tier2/*.c) 143 endif 144 145 # QTC chip support 146 ifeq ($(PHYMOD_CHIPS),) 147 MAKE_PHYMOD_CHIPS += QTC 148 endif 149 ifneq ($(filter QTC,$(MAKE_PHYMOD_CHIPS)),) 150 VPATH += chip/qtce chip/qtce/tier2 chip/qtce/tier1 151 VSRCS += $(wildcard chip/qtce/*.c) 152 VSRCS += $(wildcard chip/qtce/tier2/*.c) 153 VSRCS += $(wildcard chip/qtce/tier1/*.c) 154 endif 155 156 # Sesto chip support 157 ifeq ($(PHYMOD_CHIPS),) 158 MAKE_PHYMOD_CHIPS += SESTO 159 endif 160 ifneq ($(filter SESTO,$(MAKE_PHYMOD_CHIPS)),) 161 VPATH += chip/sesto chip/sesto/tier2 chip/sesto/tier1 chip/sesto/tier1/sesto_serdes/falcon_furia_sesto_src chip/sesto/tier1/sesto_serdes/merlin_sesto_src 162 VSRCS += $(wildcard chip/sesto/*.c) 163 VSRCS += $(wildcard chip/sesto/tier2/*.c) 164 VSRCS += $(wildcard chip/sesto/tier1/*.c) 165 VSRCS += $(wildcard chip/sesto/tier1/sesto_serdes/falcon_furia_sesto_src/falcon_furia_sesto_functions.c) 166 VSRCS += $(wildcard chip/sesto/tier1/sesto_serdes/falcon_furia_sesto_src/falcon_furia_sesto_dependencies.c) 167 VSRCS += $(wildcard chip/sesto/tier1/sesto_serdes/merlin_sesto_src/merlin_sesto_functions.c) 168 VSRCS += $(wildcard chip/sesto/tier1/sesto_serdes/merlin_sesto_src/merlin_sesto_dependencies.c) 169 endif 170 171 172 # Madura chip support 173 ifeq ($(PHYMOD_CHIPS),) 174 MAKE_PHYMOD_CHIPS += MADURA 175 endif 176 ifneq ($(filter MADURA,$(MAKE_PHYMOD_CHIPS)),) 177 VPATH += chip/madura chip/madura/tier2 chip/madura/tier1 chip/madura/tier1/madura_serdes/falcon_madura_src chip/madura/tier1/madura_serdes/falcon2_madura_src 178 VSRCS += $(wildcard chip/madura/*.c) 179 VSRCS += $(wildcard chip/madura/tier2/*.c) 180 VSRCS += $(wildcard chip/madura/tier1/*.c) 181 VSRCS += $(wildcard chip/madura/tier1/madura_serdes/falcon_madura_src/falcon_madura_functions.c) 182 VSRCS += $(wildcard chip/madura/tier1/madura_serdes/falcon_madura_src/falcon_madura_dependencies.c) 183 VSRCS += $(wildcard chip/madura/tier1/madura_serdes/falcon2_madura_src/falcon2_madura_functions.c) 184 VSRCS += $(wildcard chip/madura/tier1/madura_serdes/falcon2_madura_src/falcon2_madura_dependencies.c) 185 endif 186 187 188 # quadra28 chip support 189 ifeq ($(PHYMOD_CHIPS),) 190 MAKE_PHYMOD_CHIPS += QUADRA28 191 endif 192 ifneq ($(filter QUADRA28,$(MAKE_PHYMOD_CHIPS)),) 193 VPATH += chip/quadra28 chip/quadra28/tier2 chip/quadra28/tier1 chip/quadra28/tier1/quadra28_serdes 194 VSRCS += $(wildcard chip/quadra28/*.c) 195 VSRCS += $(wildcard chip/quadra28/tier2/*.c) 196 VSRCS += $(wildcard chip/quadra28/tier1/*.c) 197 VSRCS += $(wildcard chip/quadra28/tier1/quadra28_serdes/merlin_quadra28_functions.c) 198 VSRCS += $(wildcard chip/quadra28/tier1/quadra28_serdes/merlin_quadra28_dependencies.c) 199 endif 200 201 202 # huracan chip support 203 ifeq ($(PHYMOD_CHIPS),) 204 MAKE_PHYMOD_CHIPS += HURACAN 205 endif 206 ifneq ($(filter HURACAN,$(MAKE_PHYMOD_CHIPS)),) 207 VPATH += chip/huracan chip/huracan/tier2 chip/huracan/tier1 208 VSRCS += $(wildcard chip/huracan/*.c) 209 VSRCS += $(wildcard chip/huracan/tier2/*.c) 210 VSRCS += $(wildcard chip/huracan/tier1/*.c) 211 endif 212 213 # Dino chip support 214 ifeq ($(PHYMOD_CHIPS),) 215 MAKE_PHYMOD_CHIPS += DINO 216 endif 217 ifneq ($(filter DINO,$(MAKE_PHYMOD_CHIPS)),) 218 VPATH += chip/dino chip/dino/tier2 chip/dino/tier1 chip/dino/tier1/dino_serdes/falcon2_dino_src chip/dino/tier1/dino_serdes/merlin_dino_src 219 VSRCS += $(wildcard chip/dino/*.c) 220 VSRCS += $(wildcard chip/dino/tier2/*.c) 221 VSRCS += $(wildcard chip/dino/tier1/*.c) 222 VSRCS += $(wildcard chip/dino/tier1/dino_serdes/falcon2_dino_src/falcon2_dino_functions.c) 223 VSRCS += $(wildcard chip/dino/tier1/dino_serdes/falcon2_dino_src/falcon2_dino_dependencies.c) 224 VSRCS += $(wildcard chip/dino/tier1/dino_serdes/merlin_dino_src/merlin_dino_functions.c) 225 VSRCS += $(wildcard chip/dino/tier1/dino_serdes/merlin_dino_src/merlin_dino_dependencies.c) 226 endif 227 # phy8806x support 228 ifeq ($(PHYMOD_CHIPS),) 229 MAKE_PHYMOD_CHIPS += PHY8806X 230 endif 231 ifneq ($(filter PHY8806X,$(MAKE_PHYMOD_CHIPS)),) 232 VPATH += chip/phy8806x chip/phy8806x/tier2 chip/phy8806x/tier1 233 VSRCS += $(filter-out chip/phy8806x/phy8806x_pe_api.c, $(wildcard chip/phy8806x/*.c)) 234 VSRCS += $(wildcard chip/phy8806x/tier2/*.c) 235 VSRCS += $(wildcard chip/phy8806x/tier1/*.c) 236 endif 237 238 # Falcon16 chip support 239 ifeq ($(PHYMOD_CHIPS),) 240 MAKE_PHYMOD_CHIPS += FALCON16 241 endif 242 ifneq ($(filter FALCON16,$(MAKE_PHYMOD_CHIPS)),) 243 VPATH += chip/falcon16 chip/falcon16/tier2 chip/falcon16/tier1 chip/falcon16/tier1/src 244 VSRCS += $(wildcard chip/falcon16/*.c) 245 VSRCS += $(wildcard chip/falcon16/tier2/*.c) 246 VSRCS += $(wildcard chip/falcon16/tier1/*.c) 247 VSRCS += $(wildcard chip/falcon16/tier1/src/*.c) 248 endif 249 250 # BLACKHAWK chip support 251 ifeq ($(PHYMOD_CHIPS),) 252 MAKE_PHYMOD_CHIPS += BLACKHAWK 253 endif 254 ifneq ($(filter BLACKHAWK,$(MAKE_PHYMOD_CHIPS)),) 255 VPATH += chip/blackhawk chip/blackhawk/tier2 chip/blackhawk/tier1 256 VSRCS += $(wildcard chip/blackhawk/*.c) 257 VSRCS += $(wildcard chip/blackhawk/tier2/*.c) 258 VSRCS += $(wildcard chip/blackhawk/tier1/*.c) 259 VSRCS += $(wildcard chip/blackhawk/tier1/src/*.c) 260 endif 261 262 # TSCBH chip support 263 ifeq ($(PHYMOD_CHIPS),) 264 MAKE_PHYMOD_CHIPS += TSCBH 265 endif 266 ifneq ($(filter TSCBH,$(MAKE_PHYMOD_CHIPS)),) 267 VPATH += chip/tscbh chip/tscbh/tier2 chip/tscbh/tier1 268 VSRCS += $(wildcard chip/tscbh/*.c) 269 VSRCS += $(wildcard chip/tscbh/tier2/*.c) 270 VSRCS += $(wildcard chip/tscbh/tier1/*.c) 271 endif 272 273 274 # TSCF16 chip support 275 ifeq ($(PHYMOD_CHIPS),) 276 MAKE_PHYMOD_CHIPS += TSCF16 277 endif 278 ifneq ($(filter TSCF16,$(MAKE_PHYMOD_CHIPS)),) 279 VPATH += chip/tscf16 chip/tscf16/tier2 chip/tscf16/tier1 280 VSRCS += $(wildcard chip/tscf16/*.c) 281 VSRCS += $(wildcard chip/tscf16/tier2/*.c) 282 VSRCS += $(wildcard chip/tscf16/tier1/*.c) 283 endif 284 285 # MERLIN16 chip support 286 ifeq ($(PHYMOD_CHIPS),) 287 MAKE_PHYMOD_CHIPS += MERLIN16 288 endif 289 ifneq ($(filter MERLIN16,$(MAKE_PHYMOD_CHIPS)),) 290 VPATH += chip/merlin16 chip/merlin16/tier2 chip/merlin16/tier1 291 VSRCS += $(wildcard chip/merlin16/*.c) 292 VSRCS += $(wildcard chip/merlin16/tier2/*.c) 293 VSRCS += $(wildcard chip/merlin16/tier1/*.c) 294 endif 295 296 ifeq ($(PHYMOD_CHIPS),) 297 MAKE_PHYMOD_CHIPS += TSCE16 298 endif 299 ifneq ($(filter TSCE16,$(MAKE_PHYMOD_CHIPS)),) 300 VPATH += chip/tsce16 chip/tsce16/tier2 chip/tsce16/tier1 301 VSRCS += $(wildcard chip/tsce16/*.c) 302 VSRCS += $(wildcard chip/tsce16/tier2/*.c) 303 VSRCS += $(wildcard chip/tsce16/tier1/*.c) 304 endif 305 306 # TSCF GEN3 chip support 307 ifeq ($(PHYMOD_CHIPS),) 308 MAKE_PHYMOD_CHIPS += TSCF_GEN3 309 endif 310 ifneq ($(filter TSCF_GEN3,$(MAKE_PHYMOD_CHIPS)),) 311 VPATH += chip/tscf_gen3 chip/tscf_gen3/tier2 chip/tscf_gen3/tier1 312 VSRCS += $(wildcard chip/tscf_gen3/*.c) 313 VSRCS += $(wildcard chip/tscf_gen3/tier2/*.c) 314 VSRCS += $(wildcard chip/tscf_gen3/tier1/*.c) 315 endif 316 317 # FALCON MONTEREY chip support 318 ifeq ($(PHYMOD_CHIPS),) 319 MAKE_PHYMOD_CHIPS += FALCON_DPLL 320 endif 321 ifneq ($(filter FALCON_DPLL,$(MAKE_PHYMOD_CHIPS)),) 322 VPATH += chip/falcon_dpll chip/falcon_dpll/tier2 chip/falcon_dpll/tier1 323 VSRCS += $(wildcard chip/falcon_dpll/*.c) 324 VSRCS += $(wildcard chip/falcon_dpll/tier2/*.c) 325 VSRCS += $(wildcard chip/falcon_dpll/tier1/*.c) 326 endif 327 328 # QTCE16 chip support 329 ifeq ($(PHYMOD_CHIPS),) 330 MAKE_PHYMOD_CHIPS += QTCE16 331 endif 332 ifneq ($(filter QTCE16,$(MAKE_PHYMOD_CHIPS)),) 333 VPATH += chip/qtce16 chip/qtce16/tier2 chip/qtce16/tier1 334 VSRCS += $(wildcard chip/qtce16/*.c) 335 VSRCS += $(wildcard chip/qtce16/tier2/*.c) 336 VSRCS += $(wildcard chip/qtce16/tier1/*.c) 337 endif 338 339 # BLACKHAWK7_V1L8P2 chip support 340 ifeq ($(PHYMOD_CHIPS),) 341 MAKE_PHYMOD_CHIPS += BLACKHAWK7_V1L8P2 342 endif 343 ifneq ($(filter BLACKHAWK7_V1L8P2,$(MAKE_PHYMOD_CHIPS)),) 344 VPATH += chip/blackhawk7_v1l8p2 chip/blackhawk7_v1l8p2/tier2 chip/blackhawk7_v1l8p2/tier1 345 VSRCS += $(wildcard chip//blackhawk7_v1l8p2/*.c) 346 VSRCS += $(wildcard chip//blackhawk7_v1l8p2/tier2/*.c) 347 VSRCS += $(wildcard chip//blackhawk7_v1l8p2/tier1/*.c) 348 endif 349 350 # TSCBH_GEN2 chip support 351 ifeq ($(PHYMOD_CHIPS),) 352 MAKE_PHYMOD_CHIPS += TSCBH_GEN2 353 endif 354 ifneq ($(filter TSCBH_GEN2,$(MAKE_PHYMOD_CHIPS)),) 355 VPATH += chip/tscbh_gen2 chip/tscbh_gen2/tier2 356 VSRCS += $(wildcard chip/tscbh_gen2/*.c) 357 VSRCS += $(wildcard chip/tscbh_gen2/tier2/*.c) 358 endif 359 360 # MERLIN7 chip support 361 ifeq ($(PHYMOD_CHIPS),) 362 MAKE_PHYMOD_CHIPS += MERLIN7 363 endif 364 ifneq ($(filter MERLIN7,$(MAKE_PHYMOD_CHIPS)),) 365 VPATH += chip/merlin7 chip/merlin7/tier2 chip/merlin7/tier1 366 VSRCS += $(wildcard chip/merlin7/*.c) 367 VSRCS += $(wildcard chip/merlin7/tier2/*.c) 368 VSRCS += $(wildcard chip/merlin7/tier1/*.c) 369 endif 370 371 # TSCE7 chip support 372 ifeq ($(PHYMOD_CHIPS),) 373 MAKE_PHYMOD_CHIPS += TSCE7 374 endif 375 ifneq ($(filter TSCE7,$(MAKE_PHYMOD_CHIPS)),) 376 VPATH += chip/tsce7 chip/tsce7/tier2 377 VSRCS += $(wildcard chip/tsce7/*.c) 378 VSRCS += $(wildcard chip/tsce7/tier2/*.c) 379 endif 380 381 ifeq ($(PHYMOD_CHIPS),) 382 MAKE_PHYMOD_CHIPS += null 383 endif 384 ifneq ($(filter null,$(MAKE_PHYMOD_CHIPS)),) 385 VPATH += chip/null 386 VSRCS += $(wildcard chip/null/*.c) 387 endif 388 389 LSRCS = $(notdir $(VSRCS)) 390 LOBJS = $(addsuffix .o, $(basename $(LSRCS))) 391 BOBJS = $(addprefix $(BLDDIR)/,$(LOBJS)) 392 393 LIBNAME = libphymod 394 include ${PHYMOD}/make/lib.mk 395 396 include ${PHYMOD}/make/depend.mk