37 lines
806 B
Odin
37 lines
806 B
Odin
package build
|
|
|
|
EXT :: ".exe" when ODIN_OS == .Windows else ""
|
|
TARGET :: "lateralis" + EXT
|
|
|
|
import "core:fmt"
|
|
|
|
compile_shaders :: proc() -> Error {
|
|
return exec("sokol-shdc -i shader.glsl -o shader.odin -l hlsl5:glsl430 -f sokol_odin")
|
|
}
|
|
|
|
build_engine :: proc() -> Error {
|
|
return exec("odin build . -out:" + TARGET)
|
|
}
|
|
|
|
run_engine :: proc() -> Error {
|
|
return exec(TARGET)
|
|
}
|
|
|
|
clean :: proc() -> Error {
|
|
return remove_multiple("shader.odin", TARGET)
|
|
}
|
|
|
|
main :: proc() {
|
|
err := handle_commands(
|
|
{
|
|
"compile-shaders" = {compile_shaders},
|
|
"build" = {build_engine},
|
|
"run" = {compile_shaders, build_engine, run_engine},
|
|
"clean" = {clean},
|
|
},
|
|
)
|
|
if err != nil {
|
|
fmt.println("Build Failed:", err)
|
|
return
|
|
}
|
|
}
|