Mercurial
view raylib_examples/raylib.bzl @ 26:a58a663dae68
[Sori] Making a simple game.
| author | June Park <parkjune1995@gmail.com> |
|---|---|
| date | Thu, 09 Oct 2025 06:41:49 -0700 |
| parents | f33d9ff8b6e8 |
| children |
line wrap: on
line source
def raylib_binary( name, srcs, deps = [], deps_macos = [], deps_linux = [], linkopts_macos = [ "-framework CoreVideo", "-framework IOKit", "-framework Cocoa", "-framework GLUT", "-framework OpenGL", ], linkopts_linux = [ "-lGL", "-lm", "-lpthread", "-ldl", "-lrt", "-lX11", ]): """ Raylib specific cross platform rules. Args: name: The logical name of the binary (alias). srcs: List of source files (common). deps: Mutual dependency. deps_macos: Extra deps for macOS. deps_linux: Extra deps for Linux. linkopts_macos: Extra linkopts for macOS. linkopts_linux: Extra linkopts for Linux. """ macos_bin = name + "_macos" linux_bin = name + "_linux" native.cc_binary( name = macos_bin, srcs = srcs, deps = deps + deps_macos, linkopts = linkopts_macos, ) native.cc_binary( name = linux_bin, srcs = srcs, deps = deps + deps_linux, linkopts = linkopts_linux, ) native.alias( name = name, actual = select({ "//config:macos": ":" + macos_bin, "//config:linux": ":" + linux_bin, "//conditions:default": ":" + linux_bin, # fallback }), )