| package(default_visibility = ["//visibility:public"]) |
| |
| # TODO: No support for building the parser. |
| |
| cc_library( |
| name = "pioasm_core", |
| srcs = [ |
| "gen/lexer.cpp", |
| "gen/location.h", |
| "gen/parser.cpp", |
| "gen/parser.hpp", |
| "go_output.cpp", |
| "json_output.cpp", |
| "main.cpp", |
| "output_format.h", |
| "pio_assembler.cpp", |
| "pio_assembler.h", |
| "pio_disassembler.cpp", |
| "pio_disassembler.h", |
| "pio_enums.h", |
| "pio_types.h", |
| ], |
| copts = select({ |
| "@rules_cc//cc/compiler:msvc-cl": ["/std:c++20"], |
| "//conditions:default": ["-Wno-sign-compare"], |
| }), |
| defines = select({ |
| "@rules_cc//cc/compiler:msvc-cl": ["YY_NO_UNISTD_H=1"], |
| "//conditions:default": [], |
| }), |
| includes = [ |
| ".", |
| "gen", |
| ], |
| target_compatible_with = ["//bazel/constraint:host"], |
| ) |
| |
| cc_library( |
| name = "c_sdk_output", |
| srcs = ["c_sdk_output.cpp"], |
| deps = [":pioasm_core"], |
| alwayslink = True, |
| ) |
| |
| cc_library( |
| name = "python_output", |
| srcs = ["python_output.cpp"], |
| deps = [":pioasm_core"], |
| alwayslink = True, |
| ) |
| |
| cc_library( |
| name = "hex_output", |
| srcs = ["hex_output.cpp"], |
| deps = [":pioasm_core"], |
| alwayslink = True, |
| ) |
| |
| cc_library( |
| name = "ada_output", |
| srcs = ["ada_output.cpp"], |
| deps = [":pioasm_core"], |
| alwayslink = True, |
| ) |
| |
| cc_binary( |
| name = "pioasm", |
| deps = [ |
| ":ada_output", |
| ":c_sdk_output", |
| ":hex_output", |
| ":pioasm_core", |
| ":python_output", |
| ], |
| ) |