#!/usr/bin/env bash set -euo pipefail cd "$(dirname "$0")" cxx=${CXX:-g++} build_dir=${TMPDIR:-/tmp}/cnc_sim_native mkdir -p "$build_dir" "$cxx" -std=c++17 -I core/include -I core/src \ core/src/canon_event_sink.cpp \ core/src/rtcp_kinematics.cpp \ core/tests/canon_event_sink_smoke.cpp \ -o "$build_dir/canon_event_sink_smoke" "$cxx" -std=c++17 -I core/include -I core/src \ core/src/rtcp_kinematics.cpp \ core/tests/rtcp_kinematics_smoke.cpp \ -o "$build_dir/rtcp_kinematics_smoke" "$cxx" -std=c++17 -I core/include -I core/src \ core/src/canon_event_sink.cpp \ core/src/rtcp_kinematics.cpp \ core/src/simulator_gcode_controls.cpp \ core/tests/simulator_gcode_controls_smoke.cpp \ -o "$build_dir/simulator_gcode_controls_smoke" "$cxx" -std=c++17 -I core/include -I core/src \ core/src/canon_event_sink.cpp \ core/src/cnc_sim_api.cpp \ core/src/gcode_backend.cpp \ core/src/rtcp_kinematics.cpp \ core/src/simulator_gcode_controls.cpp \ core/src/smoke_gcode_parser.cpp \ core/tests/cnc_sim_api_smoke.cpp \ -o "$build_dir/cnc_sim_api_smoke" "$cxx" -std=c++17 -I core/include -I core/src \ core/src/canon_event_sink.cpp \ core/src/cnc_sim_api.cpp \ core/src/gcode_backend.cpp \ core/src/rtcp_kinematics.cpp \ core/src/simulator_gcode_controls.cpp \ core/src/smoke_gcode_parser.cpp \ core/tools/cnc_sim_dump.cpp \ -o "$build_dir/cnc_sim_dump" "$build_dir/canon_event_sink_smoke" "$build_dir/rtcp_kinematics_smoke" "$build_dir/simulator_gcode_controls_smoke" "$build_dir/cnc_sim_api_smoke" "$build_dir/cnc_sim_dump" tests/gcode/basic_mill.ngc >/tmp/cnc_sim_basic_mill.json "$build_dir/cnc_sim_dump" tests/gcode/incremental_and_r_arc.ngc >/tmp/cnc_sim_incremental_and_r_arc.json echo "native tests passed" echo "dumped /tmp/cnc_sim_basic_mill.json" echo "dumped /tmp/cnc_sim_incremental_and_r_arc.json"