41 lines
1.3 KiB
CMake
41 lines
1.3 KiB
CMake
option(ENABLE_GCOV "Enable GCOV" OFF)
|
|
if (ENABLE_GCOV)
|
|
add_compile_options("-fprofile-arcs" "-ftest-coverage")
|
|
add_link_options("-lgcov" "--coverage")
|
|
endif(ENABLE_GCOV)
|
|
|
|
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/arch/${ARCH})
|
|
|
|
if(ARCH STREQUAL "x86_64")
|
|
set(ARCH_C_FLAGS "-mno-red-zone -mcmodel=kernel")
|
|
endif()
|
|
|
|
set(MCEXEC_PATH "${CMAKE_INSTALL_FULL_BINDIR}/mcexec" CACHE STRING "mcexec path for binfmt")
|
|
|
|
kmod(mcctrl
|
|
C_FLAGS
|
|
-I${IHK_FULL_SOURCE_DIR}/linux/include
|
|
-I${IHK_FULL_SOURCE_DIR}/linux/include/ihk/arch/${ARCH}
|
|
-I${IHK_FULL_SOURCE_DIR}/ikc/include
|
|
-I${IHK_FULL_SOURCE_DIR}/ikc/include/ikc/arch/${ARCH}
|
|
-I${IHK_FULL_SOURCE_DIR}/include
|
|
-I${IHK_FULL_SOURCE_DIR}/include/arch/${ARCH}
|
|
-I${PROJECT_SOURCE_DIR}/executer/include
|
|
-I${CMAKE_CURRENT_SOURCE_DIR}/arch/${ARCH}/include
|
|
-I${CMAKE_CURRENT_SOURCE_DIR}/include
|
|
-I${PROJECT_BINARY_DIR}
|
|
-I${PROJECT_SOURCE_DIR}/kernel/include
|
|
-I${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/include
|
|
-DMCEXEC_PATH=\\"${MCEXEC_PATH}\\"
|
|
${ARCH_C_FLAGS}
|
|
SOURCES
|
|
driver.c control.c ikc.c syscall.c procfs.c binfmt_mcexec.c
|
|
sysfs.c sysfs_files.c mc_plist.c futex.c arch/${ARCH}/archdeps.c arch/${ARCH}/cpu.c
|
|
EXTRA_SYMBOLS
|
|
${PROJECT_BINARY_DIR}/ihk/linux/core/Module.symvers
|
|
DEPENDS
|
|
ihk_ko
|
|
INSTALL_DEST
|
|
${KMODDIR}
|
|
)
|