This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TDA4VMXEVM: PDK does not rebuild libs when sourcecode changed

Part Number: TDA4VMXEVM

Hi,

I observed an interesting bug during (re)building the pdk of psdk_rtos_auto_j7_06_02_00_21.

It seems, that binaries will not get rebuild after modifying the corrensponding source file when using the "CORE" flag:

This won't rebuild affected/outdated binaries:

thomas@ubuntu:~/tda4vmx/psdk/pdk/packages/ti/build$ make -s BUILD_PROFILE=debug CORE=MCU1_0 pdk_libs

This will rebuild affected/outdated binaries as expected:

thomas@ubuntu:~/tda4vmx/psdk/pdk/packages/ti/build$ make -s BUILD_PROFILE=debug pdk_libs

Can you explain why and how to fix it? I would like to keep building time of PDK to an minimum, and want to only rebuild outdated binaries, and only for specific CORE.

I give you a full example which you can use to reproduce on your system:

thomas@ubuntu:~/tda4vmx/psdk/pdk/packages/ti/build$ clear
thomas@ubuntu:~/tda4vmx/psdk/pdk/packages/ti/build$ make -s BUILD_PROFILE=debug CORE=MCU1_0 pdk_libs
Nothing to be done for j721e MCU1_0 csl_init         
Nothing to be done for j721e MCU1_0 csl_intc
Nothing to be done for j721e MCU1_0 csl       
Nothing to be done for j721e MCU1_0 csl_utils_common
Nothing to be done for j721e MCU1_0 csl_uart_console  
Nothing to be done for j721e MCU1_0 board
Nothing to be done for j721e pm_hal         
Nothing to be done for j721e pm_hal_optimized
Nothing to be done for j721e MCU1_0 pm_lib   
Nothing to be done for j721e MCU1_0 pm_lib_optimized
Nothing to be done for j721e MCU1_0 pm_rtos   
Nothing to be done for j721e MCU1_0 udma                                                
Nothing to be done for j721e MCU1_0 dmautils
Nothing to be done for j721e MCU1_0 udma_apputils
Nothing to be done for j721e MCU1_0 cpsw     
Nothing to be done for j721e MCU1_0 nimucpsw
Nothing to be done for j721e MCU1_0 cpsw_cfgserver
Nothing to be done for j721e MCU1_0 cpsw_apputils
Nothing to be done for j721e MCU1_0 cpswsoc    
Nothing to be done for j721e MCU1_0 csirx    
Nothing to be done for j721e MCU1_0 csitx       
Nothing to be done for j721e MCU1_0 fvid2            
Nothing to be done for j721e MCU1_0 dss      
Nothing to be done for j721e MCU1_0 sciclient 
Nothing to be done for j721e MCU1_0 vhwa         
Nothing to be done for j721e MCU1_0 ipc               
Nothing to be done for j721e MCU1_0 ipc_baremetal
Nothing to be done for j721e MCU1_0 osal_nonos
Nothing to be done for j721e MCU1_0 osal_nonos_indp
Nothing to be done for j721e MCU1_0 osal_tirtos
Nothing to be done for j721e MCU1_0 osal_tirtos_indp
Nothing to be done for j721e MCU1_0 i2c        
Nothing to be done for j721e i2c_indp                                                   
Nothing to be done for j721e i2c_profile       
Nothing to be done for j721e i2c_profile_indp
Nothing to be done for j721e i2c_icss0       
Nothing to be done for j721e MCU1_0 uart       
Nothing to be done for j721e MCU1_0 uart_dma
Nothing to be done for j721e uart_profile   
Nothing to be done for j721e uart_dma_profile
Nothing to be done for j721e uart_indp                                               
Nothing to be done for j721e uart_profile_indp                                                      
Nothing to be done for j721e MCU1_0 uart_console
Nothing to be done for j721e MCU1_0 usb                                                                                                                                
Nothing to be done for j721e MCU1_0 gpio
Nothing to be done for j721e MCU1_0 gpio_indp                 
Nothing to be done for j721e gpio_profile           
Nothing to be done for j721e gpio_profile_indp                                                                                                                                             
Nothing to be done for j721e MCU1_0 profiling
Nothing to be done for j721e MCU1_0 nimu     
Nothing to be done for j721e MCU1_0 nimu_profile
Nothing to be done for j721e MCU1_0 emac            
Nothing to be done for j721e nimu_icssg    
Nothing to be done for j721e nimu_icssg_profile
Nothing to be done for j721e MCU1_0 fatfs_indp
Nothing to be done for j721e fatfs_multi_indp    
Nothing to be done for j721e fatfs_profile_indp
Nothing to be done for j721e MCU1_0 mmcsd   
Nothing to be done for j721e MCU1_0 mmcsd_dma     
Nothing to be done for j721e MCU1_0 mmcsd_profile
Nothing to be done for j721e MCU1_0 mmcsd_dma_profile
Nothing to be done for j721e MCU1_0 mmcsd_indp
Nothing to be done for j721e MCU1_0 mmcsd_profile_indp
Nothing to be done for j721e MCU1_0 pcie 
Nothing to be done for j721e MCU1_0 pcie_profile
Nothing to be done for j721e MCU1_0 pcie_indp  
Nothing to be done for j721e MCU1_0 pcie_profile_indp
Nothing to be done for j721e MCU1_0 mcasp   
Nothing to be done for j721e mcasp_indp          
Nothing to be done for j721e mcasp_profile                              
Nothing to be done for j721e mcasp_profile_indp    
Nothing to be done for j721e MCU1_0 emac_indp            
Nothing to be done for j721e MCU1_0 emac_profile                                                    
Nothing to be done for j721e MCU1_0 emac_profile_indp
Nothing to be done for j721e MCU1_0 pruss   
Nothing to be done for j721e MCU1_0 pruss_indp
Nothing to be done for j721e MCU1_0 pruss_profile   
Nothing to be done for j721e MCU1_0 pruss_profile_indp
Nothing to be done for j721e MCU1_0 spi  
Nothing to be done for j721e MCU1_0 spi_dma 
Nothing to be done for j721e spi_profile     
Nothing to be done for j721e spi_dma_profile 
Nothing to be done for j721e MCU1_0 spi_indp        
Nothing to be done for j721e spi_profile_indp 
thomas@ubuntu:~/tda4vmx/psdk/pdk/packages/ti/build$ make -s BUILD_PROFILE=debug pdk_libs
Nothing to be done for j721e mcu1_0 csl_intc
Nothing to be done for j721e pm_hal              
Nothing to be done for j721e pm_hal_optimized
Nothing to be done for j721e mcu1_0 dmautils
Nothing to be done for j721e mcu1_0 csirx         
Nothing to be done for j721e mcu1_0 csitx        
Nothing to be done for j721e mcu1_0 dss        
Nothing to be done for j721e mcu1_0 vhwa     
Nothing to be done for j721e i2c_indp           
Nothing to be done for j721e i2c_profile             
Nothing to be done for j721e i2c_profile_indp
Nothing to be done for j721e i2c_icss0        
Nothing to be done for j721e uart_profile        
Nothing to be done for j721e uart_dma_profile         
Nothing to be done for j721e uart_indp           
Nothing to be done for j721e uart_profile_indp
Nothing to be done for j721e gpio_profile          
Nothing to be done for j721e gpio_profile_indp 
Nothing to be done for j721e nimu_icssg             
Nothing to be done for j721e nimu_icssg_profile
Nothing to be done for j721e fatfs_multi_indp                                           
Nothing to be done for j721e fatfs_profile_indp
Nothing to be done for j721e mcasp_indp      
Nothing to be done for j721e mcasp_profile   
Nothing to be done for j721e mcasp_profile_indp
Nothing to be done for j721e spi_profile    
Nothing to be done for j721e spi_dma_profile
Nothing to be done for j721e spi_profile_indp
thomas@ubuntu:~/tda4vmx/psdk/pdk/packages/ti/build$ touch ../drv/ipc/src/ipc_virtio.c
thomas@ubuntu:~/tda4vmx/psdk/pdk/packages/ti/build$ make -s BUILD_PROFILE=debug CORE=MCU1_0 pdk_libs
Nothing to be done for j721e MCU1_0 csl_init    
Nothing to be done for j721e MCU1_0 csl_intc                                                                                                                           
Nothing to be done for j721e MCU1_0 csl 
Nothing to be done for j721e MCU1_0 csl_utils_common          
Nothing to be done for j721e MCU1_0 csl_uart_console
Nothing to be done for j721e MCU1_0 board                                                                                                                                                  
Nothing to be done for j721e pm_hal          
Nothing to be done for j721e pm_hal_optimized
Nothing to be done for j721e MCU1_0 pm_lib      
Nothing to be done for j721e MCU1_0 pm_lib_optimized
Nothing to be done for j721e MCU1_0 pm_rtos
Nothing to be done for j721e MCU1_0 udma       
Nothing to be done for j721e MCU1_0 dmautils  
Nothing to be done for j721e MCU1_0 udma_apputils
Nothing to be done for j721e MCU1_0 cpsw       
Nothing to be done for j721e MCU1_0 nimucpsw
Nothing to be done for j721e MCU1_0 cpsw_cfgserver
Nothing to be done for j721e MCU1_0 cpsw_apputils
Nothing to be done for j721e MCU1_0 cpswsoc          
Nothing to be done for j721e MCU1_0 csirx     
Nothing to be done for j721e MCU1_0 csitx             
Nothing to be done for j721e MCU1_0 fvid2
Nothing to be done for j721e MCU1_0 dss         
Nothing to be done for j721e MCU1_0 sciclient  
Nothing to be done for j721e MCU1_0 vhwa             
Nothing to be done for j721e MCU1_0 ipc     
Nothing to be done for j721e MCU1_0 ipc_baremetal
Nothing to be done for j721e MCU1_0 osal_nonos                          
Nothing to be done for j721e MCU1_0 osal_nonos_indp
Nothing to be done for j721e MCU1_0 osal_tirtos          
Nothing to be done for j721e MCU1_0 osal_tirtos_indp                                                
Nothing to be done for j721e MCU1_0 i2c              
Nothing to be done for j721e i2c_indp       
Nothing to be done for j721e i2c_profile      
Nothing to be done for j721e i2c_profile_indp       
Nothing to be done for j721e i2c_icss0                
Nothing to be done for j721e MCU1_0 uart 
Nothing to be done for j721e MCU1_0 uart_dma
Nothing to be done for j721e uart_profile    
Nothing to be done for j721e uart_dma_profile
Nothing to be done for j721e uart_indp              
Nothing to be done for j721e uart_profile_indp
Nothing to be done for j721e MCU1_0 uart_console                                        
Nothing to be done for j721e MCU1_0 usb     
Nothing to be done for j721e MCU1_0 gpio         
Nothing to be done for j721e MCU1_0 gpio_indp
Nothing to be done for j721e gpio_profile   
Nothing to be done for j721e gpio_profile_indp    
Nothing to be done for j721e MCU1_0 profiling    
Nothing to be done for j721e MCU1_0 nimu       
Nothing to be done for j721e MCU1_0 nimu_profile
Nothing to be done for j721e MCU1_0 emac        
Nothing to be done for j721e nimu_icssg              
Nothing to be done for j721e nimu_icssg_profile
Nothing to be done for j721e MCU1_0 fatfs_indp
Nothing to be done for j721e fatfs_multi_indp    
Nothing to be done for j721e fatfs_profile_indp       
Nothing to be done for j721e MCU1_0 mmcsd        
Nothing to be done for j721e MCU1_0 mmcsd_dma 
Nothing to be done for j721e MCU1_0 mmcsd_profile  
Nothing to be done for j721e MCU1_0 mmcsd_dma_profile
Nothing to be done for j721e MCU1_0 mmcsd_indp      
Nothing to be done for j721e MCU1_0 mmcsd_profile_indp
Nothing to be done for j721e MCU1_0 pcie                                                
Nothing to be done for j721e MCU1_0 pcie_profile
Nothing to be done for j721e MCU1_0 pcie_indp
Nothing to be done for j721e MCU1_0 pcie_profile_indp
Nothing to be done for j721e MCU1_0 mcasp      
Nothing to be done for j721e mcasp_indp     
Nothing to be done for j721e mcasp_profile  
Nothing to be done for j721e mcasp_profile_indp
Nothing to be done for j721e MCU1_0 emac_indp                                        
Nothing to be done for j721e MCU1_0 emac_profile                                                    
Nothing to be done for j721e MCU1_0 emac_profile_indp
Nothing to be done for j721e MCU1_0 pruss                                                                                                                              
Nothing to be done for j721e MCU1_0 pruss_indp
Nothing to be done for j721e MCU1_0 pruss_profile             
Nothing to be done for j721e MCU1_0 pruss_profile_indp
Nothing to be done for j721e MCU1_0 spi                                                                                                                                                    
Nothing to be done for j721e MCU1_0 spi_dma  
Nothing to be done for j721e spi_profile     
Nothing to be done for j721e spi_dma_profile    
Nothing to be done for j721e MCU1_0 spi_indp        
Nothing to be done for j721e spi_profile_indp
thomas@ubuntu:~/tda4vmx/psdk/pdk/packages/ti/build$ make -s BUILD_PROFILE=debug pdk_libs
Nothing to be done for j721e mcu1_0 csl_intc  
Nothing to be done for j721e pm_hal              
Nothing to be done for j721e pm_hal_optimized  
Nothing to be done for j721e mcu1_0 dmautils
Nothing to be done for j721e mcu1_0 csirx         
Nothing to be done for j721e mcu1_0 csitx        
Nothing to be done for j721e mcu1_0 dss              
Nothing to be done for j721e mcu1_0 vhwa      
# Compiling j721e:mcu1_0:debug:ipc: src/ipc_virtio.c  
#                                        
# Archiving j721e:mcu1_0:debug:ipc into /home/thomas/tda4vmx/psdk_rtos_j721e/psdk_rtos_auto_j7_06_02_00_21/pdk/packages/ti/drv/ipc/lib/j721e/mcu1_0/debug/ipc.aer5f ...
#                                              
# Compiling j721e:mcu1_0:debug:ipc_baremetal: src/ipc_virtio.c
#                                           
# Archiving j721e:mcu1_0:debug:ipc_baremetal into /home/thomas/tda4vmx/psdk_rtos_j721e/psdk_rtos_auto_j7_06_02_00_21/pdk/packages/ti/drv/ipc/lib/j721e/mcu1_0/debug/ipc_baremetal.aer5f ...
#                                                                       
Nothing to be done for j721e i2c_indp              
Nothing to be done for j721e i2c_profile                 
Nothing to be done for j721e i2c_profile_indp                                                       
Nothing to be done for j721e i2c_icss0               
Nothing to be done for j721e uart_profile   
Nothing to be done for j721e uart_dma_profile 
Nothing to be done for j721e uart_indp              
Nothing to be done for j721e uart_profile_indp        
Nothing to be done for j721e gpio_profile
Nothing to be done for j721e gpio_profile_indp
Nothing to be done for j721e nimu_icssg      
Nothing to be done for j721e nimu_icssg_profile
Nothing to be done for j721e fatfs_multi_indp       
Nothing to be done for j721e fatfs_profile_indp
Nothing to be done for j721e mcasp_indp                                                 
Nothing to be done for j721e mcasp_profile  
Nothing to be done for j721e mcasp_profile_indp  
Nothing to be done for j721e spi_profile     
Nothing to be done for j721e spi_dma_profile
Nothing to be done for j721e spi_profile_indp     
thomas@ubuntu:~/tda4vmx/psdk/pdk/packages/ti/build$

As you can see, the first two make commands verify that source and binaries are in "sync".
Then I "change" the source file of ipc_virtio.c
I expect now, that the according libs are getting rebuild.
Limiting CORE to MCU1_0 won't rebuild that library.
Without specifying CORE the affected library getting rebuild.

Any help would be highly appreciated.
Best regards,

Thomas