mirror of
https://github.com/mupen64plus/mupen64plus-rsp-cxd4.git
synced 2024-05-14 10:09:35 -04:00
77 lines
2.3 KiB
Batchfile
77 lines
2.3 KiB
Batchfile
@ECHO OFF
|
|
TITLE MinGW Compiler Suite Invocation
|
|
|
|
REM If you have MinGW on a different drive letter or installed at a custom path
|
|
REM (or just not yet installed at all), this build script may not work out of
|
|
REM the box for most Windows users. Alternatives include MinGW-w32 or trying
|
|
REM to execute the Unix shell script "make.sh" from Windows 10+ or Git Bash.
|
|
|
|
REM The following line is the only one you should ever need to change.
|
|
set MinGW=C:\MinGW
|
|
|
|
set lib=%MinGW%\lib
|
|
set bin=%MinGW%\bin
|
|
set inc=%MinGW%\include
|
|
|
|
REM set rsp=%USERPROFILE%\rsp
|
|
set rsp=%CD%
|
|
set obj=%rsp%\obj
|
|
|
|
set OBJ_LIST=^
|
|
"%obj%\module.o"^
|
|
"%obj%\su.o"^
|
|
"%obj%\vu\vu.o"^
|
|
"%obj%\vu\multiply.o"^
|
|
"%obj%\vu\add.o"^
|
|
"%obj%\vu\select.o"^
|
|
"%obj%\vu\logical.o"^
|
|
"%obj%\vu\divide.o"
|
|
|
|
set FLAGS_ANSI=-Wall -pedantic^
|
|
-DPLUGIN_API_VERSION=0x0101^
|
|
-mstackrealign^
|
|
-march=native
|
|
set FLAGS_x86=-Wall -pedantic^
|
|
-masm=intel^
|
|
-DPLUGIN_API_VERSION=0x0101^
|
|
-DARCH_MIN_SSE2^
|
|
-mstackrealign^
|
|
-march=native
|
|
set C_FLAGS=%FLAGS_x86%
|
|
|
|
if not exist obj (
|
|
mkdir obj
|
|
cd obj
|
|
mkdir vu
|
|
)
|
|
cd /D %bin%
|
|
|
|
ECHO Compiling C source code...
|
|
@ECHO ON
|
|
gcc -Os -S %C_FLAGS% -o "%obj%\module.asm" "%rsp%\module.c"
|
|
gcc -O3 -S %C_FLAGS% -o "%obj%\su.asm" "%rsp%\su.c"
|
|
gcc -O3 -S %C_FLAGS% -o "%obj%\vu\vu.asm" "%rsp%\vu\vu.c"
|
|
gcc -O3 -S %C_FLAGS% -o "%obj%\vu\multiply.asm" "%rsp%\vu\multiply.c"
|
|
gcc -O3 -S %C_FLAGS% -o "%obj%\vu\add.asm" "%rsp%\vu\add.c"
|
|
gcc -O3 -S %C_FLAGS% -o "%obj%\vu\select.asm" "%rsp%\vu\select.c"
|
|
gcc -O3 -S %C_FLAGS% -o "%obj%\vu\logical.asm" "%rsp%\vu\logical.c"
|
|
gcc -O2 -S %C_FLAGS% -o "%obj%\vu\divide.asm" "%rsp%\vu\divide.c"
|
|
@ECHO OFF
|
|
ECHO.
|
|
|
|
ECHO Assembling compiled sources...
|
|
as -o "%obj%\module.o" "%obj%\module.asm"
|
|
as -o "%obj%\su.o" "%obj%\su.asm"
|
|
as -o "%obj%\vu\vu.o" "%obj%\vu\vu.asm"
|
|
as -o "%obj%\vu\multiply.o" "%obj%\vu\multiply.asm"
|
|
as -o "%obj%\vu\add.o" "%obj%\vu\add.asm"
|
|
as -o "%obj%\vu\select.o" "%obj%\vu\select.asm"
|
|
as -o "%obj%\vu\logical.o" "%obj%\vu\logical.asm"
|
|
as -o "%obj%\vu\divide.o" "%obj%\vu\divide.asm"
|
|
ECHO.
|
|
|
|
ECHO Linking assembled object files...
|
|
ld --shared -e _DllMain@12 -o "%obj%\rspdebug.dll" -L %lib% %OBJ_LIST% -lmsvcrt
|
|
strip -o "%obj%\rsp.dll" "%obj%\rspdebug.dll" --strip-all
|
|
PAUSE
|