15e111ed8SAndrew Rybchenko# SPDX-License-Identifier: BSD-3-Clause 2672386c1SAndrew Rybchenko# Copyright(c) 2019-2021 Xilinx, Inc. 35e111ed8SAndrew Rybchenko# Copyright(c) 2016-2019 Solarflare Communications Inc. 45e111ed8SAndrew Rybchenko# 55e111ed8SAndrew Rybchenko# This software was jointly developed between OKTET Labs (under contract 65e111ed8SAndrew Rybchenko# for Solarflare) and Solarflare Communications, Inc. 75e111ed8SAndrew Rybchenko 85e111ed8SAndrew Rybchenkosources = [ 95e111ed8SAndrew Rybchenko 'efx_bootcfg.c', 105e111ed8SAndrew Rybchenko 'efx_crc32.c', 115e111ed8SAndrew Rybchenko 'efx_ev.c', 125e111ed8SAndrew Rybchenko 'efx_evb.c', 135e111ed8SAndrew Rybchenko 'efx_filter.c', 145e111ed8SAndrew Rybchenko 'efx_hash.c', 155e111ed8SAndrew Rybchenko 'efx_intr.c', 165e111ed8SAndrew Rybchenko 'efx_lic.c', 175e111ed8SAndrew Rybchenko 'efx_mac.c', 186f956d5cSIvan Malov 'efx_mae.c', 19*9e7941d7SDenis Pryazhennikov 'efx_table.c', 205e111ed8SAndrew Rybchenko 'efx_mcdi.c', 215e111ed8SAndrew Rybchenko 'efx_mon.c', 225e111ed8SAndrew Rybchenko 'efx_nic.c', 235e111ed8SAndrew Rybchenko 'efx_nvram.c', 24a45edfceSIgor Romanov 'efx_pci.c', 255e111ed8SAndrew Rybchenko 'efx_phy.c', 265e111ed8SAndrew Rybchenko 'efx_port.c', 275e111ed8SAndrew Rybchenko 'efx_proxy.c', 285e111ed8SAndrew Rybchenko 'efx_rx.c', 295e111ed8SAndrew Rybchenko 'efx_sram.c', 305e111ed8SAndrew Rybchenko 'efx_tunnel.c', 315e111ed8SAndrew Rybchenko 'efx_tx.c', 325e111ed8SAndrew Rybchenko 'efx_vpd.c', 334dda72dbSVijay Srivastava 'efx_virtio.c', 345e111ed8SAndrew Rybchenko 'mcdi_mon.c', 355e111ed8SAndrew Rybchenko 'siena_mac.c', 365e111ed8SAndrew Rybchenko 'siena_mcdi.c', 375e111ed8SAndrew Rybchenko 'siena_nic.c', 385e111ed8SAndrew Rybchenko 'siena_nvram.c', 395e111ed8SAndrew Rybchenko 'siena_phy.c', 405e111ed8SAndrew Rybchenko 'siena_sram.c', 415e111ed8SAndrew Rybchenko 'siena_vpd.c', 425e111ed8SAndrew Rybchenko 'ef10_ev.c', 435e111ed8SAndrew Rybchenko 'ef10_evb.c', 445e111ed8SAndrew Rybchenko 'ef10_filter.c', 455e111ed8SAndrew Rybchenko 'ef10_image.c', 465e111ed8SAndrew Rybchenko 'ef10_intr.c', 475e111ed8SAndrew Rybchenko 'ef10_mac.c', 485e111ed8SAndrew Rybchenko 'ef10_mcdi.c', 495e111ed8SAndrew Rybchenko 'ef10_nic.c', 505e111ed8SAndrew Rybchenko 'ef10_nvram.c', 515e111ed8SAndrew Rybchenko 'ef10_phy.c', 525e111ed8SAndrew Rybchenko 'ef10_proxy.c', 535e111ed8SAndrew Rybchenko 'ef10_rx.c', 545e111ed8SAndrew Rybchenko 'ef10_tx.c', 555e111ed8SAndrew Rybchenko 'ef10_vpd.c', 565e111ed8SAndrew Rybchenko 'hunt_nic.c', 575e111ed8SAndrew Rybchenko 'medford_nic.c', 583c1c5cc4SAndrew Rybchenko 'medford2_nic.c', 59b97bf1caSAndrew Rybchenko 'rhead_ev.c', 6090ff7b9bSAndrew Rybchenko 'rhead_intr.c', 613c1c5cc4SAndrew Rybchenko 'rhead_nic.c', 62a45edfceSIgor Romanov 'rhead_pci.c', 63b6b29352SAndrew Rybchenko 'rhead_rx.c', 64d874d2a1SIgor Romanov 'rhead_tunnel.c', 654fd0181fSAndrew Rybchenko 'rhead_tx.c', 664dda72dbSVijay Srivastava 'rhead_virtio.c', 675e111ed8SAndrew Rybchenko] 685e111ed8SAndrew Rybchenko 695e111ed8SAndrew Rybchenkoextra_flags = [ 705e111ed8SAndrew Rybchenko '-Wno-sign-compare', 715e111ed8SAndrew Rybchenko '-Wno-unused-parameter', 725e111ed8SAndrew Rybchenko '-Wno-unused-variable', 735e111ed8SAndrew Rybchenko '-Wno-empty-body', 747d5cfaa7SBruce Richardson '-Wno-unused-but-set-variable', 755e111ed8SAndrew Rybchenko] 765e111ed8SAndrew Rybchenko 775e111ed8SAndrew Rybchenkoc_args = cflags 785e111ed8SAndrew Rybchenkoforeach flag: extra_flags 795e111ed8SAndrew Rybchenko if cc.has_argument(flag) 805e111ed8SAndrew Rybchenko c_args += flag 815e111ed8SAndrew Rybchenko endif 825e111ed8SAndrew Rybchenkoendforeach 835e111ed8SAndrew Rybchenko 845e111ed8SAndrew Rybchenkoif build 855e111ed8SAndrew Rybchenko base_lib = static_library('sfc_base', sources, 865e111ed8SAndrew Rybchenko include_directories: includes, 875e111ed8SAndrew Rybchenko dependencies: static_rte_eal, 885e111ed8SAndrew Rybchenko c_args: c_args) 895e111ed8SAndrew Rybchenko 901539acc2SJerin Jacob base_objs = base_lib.extract_all_objects(recursive: true) 915e111ed8SAndrew Rybchenkoelse 925e111ed8SAndrew Rybchenko base_objs = [] 935e111ed8SAndrew Rybchenkoendif 94