Mercurial
view third_party/raylib/raylib.bzl @ 44:0cfd7d9277b0
[ReactGame] 2048
| author | MrJuneJune <me@mrjunejune.com> |
|---|---|
| date | Wed, 03 Dec 2025 18:34:22 -0800 |
| parents | a58a663dae68 |
| children | ccb42d5bf8fd |
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 }), )