mirror of
https://github.com/EttusResearch/uhd.git
synced 2026-10-25 17:36:10 +00:00
199 lines
5.4 KiB
Makefile
199 lines
5.4 KiB
Makefile
#
|
|
# Copyright 2021 Ettus Research, a National Instruments Brand
|
|
#
|
|
# SPDX-License-Identifier: LGPL-3.0-or-later
|
|
#
|
|
|
|
include $(IP_DIR)/xge_pcs_pma/Makefile.inc
|
|
include $(IP_DIR)/axi_interconnect_app_bd/Makefile.inc
|
|
include $(IP_DIR)/axi_interconnect_eth_bd/Makefile.inc
|
|
include $(IP_DIR)/axi_interconnect_dma_bd/Makefile.inc
|
|
include $(IP_DIR)/axi_inter_1x64_512_bd/Makefile.inc
|
|
include $(IP_DIR)/axi_inter_2x64_512_bd/Makefile.inc
|
|
include $(IP_DIR)/axi_inter_4x64_512_bd/Makefile.inc
|
|
include $(IP_DIR)/axi_inter_1x128_512_bd/Makefile.inc
|
|
include $(IP_DIR)/axi_inter_2x128_512_bd/Makefile.inc
|
|
include $(IP_DIR)/axi_inter_4x128_512_bd/Makefile.inc
|
|
include $(IP_DIR)/axi_inter_1x512_512_bd/Makefile.inc
|
|
include $(IP_DIR)/axi_inter_2x512_512_bd/Makefile.inc
|
|
include $(IP_DIR)/axi64_4k_2clk_fifo/Makefile.inc
|
|
include $(IP_DIR)/eth_100g_bd/Makefile.inc
|
|
include $(IP_DIR)/axi_eth_dma_bd/Makefile.inc
|
|
include $(IP_DIR)/hb47_1to2/Makefile.inc
|
|
include $(IP_DIR)/hb47_2to1/Makefile.inc
|
|
|
|
ifdef X410
|
|
include $(IP_DIR)/ddr4_64bits/Makefile.inc
|
|
include $(IP_DIR)/adc_100m_bd/Makefile.inc
|
|
include $(IP_DIR)/adc_400m_bd/Makefile.inc
|
|
include $(IP_DIR)/dac_100m_bd/Makefile.inc
|
|
include $(IP_DIR)/dac_400m_bd/Makefile.inc
|
|
include $(IP_DIR)/x4xx_ps_rfdc_bd/x410_ps_rfdc_bd/Makefile.inc
|
|
endif
|
|
|
|
ifdef X420
|
|
include $(IP_DIR)/ddr4_64bits/Makefile.inc
|
|
include $(IP_DIR)/x4xx_ps_rfdc_bd/x420_ps_rfdc_bd/Makefile.inc
|
|
include $(IP_DIR)/fir_dec3_4spc/Makefile.inc
|
|
include $(IP_DIR)/fir_inp3_2spc/Makefile.inc
|
|
endif
|
|
|
|
ifdef X440
|
|
include $(IP_DIR)/adc_100m_bd/Makefile.inc
|
|
include $(IP_DIR)/dac_100m_bd/Makefile.inc
|
|
include $(IP_DIR)/ddr4_64bits_x440/Makefile.inc
|
|
include $(IP_DIR)/x4xx_ps_rfdc_bd/x440_ps_rfdc_bd/Makefile.inc
|
|
include $(IP_DIR)/x4xx_ps_rfdc_bd/x440_2spc_ps_rfdc_bd/Makefile.inc
|
|
include $(IP_DIR)/fir_dec3_2spc/Makefile.inc
|
|
include $(IP_DIR)/fir_inp3_1spc/Makefile.inc
|
|
endif
|
|
|
|
BD_SRCS = \
|
|
$(IP_X4XX_PS_RFDC_HDL_SRCS) \
|
|
$(IP_AXI_INTERCONNECT_APP_BD_SRCS) \
|
|
$(IP_AXI_INTERCONNECT_ETH_BD_SRCS) \
|
|
$(IP_AXI_INTERCONNECT_ETH_HDL_SRCS) \
|
|
$(IP_AXI_INTERCONNECT_DMA_BD_SRCS) \
|
|
$(IP_AXI_INTERCONNECT_DMA_HDL_SRCS) \
|
|
$(IP_AXI_INTER_1X64_512_BD_SRCS) \
|
|
$(IP_AXI_INTER_2X64_512_BD_SRCS) \
|
|
$(IP_AXI_INTER_4X64_512_BD_SRCS) \
|
|
$(IP_AXI_INTER_1X128_512_BD_SRCS) \
|
|
$(IP_AXI_INTER_2X128_512_BD_SRCS) \
|
|
$(IP_AXI_INTER_4X128_512_BD_SRCS) \
|
|
$(IP_AXI_INTER_1X512_512_BD_SRCS) \
|
|
$(IP_AXI_INTER_2X512_512_BD_SRCS) \
|
|
$(IP_100G_BD_SRCS) \
|
|
$(IP_100G_HDL_SRCS) \
|
|
$(IP_AXI_ETH_DMA_BD_SRCS) \
|
|
$(IP_AXI_ETH_DMA_BD_HDL_SRCS)
|
|
|
|
ifdef X410
|
|
BD_SRCS += \
|
|
$(IP_ADC_100M_BD_SRCS) \
|
|
$(IP_ADC_100M_HDL_SRCS) \
|
|
$(IP_DAC_100M_BD_SRCS) \
|
|
$(IP_DAC_100M_HDL_SRCS) \
|
|
$(IP_ADC_400M_BD_SRCS) \
|
|
$(IP_ADC_400M_HDL_SRCS) \
|
|
$(IP_DAC_400M_BD_SRCS) \
|
|
$(IP_DAC_400M_HDL_SRCS)
|
|
endif
|
|
|
|
ifdef X440
|
|
# Both X440 RFDC block-diagram Makefiles assign the same source and output
|
|
# variables. For a binary target, select only the RFDC variant required by
|
|
# the image core so the shared variables identify the correct sources. For
|
|
# the IP target, BUILD_ALL_X440_RFDC selects both variants so all generated
|
|
# IP is available.
|
|
ifeq ($(BUILD_ALL_X440_RFDC),1)
|
|
BD_SRCS += $(IP_X4XX_PS_RFDC_BD_SRCS) $(IP_X4XX_2SPC_PS_RFDC_BD_SRCS)
|
|
else ifneq (,$(findstring X440_2SPC_PS_RFDC_BD=1,$(RFNOC_IMAGE_CORE_DEFS)))
|
|
BD_SRCS += $(IP_X4XX_2SPC_PS_RFDC_BD_SRCS)
|
|
else
|
|
BD_SRCS += $(IP_X4XX_PS_RFDC_BD_SRCS)
|
|
endif
|
|
BD_SRCS += \
|
|
$(IP_ADC_100M_BD_SRCS) \
|
|
$(IP_ADC_100M_HDL_SRCS) \
|
|
$(IP_DAC_100M_BD_SRCS) \
|
|
$(IP_DAC_100M_HDL_SRCS)
|
|
else # default case for non-X440 devices
|
|
BD_SRCS += $(IP_X4XX_PS_RFDC_BD_SRCS)
|
|
endif
|
|
|
|
IP_XCI_SRCS = \
|
|
$(IP_XGE_PCS_PMA_SRCS) \
|
|
$(IP_AXI64_4K_2CLK_FIFO_SRCS) \
|
|
$(IP_HB47_1TO2_SRCS) \
|
|
$(IP_HB47_2TO1_SRCS) \
|
|
|
|
ifdef X410
|
|
IP_XCI_SRCS += \
|
|
$(IP_DDR4_64BITS_SRCS)
|
|
endif
|
|
|
|
ifdef X420
|
|
IP_XCI_SRCS += \
|
|
$(IP_DDR4_64BITS_SRCS) \
|
|
$(IP_FIR_DEC3_4SPC_SRCS) \
|
|
$(IP_FIR_INP3_2SPC_SRCS)
|
|
endif
|
|
|
|
ifdef X440
|
|
IP_XCI_SRCS += \
|
|
$(IP_DDR4_64BITS_X440_SRCS) \
|
|
$(IP_FIR_DEC3_2SPC_SRCS) \
|
|
$(IP_FIR_INP3_1SPC_SRCS)
|
|
endif
|
|
|
|
BD_OUTPUTS = \
|
|
$(BD_AXI_INTERCONNECT_APP_BD_OUTS) \
|
|
$(BD_AXI_INTERCONNECT_ETH_BD_OUTS) \
|
|
$(BD_AXI_INTERCONNECT_DMA_BD_OUTS) \
|
|
$(BD_AXI_INTER_1x64_512_BD_OUTS) \
|
|
$(BD_AXI_INTER_2x64_512_BD_OUTS) \
|
|
$(BD_AXI_INTER_4x64_512_BD_OUTS) \
|
|
$(BD_AXI_INTER_1X128_512_BD_OUTS) \
|
|
$(BD_AXI_INTER_2X128_512_BD_OUTS) \
|
|
$(BD_AXI_INTER_4x128_512_BD_OUTS) \
|
|
$(BD_AXI_INTER_1X512_512_BD_OUTS) \
|
|
$(BD_AXI_INTER_2X512_512_BD_OUTS) \
|
|
$(BD_100G_BD_OUTS) \
|
|
$(BD_AXI_ETH_DMA_BD_OUTS)
|
|
|
|
# See the X440 BD_SRCS selection above for why these RFDC outputs are selected.
|
|
ifeq ($(BUILD_ALL_X440_RFDC),1)
|
|
BD_OUTPUTS += $(BD_X4XX_PS_RFDC_BD_OUTS) $(BD_X4XX_2SPC_PS_RFDC_BD_OUTS)
|
|
else ifneq (,$(findstring X440_2SPC_PS_RFDC_BD=1,$(RFNOC_IMAGE_CORE_DEFS)))
|
|
BD_OUTPUTS += $(BD_X4XX_2SPC_PS_RFDC_BD_OUTS)
|
|
else
|
|
BD_OUTPUTS += $(BD_X4XX_PS_RFDC_BD_OUTS)
|
|
endif
|
|
|
|
ifdef X410
|
|
BD_OUTPUTS += \
|
|
$(BD_ADC_100M_BD_OUTS) \
|
|
$(BD_ADC_400M_BD_OUTS) \
|
|
$(BD_DAC_100M_BD_OUTS) \
|
|
$(BD_DAC_400M_BD_OUTS)
|
|
endif
|
|
|
|
ifdef X440
|
|
BD_OUTPUTS += \
|
|
$(BD_ADC_100M_BD_OUTS) \
|
|
$(BD_DAC_100M_BD_OUTS)
|
|
endif
|
|
|
|
IP_SYNTH_OUTPUTS = \
|
|
$(IP_XGE_PCS_PMA_OUTS) \
|
|
$(IP_AXI64_4K_2CLK_FIFO_OUTS) \
|
|
$(IP_HB47_1TO2_OUTS) \
|
|
$(IP_HB47_2TO1_OUTS) \
|
|
|
|
ifdef X410
|
|
IP_SYNTH_OUTPUTS += \
|
|
$(IP_DDR4_64BITS_OUTS)
|
|
endif
|
|
|
|
ifdef X420
|
|
IP_SYNTH_OUTPUTS += \
|
|
$(IP_DDR4_64BITS_OUTS)
|
|
endif
|
|
|
|
ifdef X440
|
|
IP_SYNTH_OUTPUTS += \
|
|
$(IP_DDR4_64BITS_X440_OUTS)
|
|
endif
|
|
|
|
IP_HDL_SIM_SRCS = \
|
|
$(IP_AXI64_4K_2CLK_FIFO_HDL_SIM_SRCS) \
|
|
$(IP_AXI_INTERCONNECT_ETH_HDL_SIM_SRCS) \
|
|
$(IP_AXI_INTERCONNECT_DMA_HDL_SIM_SRCS) \
|
|
$(IP_100G_HDL_SIM_SRCS) \
|
|
$(IP_XGE_PCS_PMA_HDL_SIM_SRCS)
|
|
|
|
ip: $(IP_SYNTH_OUTPUTS) $(BD_OUTPUTS)
|
|
|
|
.PHONY: ip
|