# run make release to compile everything on linux (and maybe on macos too who knows) # .ONESHELL: # .SHELLFLAGS=-ec LIBS = -pkg:dotnet -r:MonoMod.Utils.dll -r:MonoMod.RuntimeDetour.dll \ -r:Celeste.exe -r:MMHOOK_Celeste.dll -r:FNA.dll -r:Mono.Cecil.dll -r:YamlDotNet.dll -r:CelesteNet.Client.dll -r:CelesteNet.Shared.dll # We'll use only the ./SourceCode/Libraries/ and ./SourceCode/References/ directories, and have people symlink libs there or w/e LIB_PATH = -lib:./SourceCode/Libraries/ -lib:./SourceCode/References/ BINARY=AvaliSkin.dll .PHONY: default release strip default: release # To compile code on linux you will need the mono runtime and mcs (the mono c# compiler), and that's it actually. release: mcs -v ${LIB_PATH} ${LIBS} ./SourceCode/*.cs -t:library -out:${BINARY} -optimize zip -r Avali-Skinmod.zip Audio/ Dialog/ Graphics/ Effects/AvaliRecolor.o LICENSE.md everest.yaml AvaliSkin.dll # To compile the shaders, you will need: # - wine64 to be installed, # - the June 2010 legacy DirectX SDK utilities need to be in your wine windows PATH # (download: https://www.microsoft.com/en-us/download/details.aspx?id=6812) # - and you will need D3DCompiler_43.dll which you can grab from winetricks or # if you have steam proton installed, you probably already have a copy of it # *somewhere* on your system. # Man microsoft software sucks... how is this company still alive shader_c: wine64 fxc.exe "Effects\AvaliRecolor.fx" "/T" "fx_2_0" "/Fo" "Effects\AvaliRecolor.o" "/O3"