27 lines
756 B
CMake
27 lines
756 B
CMake
cmake_minimum_required(VERSION 3.11)
|
|
project(micro68)
|
|
|
|
add_executable(m68kmake tools/m68kmake.c)
|
|
|
|
file(GLOB_RECURSE SRCS src/**.c)
|
|
list(REMOVE_ITEM SRCS ${CMAKE_CURRENT_SOURCE_DIR}/src/musashi/m68k_in.c ${CMAKE_CURRENT_SOURCE_DIR}/src/musashi/m68kfpu.c)
|
|
|
|
find_package(SDL2)
|
|
|
|
add_executable(micro68 ${SRCS})
|
|
target_link_libraries(micro68 PRIVATE m SDL2::SDL2)
|
|
|
|
macro(runtime NAME)
|
|
add_custom_command(
|
|
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.o
|
|
COMMAND vasmm68k_mot -Felf -m68000 -o ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.o ${CMAKE_CURRENT_SOURCE_DIR}/runtime/${NAME}.s
|
|
DEPENDS runtime/${NAME}.s
|
|
)
|
|
endmacro()
|
|
|
|
runtime(crt0)
|
|
runtime(libc)
|
|
|
|
add_custom_target(runtime ALL
|
|
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/crt0.o ${CMAKE_CURRENT_BINARY_DIR}/libc.o
|
|
)
|