62 lines
1.8 KiB
Batchfile
62 lines
1.8 KiB
Batchfile
@echo off
|
|
setlocal enabledelayedexpansion
|
|
|
|
REM --- Root directory ---
|
|
set ROOT_DIR=%~dp0
|
|
set DIST_DIR=%ROOT_DIR%dist
|
|
|
|
REM --- Number of CPU cores ---
|
|
set CORES=%NUMBER_OF_PROCESSORS%
|
|
|
|
REM --- Optional first argument as DIST_DIR ---
|
|
if not "%~1"=="" set DIST_DIR=%~1
|
|
|
|
echo DIST_DIR: %DIST_DIR%
|
|
echo CORES: %CORES%
|
|
|
|
REM ========================
|
|
REM sysmodule
|
|
REM ========================
|
|
echo *** sysmodule ***
|
|
|
|
REM Extract TITLE_ID from perms.json using findstr (rough approximation)
|
|
for /f "tokens=2 delims=: " %%A in ('findstr /i "title_id" "%ROOT_DIR%sysmodule\perms.json"') do (
|
|
set TITLE_ID=%%A
|
|
)
|
|
|
|
REM Remove quotes and 0x prefix
|
|
set TITLE_ID=!TITLE_ID:"=!
|
|
set TITLE_ID=!TITLE_ID:0x=!
|
|
|
|
REM Build sysmodule
|
|
pushd "%ROOT_DIR%sysmodule"
|
|
make -j %CORES%
|
|
popd
|
|
|
|
REM Copy sysmodule files to dist
|
|
if not exist "%DIST_DIR%\atmosphere\contents\%TITLE_ID%\flags" mkdir "%DIST_DIR%\atmosphere\contents\%TITLE_ID%\flags"
|
|
copy /Y "%ROOT_DIR%sysmodule\out\horizon-oc.nsp" "%DIST_DIR%\atmosphere\contents\%TITLE_ID%\exefs.nsp"
|
|
type nul > "%DIST_DIR%\atmosphere\contents\%TITLE_ID%\flags\boot2.flag"
|
|
copy /Y "%ROOT_DIR%sysmodule\toolbox.json" "%DIST_DIR%\atmosphere\contents\%TITLE_ID%\toolbox.json"
|
|
|
|
REM ========================
|
|
REM overlay
|
|
REM ========================
|
|
echo *** overlay ***
|
|
pushd "%ROOT_DIR%overlay"
|
|
make -j %CORES%
|
|
popd
|
|
|
|
if not exist "%DIST_DIR%\switch\.overlays" mkdir "%DIST_DIR%\switch\.overlays"
|
|
copy /Y "%ROOT_DIR%overlay\out\horizon-oc-overlay.ovl" "%DIST_DIR%\switch\.overlays\horizon-oc-overlay.ovl"
|
|
|
|
REM ========================
|
|
REM assets
|
|
REM ========================
|
|
echo *** assets ***
|
|
if not exist "%DIST_DIR%\config\horizon-oc" mkdir "%DIST_DIR%\config\horizon-oc"
|
|
copy /Y "%ROOT_DIR%config.ini.template" "%DIST_DIR%\config\horizon-oc\config.ini.template"
|
|
copy /Y "%ROOT_DIR%..\..\README.md" "%DIST_DIR%\README.md"
|
|
|
|
endlocal
|