Initial draft of making BUILD files for y2014.

Change-Id: Ib62acfe4ee8f20ccd5b5d684acdd8cc5a7e79d8d
diff --git a/y2014/BUILD b/y2014/BUILD
new file mode 100644
index 0000000..9c65f34
--- /dev/null
+++ b/y2014/BUILD
@@ -0,0 +1,37 @@
+package(default_visibility = ['//visibility:public'])
+
+cc_library(
+  name = 'constants',
+  srcs = [
+    'constants.cc',
+  ],
+  deps = [
+    '//aos/common/logging',
+    '//aos/common:once',
+    '//aos/common/network:team_number',
+    '//frc971/control_loops:state_feedback_loop',
+    '//y2014/control_loops/drivetrain:polydrivetrain_plants',
+  ],
+)
+
+cc_binary(
+  name = 'joystick_reader',
+  srcs = [
+    'joystick_reader.cc',
+  ],
+  deps = [
+    '//aos/prime/input:joystick_input',
+    '//aos/linux_code:init',
+    '//aos/common/logging',
+    '//aos/common:time',
+    '//aos/common/util:log_interval',
+    '//aos/common/actions:action_lib',
+    '//y2014/control_loops/drivetrain:drivetrain_queue',
+    '//y2014:constants',
+    '//frc971/queues:gyro',
+    '//frc971/autonomous:auto_queue',
+    '//y2014/control_loops/claw:claw_queue',
+    '//y2014/control_loops/shooter:shooter_queue',
+    '//y2014/actors:shoot_action_lib',
+  ],
+)
diff --git a/y2014/actors/BUILD b/y2014/actors/BUILD
new file mode 100644
index 0000000..c5304a8
--- /dev/null
+++ b/y2014/actors/BUILD
@@ -0,0 +1,85 @@
+package(default_visibility = ['//visibility:public'])
+
+load('aos/build/queues', 'queue_library')
+
+filegroup(
+  name = 'binaries',
+  srcs = [
+    ':drivetrain_action',
+    ':shoot_action',
+  ],
+)
+
+queue_library(
+  name = 'shoot_action_queue',
+  srcs = [
+    'shoot_action.q',
+  ],
+)
+
+cc_library(
+  name = 'shoot_action_lib',
+  srcs = [
+    'shoot_actor.cc',
+  ],
+  deps = [
+    ':shoot_action_queue',
+    '//aos/common/actions:action_lib',
+    '//y2014/queues:profile_params',
+    '//aos/common/logging',
+    '//y2014/control_loops/shooter:shooter_queue',
+    '//y2014/control_loops/claw:claw_queue',
+    '//y2014/control_loops/drivetrain:drivetrain_queue',
+    '//y2014:constants',
+  ],
+)
+
+cc_binary(
+  name = 'shoot_action',
+  srcs = [
+    'shoot_actor_main.cc',
+  ],
+  deps = [
+    '//aos/linux_code:init',
+    ':shoot_action_lib',
+    ':shoot_action_queue',
+  ],
+)
+
+queue_library(
+  name = 'drivetrain_action_queue',
+  srcs = [
+    'drivetrain_action.q',
+  ],
+)
+
+cc_library(
+  name = 'drivetrain_action_lib',
+  srcs = [
+    'drivetrain_actor.cc',
+  ],
+  deps = [
+    ':drivetrain_action_queue',
+    '//y2014:constants',
+    '//aos/common:time',
+    '//aos/common/util:phased_loop',
+    '//aos/common/logging',
+    '//aos/common/actions:action_lib',
+    '//aos/common/logging:queue_logging',
+    '//third_party/eigen',
+    '//aos/common/util:trapezoid_profile',
+    '//y2014/control_loops/drivetrain:drivetrain_queue',
+  ],
+)
+
+cc_binary(
+  name = 'drivetrain_action',
+  srcs = [
+    'drivetrain_actor_main.cc',
+  ],
+  deps = [
+    '//aos/linux_code:init',
+    ':drivetrain_action_lib',
+    ':drivetrain_action_queue',
+  ],
+)
diff --git a/y2014/autonomous/BUILD b/y2014/autonomous/BUILD
new file mode 100644
index 0000000..0ff5b7e
--- /dev/null
+++ b/y2014/autonomous/BUILD
@@ -0,0 +1,39 @@
+package(default_visibility = ['//visibility:public'])
+
+cc_library(
+  name = 'auto_lib',
+  srcs = [
+    'auto.cc',
+  ],
+  deps = [
+    '//frc971/autonomous:auto_queue',
+    '//aos/common/controls:control_loop',
+    '//y2014/control_loops/drivetrain:drivetrain_queue',
+    '//y2014/control_loops/shooter:shooter_queue',
+    '//y2014/control_loops/claw:claw_queue',
+    '//y2014:constants',
+    '//aos/common:time',
+    '//aos/common/util:phased_loop',
+    '//aos/common/util:trapezoid_profile',
+    '//aos/common/logging',
+    '//aos/common/actions:action_lib',
+    '//y2014/actors:shoot_action_lib',
+    '//y2014/actors:drivetrain_action_lib',
+    '//y2014/queues:hot_goal',
+    '//aos/common/logging:queue_logging',
+    '//y2014/queues:profile_params',
+    '//y2014/queues:auto_mode',
+  ],
+)
+
+cc_binary(
+  name = 'auto',
+  srcs = [
+    'auto_main.cc',
+  ],
+  deps = [
+    '//aos/linux_code:init',
+    '//frc971/autonomous:auto_queue',
+    ':auto_lib',
+  ],
+)
diff --git a/y2014/control_loops/claw/BUILD b/y2014/control_loops/claw/BUILD
new file mode 100644
index 0000000..23370cd
--- /dev/null
+++ b/y2014/control_loops/claw/BUILD
@@ -0,0 +1,78 @@
+package(default_visibility = ['//visibility:public'])
+
+load('aos/build/queues', 'queue_library')
+
+cc_binary(
+  name = 'replay_claw',
+  srcs = [
+    'replay_claw.cc',
+  ],
+  deps = [
+    ':claw_queue',
+    '//aos/common/controls:replay_control_loop',
+    '//aos/linux_code:init',
+  ],
+)
+
+queue_library(
+  name = 'claw_queue',
+  srcs = [
+    'claw.q',
+  ],
+)
+
+cc_library(
+  name = 'claw_lib',
+  srcs = [
+    'claw.cc',
+    'claw_motor_plant.cc',
+  ],
+  deps = [
+    ':claw_queue',
+    '//aos/common/controls:control_loop',
+    '//y2014:constants',
+    '//frc971/control_loops:state_feedback_loop',
+    '//aos/common/controls:polytope',
+    '//frc971/control_loops:coerce_goal',
+    '//aos/common/logging:queue_logging',
+    '//aos/common/logging:matrix_logging',
+  ],
+)
+
+cc_binary(
+  name = 'claw_lib_test',
+  srcs = [
+    'claw_lib_test.cc',
+  ],
+  deps = [
+    '//third_party/gtest',
+    ':claw_queue',
+    ':claw_lib',
+    '//frc971/control_loops:state_feedback_loop',
+    '//aos/common/controls:control_loop_test',
+  ],
+)
+
+cc_binary(
+  name = 'claw_calibration',
+  srcs = [
+    'claw_calibration.cc',
+  ],
+  deps = [
+    '//aos/linux_code:init',
+    ':claw_queue',
+    '//aos/common/controls:control_loop',
+    '//y2014:constants',
+  ],
+)
+
+cc_binary(
+  name = 'claw',
+  srcs = [
+    'claw_main.cc',
+  ],
+  deps = [
+    '//aos/linux_code:init',
+    ':claw_lib',
+  ],
+)
diff --git a/y2014/control_loops/drivetrain/BUILD b/y2014/control_loops/drivetrain/BUILD
new file mode 100644
index 0000000..d9015e3
--- /dev/null
+++ b/y2014/control_loops/drivetrain/BUILD
@@ -0,0 +1,81 @@
+package(default_visibility = ['//visibility:public'])
+
+load('aos/build/queues', 'queue_library')
+
+cc_binary(
+  name = 'replay_drivetrain',
+  srcs = [
+    'replay_drivetrain.cc',
+  ],
+  deps = [
+    ':drivetrain_queue',
+    '//aos/common/controls:replay_control_loop',
+    '//aos/linux_code:init',
+  ],
+)
+
+queue_library(
+  name = 'drivetrain_queue',
+  srcs = [
+    'drivetrain.q',
+  ],
+)
+
+cc_library(
+  name = 'polydrivetrain_plants',
+  srcs = [
+    'polydrivetrain_dog_motor_plant.cc',
+    'drivetrain_dog_motor_plant.cc',
+  ],
+  deps = [
+    '//frc971/control_loops:state_feedback_loop',
+  ],
+)
+
+cc_library(
+  name = 'drivetrain_lib',
+  srcs = [
+    'drivetrain.cc',
+    'polydrivetrain_cim_plant.cc',
+  ],
+  deps = [
+    ':drivetrain_queue',
+    '//aos/common/controls:control_loop',
+    '//y2014:constants',
+    '//aos/common/controls:polytope',
+    '//frc971/control_loops:state_feedback_loop',
+    '//frc971/control_loops:coerce_goal',
+    '//frc971/queues:gyro',
+    '//aos/common/util:log_interval',
+    '//aos/common/logging:queue_logging',
+    '//aos/common/logging:matrix_logging',
+  ],
+)
+
+cc_binary(
+  name = 'drivetrain_lib_test',
+  srcs = [
+    'drivetrain_lib_test.cc',
+  ],
+  deps = [
+    '//third_party/gtest',
+    ':drivetrain_queue',
+    ':drivetrain_lib',
+    '//aos/common/controls:control_loop_test',
+    '//frc971/control_loops:state_feedback_loop',
+    '//frc971/queues:gyro',
+    '//aos/common:queues',
+  ],
+)
+
+cc_binary(
+  name = 'drivetrain',
+  srcs = [
+    'drivetrain_main.cc',
+  ],
+  deps = [
+    '//aos/linux_code:init',
+    ':drivetrain_lib',
+    ':drivetrain_queue',
+  ],
+)
diff --git a/y2014/control_loops/shooter/BUILD b/y2014/control_loops/shooter/BUILD
new file mode 100644
index 0000000..c8605a3
--- /dev/null
+++ b/y2014/control_loops/shooter/BUILD
@@ -0,0 +1,63 @@
+package(default_visibility = ['//visibility:public'])
+
+load('aos/build/queues', 'queue_library')
+
+cc_binary(
+  name = 'replay_shooter',
+  srcs = [
+    'replay_shooter.cc',
+  ],
+  deps = [
+    ':shooter_queue',
+    '//aos/common/controls:replay_control_loop',
+    '//aos/linux_code:init',
+  ],
+)
+
+queue_library(
+  name = 'shooter_queue',
+  srcs = [
+    'shooter.q',
+  ],
+)
+
+cc_library(
+  name = 'shooter_lib',
+  srcs = [
+    'shooter.cc',
+    'shooter_motor_plant.cc',
+    'unaugmented_shooter_motor_plant.cc',
+  ],
+  deps = [
+    ':shooter_queue',
+    '//aos/common/controls:control_loop',
+    '//y2014:constants',
+    '//frc971/control_loops:state_feedback_loop',
+    '//aos/common/logging:queue_logging',
+  ],
+)
+
+cc_binary(
+  name = 'shooter_lib_test',
+  srcs = [
+    'shooter_lib_test.cc',
+  ],
+  deps = [
+    '//third_party/gtest',
+    ':shooter_queue',
+    ':shooter_lib',
+    '//aos/common/controls:control_loop_test',
+    '//frc971/control_loops:state_feedback_loop',
+  ],
+)
+
+cc_binary(
+  name = 'shooter',
+  srcs = [
+    'shooter_main.cc',
+  ],
+  deps = [
+    '//aos/linux_code:init',
+    ':shooter_lib',
+  ],
+)
diff --git a/y2014/prime/BUILD b/y2014/prime/BUILD
new file mode 100644
index 0000000..7a787e9
--- /dev/null
+++ b/y2014/prime/BUILD
@@ -0,0 +1,36 @@
+package(default_visibility = ['//visibility:public'])
+
+filegroup(
+  name = 'All',
+  srcs = [
+    '//frc971:All',
+    '//y2014/control_loops/drivetrain:drivetrain',
+    '//y2014/control_loops/drivetrain:drivetrain_lib_test',
+    '//y2014/control_loops/drivetrain:replay_drivetrain',
+    '//y2014/control_loops/claw:claw',
+    '//y2014/control_loops/claw:claw_calibration',
+    '//y2014/control_loops/claw:claw_lib_test',
+    '//y2014/control_loops/claw:replay_claw',
+    '//y2014/control_loops/shooter:shooter',
+    '//y2014/control_loops/shooter:shooter_lib_test',
+    '//y2014/control_loops/shooter:replay_shooter',
+    '//y2014/autonomous:auto',
+    '//y2014:joystick_reader',
+    '//y2014/actors:binaries',
+    ':hot_goal_reader',
+  ],
+)
+
+cc_binary(
+  name = 'hot_goal_reader',
+  srcs = [
+    'hot_goal_reader.cc',
+  ],
+  deps = [
+    '//aos/common:time',
+    '//aos/common/logging',
+    '//aos/common/logging:queue_logging',
+    '//aos/linux_code:init',
+    '//y2014/queues:hot_goal',
+  ],
+)
diff --git a/y2014/queues/BUILD b/y2014/queues/BUILD
new file mode 100644
index 0000000..0c04ab7
--- /dev/null
+++ b/y2014/queues/BUILD
@@ -0,0 +1,24 @@
+package(default_visibility = ['//visibility:public'])
+
+load('aos/build/queues', 'queue_library')
+
+queue_library(
+  name = 'profile_params',
+  srcs = [
+    'profile_params.q',
+  ],
+)
+
+queue_library(
+  name = 'hot_goal',
+  srcs = [
+    'hot_goal.q',
+  ],
+)
+
+queue_library(
+  name = 'auto_mode',
+  srcs = [
+    'auto_mode.q',
+  ],
+)
diff --git a/y2014/wpilib/BUILD b/y2014/wpilib/BUILD
new file mode 100644
index 0000000..ac2c1cf
--- /dev/null
+++ b/y2014/wpilib/BUILD
@@ -0,0 +1,36 @@
+package(default_visibility = ['//visibility:public'])
+
+cc_binary(
+  name = 'wpilib_interface',
+  srcs = [
+    'wpilib_interface.cc',
+  ],
+  deps = [
+    '//aos/linux_code:init',
+    '//aos/common:stl_mutex',
+    '//aos/common/logging',
+    '//third_party/WPILib',
+    '//y2014:constants',
+    '//y2014/queues:auto_mode',
+    '//y2014/control_loops/drivetrain:drivetrain_queue',
+    '//y2014/control_loops/shooter:shooter_queue',
+    '//y2014/control_loops/claw:claw_queue',
+    '//aos/common/controls:control_loop',
+    '//aos/common/util:log_interval',
+    '//aos/common:time',
+    '//aos/common/logging:queue_logging',
+    '//aos/common/messages:robot_state',
+    '//aos/common/util:phased_loop',
+    '//aos/common/messages:robot_state',
+    '//frc971/wpilib:hall_effect',
+    '//frc971/wpilib:joystick_sender',
+    '//frc971/wpilib:loop_output_handler',
+    '//frc971/wpilib:buffered_pcm',
+    '//frc971/wpilib:gyro_sender',
+    '//frc971/wpilib:dma_edge_counting',
+    '//frc971/wpilib:interrupt_edge_counting',
+    '//frc971/wpilib:encoder_and_potentiometer',
+    '//frc971/control_loops:queues',
+    '//frc971/wpilib:logging_queue',
+  ],
+)