Skip to content

Commit 386aea7

Browse files
committed
Add erl, and build erl for patches
1 parent badbd14 commit 386aea7

5 files changed

Lines changed: 25 additions & 4 deletions

File tree

cmake/utils.cmake

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,19 @@ function(compile_multiple target srcfile)
1414
endforeach()
1515
endfunction()
1616

17+
# Add an erl output for a given target
18+
function(target_add_erl target)
19+
add_custom_command(OUTPUT "lib${target}.erl"
20+
COMMAND ${CMAKE_C_COMPILER} -nostdlib -Wl,-r -Wl,-d -o "lib${target}.erl" $<TARGET_OBJECTS:${target}>
21+
COMMAND ${CMAKE_STRIP} --strip-unneeded -R .mdebug.eabi64 -R .reginfo -R .comment lib${target}.erl
22+
DEPENDS ${target}
23+
COMMAND_EXPAND_LISTS
24+
)
25+
add_custom_target(${target}_erl ALL
26+
DEPENDS lib${target}.erl
27+
)
28+
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/lib${target}.erl
29+
DESTINATION lib
30+
)
31+
endfunction()
32+

ee/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ cmake_minimum_required(VERSION 3.10)
22
project(ps2sdk-ee C ASM)
33
file(REAL_PATH ../ PS2SDKSRC_ROOT)
44

5-
set(EE_INC ${PS2SDKSRC_ROOT}/common/include ${PROJECT_SOURCE_DIR}/kernel/include ${PROJECT_SOURCE_DIR}/rpc/cdvd/include)
5+
set(EE_INC ${PS2SDKSRC_ROOT}/common/include ${PROJECT_SOURCE_DIR}/kernel/include ${PROJECT_SOURCE_DIR}/rpc/cdvd/include
6+
${PROJECT_SOURCE_DIR}/erl/include)
67

78
add_subdirectory(kernel)
89
add_subdirectory(libcglue)

ee/erl/CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
add_library(erl)
2+
target_include_directories(erl PUBLIC include)
3+
target_include_directories(erl PRIVATE ${EE_INC})
4+
target_sources(erl PRIVATE src/erl.c src/hashtab.c src/lookupa.c src/recycle.c)

ee/kernel/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ compile_multiple(kernel src/kernel.S OBJECTS
217217
strncpy.o strlen.o memcpy.o memset.o __syscall.o GPfuncs.o _print.o
218218
)
219219

220-
target_sources(kernel PRIVATE src/setup_syscalls.S src/debug.c)
220+
target_sources(kernel PRIVATE src/setup_syscalls.S src/debug.c src/erl-support.c)
221221

222222
file(GLOB KERNEL_INCLUDE_FILES "include/*.h*")
223223
set_target_properties(kernel PROPERTIES PUBLIC_HEADER "${KERNEL_INCLUDE_FILES}")

ee/sbv/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ target_include_directories(patches PRIVATE ${EE_INC})
44
target_sources(patches PRIVATE src/smem.c src/smod.c src/slib.c
55
src/patch_enable_lmb.c src/patch_disable_prefix_check.c
66
src/patch_user_mem_clear.c src/patch_fileio.c src/common.c
7-
#src/erl-support.c TODO
7+
src/erl-support.c
88
)
99

1010
file(GLOB PATCHES_INCLUDE_FILES "include/*.h*")
1111
set_target_properties(patches PROPERTIES PUBLIC_HEADER "${PATCHES_INCLUDE_FILES}")
12-
1312
install(TARGETS patches)
1413

14+
target_add_erl(patches)

0 commit comments

Comments
 (0)