Skip to content

Commit 16fbbe6

Browse files
committed
cmake: add most rpc libs
1 parent a32d20b commit 16fbbe6

File tree

23 files changed

+206
-12
lines changed

23 files changed

+206
-12
lines changed

cmake/utils.cmake

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,13 @@ function(target_add_erl target)
3030
)
3131
endfunction()
3232

33+
# Generates a C array of the binary output of a target
34+
# objcopy -Obinary <elf> <bin> && bin2c <bin> <output_name.c> <target_name>
35+
macro(bin_include from_target output_name)
36+
add_custom_command(OUTPUT "${output_name}.c"
37+
COMMAND ${CMAKE_OBJCOPY} -Obinary $<TARGET_FILE:${from_target}> "${output_name}.bin"
38+
COMMAND bin2c "${output_name}.bin" "${output_name}.c" "${from_target}"
39+
BYPRODUCTS "${output_name}.bin"
40+
DEPENDS ${from_target}
41+
)
42+
endmacro()

ee/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,6 @@ add_subdirectory(elf-loader)
1818
add_subdirectory(kernel)
1919
add_subdirectory(erl)
2020
add_subdirectory(libcglue)
21+
add_subdirectory(rpc)
2122
add_subdirectory(sbv)
2223
add_subdirectory(startup)

ee/elf-loader/CMakeLists.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
1-
# TODO subfolder binary include
1+
add_subdirectory(src/loader)
2+
23
add_library(elf-loader)
34
target_include_directories(elf-loader PUBLIC include)
45
target_include_directories(elf-loader PRIVATE
56
${EE_INC}
67
)
78

9+
bin_include(loader loader_bin)
810
target_sources(elf-loader PRIVATE
911
src/elf.c
12+
loader_bin.c
1013
)
1114

1215
file(GLOB elf-loader_INCLUDE_FILES "include/*.h*")
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
add_executable(loader)
2+
target_sources(loader PRIVATE src/loader.c)
3+
target_include_directories(loader PRIVATE ${EE_INC})
4+
target_link_libraries(loader PRIVATE kernel cglue)
5+
target_link_options(loader PRIVATE -T${CMAKE_CURRENT_SOURCE_DIR}/linkfile)

ee/kernel/CMakeLists.txt

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -84,17 +84,6 @@ compile_multiple(kernel src/osd_config.c OBJECTS
8484
configConvertToGmtTime.o configConvertToLocalTimeWithIODriver.o configConvertToLocalTime.o
8585
)
8686

87-
# Generates a C array of the binary output of a target
88-
# objcopy -Obinary <elf> <bin> && bin2c <bin> <output_name.c> <target_name>
89-
macro(bin_include from_target output_name)
90-
add_custom_command(OUTPUT "${output_name}.c"
91-
COMMAND ${CMAKE_OBJCOPY} -Obinary $<TARGET_FILE:${from_target}> "${output_name}.bin"
92-
COMMAND bin2c "${output_name}.bin" "${output_name}.c" "${from_target}"
93-
BYPRODUCTS "${output_name}.bin"
94-
DEPENDS ${from_target}
95-
)
96-
endmacro()
97-
9887
bin_include(osdsrc osdsrc_bin)
9988
target_sources(kernel PRIVATE src/libosd.c src/libosd_full.c src/libosd_common.c osdsrc_bin.c)
10089

ee/rpc/CMakeLists.txt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
add_subdirectory(ahx)
2+
add_subdirectory(audsrv)
3+
add_subdirectory(camera)
4+
add_subdirectory(cdvd)
5+
add_subdirectory(filexio)
6+
add_subdirectory(hdd)
7+
add_subdirectory(keyboard)
8+
add_subdirectory(memorycard)
9+
add_subdirectory(mouse)
10+
add_subdirectory(multitap)
11+
add_subdirectory(pad)
12+
add_subdirectory(poweroff)
13+
add_subdirectory(ps2snd)
14+
add_subdirectory(remote)
15+
add_subdirectory(secr)
16+
add_subdirectory(sior)
17+
add_subdirectory(tcpips)

ee/rpc/ahx/CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
add_library(ahx)
2+
target_include_directories(ahx PUBLIC include)
3+
target_include_directories(ahx PRIVATE ${EE_INC})
4+
target_sources(ahx PRIVATE src/ahx_rpc.c src/erl-support.c)
5+
install(TARGETS ahx)
6+
target_add_erl(ahx)

ee/rpc/audsrv/CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
add_library(audsrv)
2+
target_include_directories(audsrv PUBLIC include)
3+
target_include_directories(audsrv PRIVATE ${EE_INC})
4+
target_sources(audsrv PRIVATE src/audsrv_rpc.c src/erl-support.c)
5+
install(TARGETS audsrv)
6+
target_add_erl(audsrv)

ee/rpc/camera/CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
add_library(camera)
2+
target_include_directories(camera PUBLIC include)
3+
target_include_directories(camera PRIVATE ${EE_INC})
4+
target_sources(camera PRIVATE src/ps2cam_rpc.c src/erl-support.c)
5+
install(TARGETS camera)
6+
target_add_erl(camera)

ee/rpc/cdvd/CMakeLists.txt

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
add_library(cdvd)
2+
target_include_directories(cdvd PUBLIC include)
3+
target_include_directories(cdvd PRIVATE ${EE_INC})
4+
5+
compile_multiple(cdvd src/libcdvd.c OBJECTS
6+
_libcdvd_internals.o sceCdInit.o sceCdIntToPos.o sceCdPosToInt.o
7+
sceCdSearchFile.o sceCdDiskReady.o _CdSemaInit.o _CdSemaExit.o
8+
sceCdInitEeCB.o sceCdCallback.o _CdGenericCallbackFunction.o
9+
)
10+
11+
compile_multiple(cdvd src/ncmd.c OBJECTS
12+
_ncmd_internals.o _CdAlignReadBuffer.o sceCdRead.o sceCdReadDVDV.o
13+
sceCdReadCDDA.o sceCdGetToc.o sceCdSeek.o sceCdStandby.o sceCdStop.o sceCdPause.o
14+
sceCdApplyNCmd.o sceCdReadIOPMem.o sceCdNCmdDiskReady.o
15+
sceCdGetReadPos.o sceCdStStart.o sceCdStRead.o sceCdStStop.o sceCdStSeek.o sceCdStInit.o
16+
sceCdStStat.o sceCdStPause.o sceCdStResume.o sceCdStream.o sceCdCddaStream.o sceCdSync.o
17+
_CdCheckNCmd.o sceCdReadKey.o
18+
)
19+
20+
compile_multiple(cdvd src/scmd.c OBJECTS
21+
_scmd_internals.o sceCdReadClock.o ps2time.o sceCdWriteClock.o sceCdGetDiskType.o
22+
sceCdGetError.o sceCdTrayReq.o sceCdApplySCmd.o sceCdStatus.o sceCdBreak.o
23+
_CdCheckSCmd.o sceCdCtrlADout.o sceCdMV.o sceCdReadSUBQ.o
24+
sceCdForbidDVDP.o sceCdAutoAdjustCtrl.o sceCdDecSet.o sceCdSetHDMode.o sceCdOpenConfig.o sceCdCloseConfig.o
25+
sceCdReadConfig.o sceCdWriteConfig.o
26+
sceCdReadNVM.o sceCdWriteNVM.o sceCdRI.o sceCdWI.o sceCdReadConsoleID.o sceCdWriteConsoleID.o
27+
sceCdNoticeGameStart.o
28+
_CdSyncS.o
29+
)
30+
31+
target_sources(cdvd PRIVATE src/erl-support.c)
32+
install(TARGETS cdvd)
33+
#target_add_erl(cdvd) TODO doesn't work with the object libraries

0 commit comments

Comments
 (0)