diff --git a/src/ipc/CMakeLists.txt b/src/ipc/CMakeLists.txt index 1b2a7efc804a..1859baa7a3ee 100644 --- a/src/ipc/CMakeLists.txt +++ b/src/ipc/CMakeLists.txt @@ -6,11 +6,33 @@ elseif (CONFIG_IPC_MAJOR_4) add_subdirectory(ipc4) endif() -add_local_sources(sof +set(base_files ipc-common.c ipc-helper.c ) +is_zephyr(it_is) +if(it_is) ### Zephyr ### + +zephyr_library_sources( + ${base_files} + dma-copy.c +) + +if (CONFIG_SOC_SERIES_INTEL_CAVS_V25 OR CONFIG_SOC_SERIES_INTEL_ACE) + zephyr_library_sources( + ipc-zephyr.c + ) +endif() + + +else() ### Not Zephyr ### + + +add_local_sources(sof + ${base_files} +) + if (CONFIG_TRACE) add_local_sources(sof dma-copy.c) @@ -19,3 +41,6 @@ endif() if (CONFIG_LIBRARY) return() endif() + + +endif() # Zephyr diff --git a/src/ipc/ipc3/CMakeLists.txt b/src/ipc/ipc3/CMakeLists.txt index 52d3280a14b4..eb791d1836a6 100644 --- a/src/ipc/ipc3/CMakeLists.txt +++ b/src/ipc/ipc3/CMakeLists.txt @@ -1,12 +1,28 @@ # SPDX-License-Identifier: BSD-3-Clause -add_local_sources(sof +set(common_files handler.c helper.c dai.c ) +is_zephyr(it_is) +if(it_is) ### Zephyr ### + +zephyr_library_sources( + ${common_files} + host-page-table.c +) + +else() ### Not Zephyr ### + +add_local_sources(sof + ${common_files} +) + if (CONFIG_HOST_PTABLE) add_local_sources(sof host-page-table.c) -endif() \ No newline at end of file +endif() + +endif() # Zephyr diff --git a/src/ipc/ipc4/CMakeLists.txt b/src/ipc/ipc4/CMakeLists.txt index 2e162e702672..c977d498619a 100644 --- a/src/ipc/ipc4/CMakeLists.txt +++ b/src/ipc/ipc4/CMakeLists.txt @@ -1,12 +1,36 @@ # SPDX-License-Identifier: BSD-3-Clause -add_local_sources(sof +set(common_files dai.c handler.c helper.c logging.c notification.c +) + + +is_zephyr(it_is) +if(it_is) ### Zephyr ### + + +zephyr_library_sources( + ${common_files} +) + +zephyr_library_sources_ifdef(CONFIG_AMS + ams_helpers.c +) + + +else() ### Not Zephyr #### + + +add_local_sources(sof + ${common_files} ams_helpers.c ) target_include_directories(sof_options INTERFACE ${RIMAGE_TOP}/src/include) + + +endif() # Zephyr diff --git a/zephyr/CMakeLists.txt b/zephyr/CMakeLists.txt index b06b28b2a7f3..4fee4d8af22c 100644 --- a/zephyr/CMakeLists.txt +++ b/zephyr/CMakeLists.txt @@ -128,6 +128,8 @@ macro(is_zephyr ret) endmacro() add_subdirectory(../src/init/ init_unused_install/) +add_subdirectory(../src/ipc/ ipc_unused_install/) + # Old way below: all .c files added by this giant CMake file. @@ -136,10 +138,6 @@ add_subdirectory(../src/init/ init_unused_install/) if (CONFIG_SOC_SERIES_INTEL_CAVS_V25) # Driver sources - zephyr_library_sources( - ${SOF_IPC_PATH}/ipc-zephyr.c - ) - zephyr_library_sources_ifdef(CONFIG_INTEL_HDA ${SOF_DRIVERS_PATH}/intel/hda/hda-dma.c ) @@ -165,11 +163,6 @@ endif() # Intel ACE 1.5 and newer platforms if (CONFIG_SOC_SERIES_INTEL_ACE) - # Driver sources - zephyr_library_sources( - ${SOF_IPC_PATH}/ipc-zephyr.c - ) - # Platform sources zephyr_library_sources( ${SOF_PLATFORM_PATH}/intel/ace/platform.c @@ -327,9 +320,6 @@ zephyr_include_directories(${SOF_PLATFORM_PATH}/${PLATFORM}/include) # Mandatory Files used on all platforms. # Commented files will be added/removed as integration dictates. zephyr_library_sources( - ${SOF_IPC_PATH}/dma-copy.c - ${SOF_IPC_PATH}/ipc-common.c - ${SOF_IPC_PATH}/ipc-helper.c # SOF math utilities ${SOF_MATH_PATH}/decibels.c @@ -408,20 +398,6 @@ else() ) endif() -zephyr_library_sources_ifdef(CONFIG_IPC_MAJOR_3 - ${SOF_IPC_PATH}/ipc3/handler.c - ${SOF_IPC_PATH}/ipc3/helper.c - ${SOF_IPC_PATH}/ipc3/dai.c - ${SOF_IPC_PATH}/ipc3/host-page-table.c -) - -zephyr_library_sources_ifdef(CONFIG_IPC_MAJOR_4 - ${SOF_IPC_PATH}/ipc4/handler.c - ${SOF_IPC_PATH}/ipc4/helper.c - ${SOF_IPC_PATH}/ipc4/dai.c - ${SOF_IPC_PATH}/ipc4/logging.c - ${SOF_IPC_PATH}/ipc4/notification.c -) zephyr_library_sources_ifdef(CONFIG_TRACE ${SOF_SRC_PATH}/trace/dma-trace.c @@ -776,7 +752,6 @@ zephyr_library_sources_ifdef(CONFIG_HAVE_AGENT zephyr_library_sources_ifdef(CONFIG_AMS ${SOF_LIB_PATH}/ams.c - ${SOF_IPC_PATH}/ipc4/ams_helpers.c ) zephyr_library_sources_ifdef(CONFIG_GDB_DEBUG