load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library") package(default_visibility = ["//visibility:public"]) LOCAL_DEFINES = select({ "@platforms//os:windows": ["GLEW_STATIC"], "//conditions:default": [], }) LINKOPTS = select({ "@platforms//os:windows": [ "-DEFAULTLIB:opengl32.lib", "-DEFAULTLIB:gdi32.lib", "-DEFAULTLIB:user32.lib", ], "@platforms//os:macos": ["-Wl,-framework,OpenGL"], "//conditions:default": ["-lGL"], }) cc_library( name = "glew", srcs = ["src/glew.c"], hdrs = [ "include/GL/eglew.h", "include/GL/glew.h", "include/GL/glxew.h", "include/GL/wglew.h", ], includes = ["include"], linkopts = LINKOPTS, local_defines = LOCAL_DEFINES, deps = select({ "@platforms//os:linux": [ "@glu", "@libx11", ], "//conditions:default": [], }), ) cc_binary( name = "glewinfo", srcs = ["src/glewinfo.c"], linkopts = LINKOPTS, local_defines = LOCAL_DEFINES, deps = [":glew"], )