# -*- python -*-
# This file contains rules for Bazel; see drake/doc/bazel.rst.

load(
    "//tools:drake.bzl",
    "drake_cc_library",
    "drake_cc_binary",
)
load("//tools:lint.bzl", "add_lint_tests")

drake_cc_library(
    name = "van_der_pol",
    srcs = ["van_der_pol.cc"],
    hdrs = ["van_der_pol.h"],
    visibility = ["//visibility:public"],
    deps = [
        "//drake/systems/framework:leaf_system",
        "//drake/systems/framework:system_constraint",
        "//drake/systems/framework:vector",
    ],
)

drake_cc_binary(
    name = "plot_limit_cycle",
    testonly = 1,
    srcs = ["plot_limit_cycle.cc"],
    add_test_rule = 1,
    deps = [
        "van_der_pol",
        "//drake/common:is_approx_equal_abstol",
        "//drake/common/proto:call_matlab",
        "//drake/systems/analysis:simulator",
        "//drake/systems/framework",
        "//drake/systems/primitives:signal_logger",
    ],
)

add_lint_tests()
