From c15abbf4ff700973687211cd8b6ad1691ecf78a9 Mon Sep 17 00:00:00 2001 From: Liam Beguin Date: Tue, 31 Oct 2023 12:20:46 -0400 Subject: [PATCH] library: parallelize top-level library build Search for all Makefiles under library/ and use the directory name to generate a list of libraries to build. With this scheme, `make lib` can be run in parallel. Signed-off-by: Liam Beguin --- library/Makefile | 253 ++--------------------------------------------- 1 file changed, 9 insertions(+), 244 deletions(-) diff --git a/library/Makefile b/library/Makefile index b088528bcc1..e5eeaab4624 100644 --- a/library/Makefile +++ b/library/Makefile @@ -2,7 +2,6 @@ #################################################################################### ## Copyright (c) 2018 - 2023 Analog Devices, Inc. ### SPDX short identifier: BSD-1-Clause -## Auto-generated, do not modify! #################################################################################### #################################################################################### @@ -11,252 +10,18 @@ include ../quiet.mk .PHONY: all lib clean clean-all all: lib +_LIBS := $(shell find . -mindepth 2 -name Makefile -exec dirname {} \; | sort) -clean: - $(MAKE) -C ad463x_data_capture clean - $(MAKE) -C axi_ad3552r clean - $(MAKE) -C axi_ad4858 clean - $(MAKE) -C axi_ad5766 clean - $(MAKE) -C axi_ad7606x clean - $(MAKE) -C axi_ad7616 clean - $(MAKE) -C axi_ad7768 clean - $(MAKE) -C axi_ad777x clean - $(MAKE) -C axi_ad9122 clean - $(MAKE) -C axi_ad9250 clean - $(MAKE) -C axi_ad9265 clean - $(MAKE) -C axi_ad9361 clean - $(MAKE) -C axi_ad9434 clean - $(MAKE) -C axi_ad9467 clean - $(MAKE) -C axi_ad9625 clean - $(MAKE) -C axi_ad9671 clean - $(MAKE) -C axi_ad9684 clean - $(MAKE) -C axi_ad9739a clean - $(MAKE) -C axi_ad9783 clean - $(MAKE) -C axi_ad9963 clean - $(MAKE) -C axi_adaq8092 clean - $(MAKE) -C axi_adc_decimate clean - $(MAKE) -C axi_adc_trigger clean - $(MAKE) -C axi_adrv9001 clean - $(MAKE) -C axi_clkgen clean - $(MAKE) -C axi_clock_monitor clean - $(MAKE) -C axi_dac_interpolate clean - $(MAKE) -C axi_dmac clean - $(MAKE) -C axi_fan_control clean - $(MAKE) -C axi_fmcadc5_sync clean - $(MAKE) -C axi_generic_adc clean - $(MAKE) -C axi_gpreg clean - $(MAKE) -C axi_hdmi_rx clean - $(MAKE) -C axi_hdmi_tx clean - $(MAKE) -C axi_i2s_adi clean - $(MAKE) -C axi_intr_monitor clean - $(MAKE) -C axi_laser_driver clean - $(MAKE) -C axi_logic_analyzer clean - $(MAKE) -C axi_ltc235x clean - $(MAKE) -C axi_ltc2387 clean - $(MAKE) -C axi_pulse_gen clean - $(MAKE) -C axi_pwm_gen clean - $(MAKE) -C axi_rd_wr_combiner clean - $(MAKE) -C axi_spdif_rx clean - $(MAKE) -C axi_spdif_tx clean - $(MAKE) -C axi_sysid clean - $(MAKE) -C axi_tdd clean - $(MAKE) -C cn0363/cn0363_dma_sequencer clean - $(MAKE) -C cn0363/cn0363_phase_data_sync clean - $(MAKE) -C cordic_demod clean - $(MAKE) -C data_offload clean - $(MAKE) -C intel/adi_jesd204 clean - $(MAKE) -C intel/avl_adxcfg clean - $(MAKE) -C intel/avl_adxcvr clean - $(MAKE) -C intel/avl_adxcvr_octet_swap clean - $(MAKE) -C intel/avl_adxphy clean - $(MAKE) -C intel/avl_dacfifo clean - $(MAKE) -C intel/axi_adxcvr clean - $(MAKE) -C intel/common/intel_mem_asym clean - $(MAKE) -C intel/common/intel_serdes clean - $(MAKE) -C intel/jesd204_phy clean - $(MAKE) -C intel/util_clkdiv clean - $(MAKE) -C jesd204/ad_ip_jesd204_tpl_adc clean - $(MAKE) -C jesd204/ad_ip_jesd204_tpl_dac clean - $(MAKE) -C jesd204/axi_jesd204_common clean - $(MAKE) -C jesd204/axi_jesd204_rx clean - $(MAKE) -C jesd204/axi_jesd204_tx clean - $(MAKE) -C jesd204/jesd204_common clean - $(MAKE) -C jesd204/jesd204_rx clean - $(MAKE) -C jesd204/jesd204_rx_static_config clean - $(MAKE) -C jesd204/jesd204_soft_pcs_rx clean - $(MAKE) -C jesd204/jesd204_soft_pcs_tx clean - $(MAKE) -C jesd204/jesd204_tx clean - $(MAKE) -C jesd204/jesd204_tx_static_config clean - $(MAKE) -C jesd204/jesd204_versal_gt_adapter_rx clean - $(MAKE) -C jesd204/jesd204_versal_gt_adapter_tx clean - $(MAKE) -C spi_engine/axi_spi_engine clean - $(MAKE) -C spi_engine/spi_axis_reorder clean - $(MAKE) -C spi_engine/spi_engine_execution clean - $(MAKE) -C spi_engine/spi_engine_interconnect clean - $(MAKE) -C spi_engine/spi_engine_offload clean - $(MAKE) -C sysid_rom clean - $(MAKE) -C util_adcfifo clean - $(MAKE) -C util_axis_fifo clean - $(MAKE) -C util_axis_fifo_asym clean - $(MAKE) -C util_axis_resize clean - $(MAKE) -C util_axis_upscale clean - $(MAKE) -C util_bsplit clean - $(MAKE) -C util_cdc clean - $(MAKE) -C util_cic clean - $(MAKE) -C util_dacfifo clean - $(MAKE) -C util_dec256sinc24b clean - $(MAKE) -C util_delay clean - $(MAKE) -C util_do_ram clean - $(MAKE) -C util_extract clean - $(MAKE) -C util_fir_dec clean - $(MAKE) -C util_fir_int clean - $(MAKE) -C util_gmii_to_rgmii clean - $(MAKE) -C util_hbm clean - $(MAKE) -C util_i2c_mixer clean - $(MAKE) -C util_mfifo clean - $(MAKE) -C util_mii_to_rmii clean - $(MAKE) -C util_pack/util_cpack2 clean - $(MAKE) -C util_pack/util_upack2 clean - $(MAKE) -C util_pad clean - $(MAKE) -C util_pulse_gen clean - $(MAKE) -C util_rfifo clean - $(MAKE) -C util_sigma_delta_spi clean - $(MAKE) -C util_tdd_sync clean - $(MAKE) -C util_var_fifo clean - $(MAKE) -C util_wfifo clean - $(MAKE) -C xilinx/axi_adcfifo clean - $(MAKE) -C xilinx/axi_adxcvr clean - $(MAKE) -C xilinx/axi_dacfifo clean - $(MAKE) -C xilinx/axi_xcvrlb clean - $(MAKE) -C xilinx/util_adxcvr clean - $(MAKE) -C xilinx/util_clkdiv clean +FORCE: +$(_LIBS): FORCE + $(MAKE) -C $@ $(TARGET) - $(MAKE) -C interfaces clean +clean: TARGET:=clean +clean: $(_LIBS) +clean-all: clean - -clean-all:clean - - -lib: - $(MAKE) -C ad463x_data_capture - $(MAKE) -C axi_ad3552r - $(MAKE) -C axi_ad4858 - $(MAKE) -C axi_ad5766 - $(MAKE) -C axi_ad7606x - $(MAKE) -C axi_ad7616 - $(MAKE) -C axi_ad7768 - $(MAKE) -C axi_ad777x - $(MAKE) -C axi_ad9122 - $(MAKE) -C axi_ad9250 - $(MAKE) -C axi_ad9265 - $(MAKE) -C axi_ad9361 - $(MAKE) -C axi_ad9434 - $(MAKE) -C axi_ad9467 - $(MAKE) -C axi_ad9625 - $(MAKE) -C axi_ad9671 - $(MAKE) -C axi_ad9684 - $(MAKE) -C axi_ad9739a - $(MAKE) -C axi_ad9783 - $(MAKE) -C axi_ad9963 - $(MAKE) -C axi_adaq8092 - $(MAKE) -C axi_adc_decimate - $(MAKE) -C axi_adc_trigger - $(MAKE) -C axi_adrv9001 - $(MAKE) -C axi_clkgen - $(MAKE) -C axi_clock_monitor - $(MAKE) -C axi_dac_interpolate - $(MAKE) -C axi_dmac - $(MAKE) -C axi_fan_control - $(MAKE) -C axi_fmcadc5_sync - $(MAKE) -C axi_generic_adc - $(MAKE) -C axi_gpreg - $(MAKE) -C axi_hdmi_rx - $(MAKE) -C axi_hdmi_tx - $(MAKE) -C axi_i2s_adi - $(MAKE) -C axi_intr_monitor - $(MAKE) -C axi_laser_driver - $(MAKE) -C axi_logic_analyzer - $(MAKE) -C axi_ltc235x - $(MAKE) -C axi_ltc2387 - $(MAKE) -C axi_pulse_gen - $(MAKE) -C axi_pwm_gen - $(MAKE) -C axi_rd_wr_combiner - $(MAKE) -C axi_spdif_rx - $(MAKE) -C axi_spdif_tx - $(MAKE) -C axi_sysid - $(MAKE) -C axi_tdd - $(MAKE) -C cn0363/cn0363_dma_sequencer - $(MAKE) -C cn0363/cn0363_phase_data_sync - $(MAKE) -C cordic_demod - $(MAKE) -C data_offload - $(MAKE) -C intel/adi_jesd204 - $(MAKE) -C intel/avl_adxcfg - $(MAKE) -C intel/avl_adxcvr - $(MAKE) -C intel/avl_adxcvr_octet_swap - $(MAKE) -C intel/avl_adxphy - $(MAKE) -C intel/avl_dacfifo - $(MAKE) -C intel/axi_adxcvr - $(MAKE) -C intel/common/intel_mem_asym - $(MAKE) -C intel/common/intel_serdes - $(MAKE) -C intel/jesd204_phy - $(MAKE) -C intel/util_clkdiv - $(MAKE) -C jesd204/ad_ip_jesd204_tpl_adc - $(MAKE) -C jesd204/ad_ip_jesd204_tpl_dac - $(MAKE) -C jesd204/axi_jesd204_common - $(MAKE) -C jesd204/axi_jesd204_rx - $(MAKE) -C jesd204/axi_jesd204_tx - $(MAKE) -C jesd204/jesd204_common - $(MAKE) -C jesd204/jesd204_rx - $(MAKE) -C jesd204/jesd204_rx_static_config - $(MAKE) -C jesd204/jesd204_soft_pcs_rx - $(MAKE) -C jesd204/jesd204_soft_pcs_tx - $(MAKE) -C jesd204/jesd204_tx - $(MAKE) -C jesd204/jesd204_tx_static_config - $(MAKE) -C jesd204/jesd204_versal_gt_adapter_rx - $(MAKE) -C jesd204/jesd204_versal_gt_adapter_tx - $(MAKE) -C spi_engine/axi_spi_engine - $(MAKE) -C spi_engine/spi_axis_reorder - $(MAKE) -C spi_engine/spi_engine_execution - $(MAKE) -C spi_engine/spi_engine_interconnect - $(MAKE) -C spi_engine/spi_engine_offload - $(MAKE) -C sysid_rom - $(MAKE) -C util_adcfifo - $(MAKE) -C util_axis_fifo - $(MAKE) -C util_axis_fifo_asym - $(MAKE) -C util_axis_resize - $(MAKE) -C util_axis_upscale - $(MAKE) -C util_bsplit - $(MAKE) -C util_cdc - $(MAKE) -C util_cic - $(MAKE) -C util_dacfifo - $(MAKE) -C util_dec256sinc24b - $(MAKE) -C util_delay - $(MAKE) -C util_do_ram - $(MAKE) -C util_extract - $(MAKE) -C util_fir_dec - $(MAKE) -C util_fir_int - $(MAKE) -C util_gmii_to_rgmii - $(MAKE) -C util_hbm - $(MAKE) -C util_i2c_mixer - $(MAKE) -C util_mfifo - $(MAKE) -C util_mii_to_rmii - $(MAKE) -C util_pack/util_cpack2 - $(MAKE) -C util_pack/util_upack2 - $(MAKE) -C util_pad - $(MAKE) -C util_pulse_gen - $(MAKE) -C util_rfifo - $(MAKE) -C util_sigma_delta_spi - $(MAKE) -C util_tdd_sync - $(MAKE) -C util_var_fifo - $(MAKE) -C util_wfifo - $(MAKE) -C xilinx/axi_adcfifo - $(MAKE) -C xilinx/axi_adxcvr - $(MAKE) -C xilinx/axi_dacfifo - $(MAKE) -C xilinx/axi_xcvrlb - $(MAKE) -C xilinx/util_adxcvr - $(MAKE) -C xilinx/util_clkdiv - - $(MAKE) -C interfaces +lib: TARGET:="" +lib: $(_LIBS) #################################################################################### ####################################################################################