Finish auto-converting most of the gyp files.

I've also started writing down which ones need manual work.

Change-Id: I442782e1e3352e0de32b612f1bd2c167f231495a
diff --git a/aos/common/BUILD b/aos/common/BUILD
index 32b0f3b..55f1a03 100644
--- a/aos/common/BUILD
+++ b/aos/common/BUILD
@@ -1,36 +1,41 @@
-"""
-aos_queue(
+package(default_visibility = ['//visibility:public'])
+
+load('/aos/build/queues', 'queue_library')
+
+queue_library(
   name = 'test_queue',
   srcs = [
     'test_queue.q',
   ],
 )
-"""
 
 cc_library(
   name = 'queue_testutils',
   srcs = [
     'queue_testutils.cc',
   ],
+  hdrs = [
+    'queue_testutils.h',
+  ],
   deps = [
+    '//aos/common/logging',
     ':once',
-    ':mutex',
-    '//aos/build:logging',
     '//aos/linux_code/ipc_lib:shared_mem',
+    ':mutex',
   ],
 )
 
 cc_library(
   name = 'time',
-  hdrs = [
-    'time.h',
-  ],
   srcs = [
     'time.cc',
   ],
+  hdrs = [
+    'time.h',
+  ],
   deps = [
+    '//aos/common/logging:logging_interface',
     ':mutex',
-    '//aos/build:logging_interface',
   ],
 )
 
@@ -39,4 +44,219 @@
   srcs = [
     'queue_types.cc',
   ],
+  hdrs = [
+    'queue_types.h',
+  ],
+  deps = [
+    '//aos/common/logging:logging_interface',
+    '//aos/linux_code/ipc_lib:shared_mem',
+    '//aos/linux_code/ipc_lib:core_lib',
+    ':mutex',
+    ':time',
+  ],
+)
+
+cc_test(
+  name = 'queue_types_test',
+  srcs = [
+    'queue_types_test.cc',
+  ],
+  deps = [
+    ':queue_types',
+    '//third_party/gtest',
+    ':test_queue',
+    '//aos/common/logging',
+    ':queue_testutils',
+  ],
+)
+
+cc_library(
+  name = 'queues',
+  srcs = [
+    'queue.cc',
+  ],
+  hdrs = [
+    'queue.h',
+  ],
+  deps = [
+    '//aos/linux_code/ipc_lib:queue',
+    ':time',
+  ],
+)
+
+cc_library(
+  name = 'scoped_fd',
+  deps = [
+    '//aos/common/logging',
+  ],
+)
+
+cc_test(
+  name = 'queue_test',
+  srcs = [
+    'queue_test.cc',
+  ],
+  deps = [
+    '//third_party/gtest',
+    ':queue_testutils',
+    ':test_queue',
+    '//aos/common/util:thread',
+    ':die',
+  ],
+)
+
+cc_test(
+  name = 'type_traits_test',
+  srcs = [
+    'type_traits_test.cpp',
+  ],
+  deps = [
+    '//third_party/gtest',
+  ],
+)
+
+cc_library(
+  name = 'gtest_prod',
+  deps = [
+    '//third_party/gtest_prod',
+  ],
+)
+
+cc_library(
+  name = 'once',
+  deps = [
+    '//third_party/gtest_prod',
+  ],
+)
+
+cc_test(
+  name = 'once_test',
+  srcs = [
+    'once_test.cc',
+  ],
+  deps = [
+    '//third_party/gtest',
+    ':once',
+  ],
+)
+
+cc_test(
+  name = 'time_test',
+  srcs = [
+    'time_test.cc',
+  ],
+  deps = [
+    '//third_party/gtest',
+    ':time',
+    '//aos/common/logging',
+    '//aos/common/util:death_test_log_implementation',
+  ],
+)
+
+cc_library(
+  name = 'die',
+  srcs = [
+    'die.cc',
+  ],
+  hdrs = [
+    'die.h',
+  ],
+  deps = [
+    '//aos/common/libc:aos_strerror',
+  ],
+)
+
+cc_test(
+  name = 'queue_testutils_test',
+  srcs = [
+    'queue_testutils_test.cc',
+  ],
+  deps = [
+    '//third_party/gtest',
+    ':queue_testutils',
+    '//aos/common/logging',
+  ],
+)
+
+cc_test(
+  name = 'mutex_test',
+  srcs = [
+    'mutex_test.cc',
+  ],
+  deps = [
+    '//third_party/gtest',
+    ':mutex',
+    ':die',
+    '//aos/common/logging',
+    '//aos/common/util:death_test_log_implementation',
+    '//aos/common/util:thread',
+    '//aos/common:time',
+    ':queue_testutils',
+  ],
+)
+
+cc_test(
+  name = 'event_test',
+  srcs = [
+    'event_test.cc',
+  ],
+  deps = [
+    '//third_party/gtest',
+    ':event',
+    ':queue_testutils',
+    ':time',
+  ],
+)
+
+cc_test(
+  name = 'condition_test',
+  srcs = [
+    'condition_test.cc',
+  ],
+  deps = [
+    '//third_party/gtest',
+    ':condition',
+    '//aos/common/util:thread',
+    ':time',
+    ':mutex',
+    '//aos/common/logging',
+    ':queue_testutils',
+    '//aos/linux_code/ipc_lib:core_lib',
+    '//aos/linux_code/ipc_lib:aos_sync',
+    ':die',
+    '//aos/common/util:thread',
+  ],
+)
+
+cc_test(
+  name = 'die_test',
+  srcs = [
+    'die_test.cc',
+  ],
+  deps = [
+    '//third_party/gtest',
+    ':die',
+  ],
+)
+
+cc_library(
+  name = 'stl_mutex',
+  deps = [
+    '//aos/linux_code/ipc_lib:aos_sync',
+    '//aos/common/logging',
+  ],
+)
+
+cc_test(
+  name = 'stl_mutex_test',
+  srcs = [
+    'stl_mutex_test.cc',
+  ],
+  deps = [
+    ':stl_mutex',
+    '//third_party/gtest',
+    ':queue_testutils',
+    '//aos/common/util:thread',
+    ':die',
+  ],
 )
diff --git a/aos/common/actions/BUILD b/aos/common/actions/BUILD
new file mode 100644
index 0000000..22db816
--- /dev/null
+++ b/aos/common/actions/BUILD
@@ -0,0 +1,59 @@
+package(default_visibility = ['//visibility:public'])
+
+load('/aos/build/queues', 'queue_library')
+
+cc_library(
+  name = 'action_lib',
+  srcs = [
+    'actions.cc',
+    'actor.cc',
+  ],
+  hdrs = [
+    'actions.h',
+    'actor.h',
+  ],
+  deps = [
+    '//aos/common/logging',
+    '//aos/common:queues',
+    '//aos/common/logging:queue_logging',
+    '//aos/common:time',
+    '//aos/common/controls:control_loop',
+    '//aos/common/util:phased_loop',
+  ],
+)
+
+queue_library(
+  name = 'action_queue',
+  srcs = [
+    'actions.q',
+  ],
+)
+
+queue_library(
+  name = 'test_action_queue',
+  srcs = [
+    'test_action.q',
+  ],
+  deps = [
+    ':action_queue',
+  ],
+)
+
+cc_test(
+  name = 'action_test',
+  srcs = [
+    'action_test.cc',
+  ],
+  deps = [
+    '//third_party/gtest',
+    ':action_lib',
+    ':test_action_queue',
+    '//aos/common:queue_testutils',
+    '//aos/common/logging',
+    '//aos/common/logging:queue_logging',
+    '//aos/common:queues',
+    '//aos/common:time',
+    ':action_queue',
+    '//aos/linux_code/ipc_lib:event',
+  ],
+)
diff --git a/aos/common/common.gyp b/aos/common/common.gyp
index 461200e..17df955 100644
--- a/aos/common/common.gyp
+++ b/aos/common/common.gyp
@@ -4,7 +4,7 @@
       'target_name': 'test_queue',
       'type': 'static_library',
       'sources': [
-        '<(AOS)/common/test_queue.q',
+        'test_queue.q',
       ],
       'variables': {
         'header_path': 'aos/common',
diff --git a/aos/common/controls/BUILD b/aos/common/controls/BUILD
new file mode 100644
index 0000000..c021714
--- /dev/null
+++ b/aos/common/controls/BUILD
@@ -0,0 +1,65 @@
+package(default_visibility = ['//visibility:public'])
+
+load('/aos/build/queues', 'queue_library')
+
+cc_library(
+  name = 'replay_control_loop',
+  deps = [
+    '//aos/common:queues',
+    ':control_loop',
+    '//aos/linux_code/logging:log_replay',
+    '//aos/common/logging:queue_logging',
+    '//aos/common:time',
+  ],
+)
+
+cc_library(
+  name = 'control_loop_test',
+  srcs = [
+    'control_loop_test.cc',
+  ],
+  hdrs = [
+    'control_loop_test.h',
+  ],
+  deps = [
+    '//aos/common:time',
+    '//aos/common/messages:robot_state',
+    '//third_party/gtest',
+    '//aos/common:queue_testutils',
+  ],
+)
+
+cc_library(
+  name = 'polytope',
+  deps = [
+    '//third_party/eigen',
+    '//third_party/libcdd',
+  ],
+)
+
+queue_library(
+  name = 'control_loop_queues',
+  srcs = [
+    'control_loops.q',
+  ],
+)
+
+cc_library(
+  name = 'control_loop',
+  srcs = [
+    'control_loop.cc',
+  ],
+  hdrs = [
+    'control_loop.h',
+  ],
+  deps = [
+    '//aos/common/messages:robot_state',
+    '//aos/common/logging',
+    '//aos/common/util:phased_loop',
+    '//aos/common:time',
+    ':control_loop_queues',
+    '//aos/common/logging:queue_logging',
+    '//aos/common/util:log_interval',
+    '//aos/common:queues',
+  ],
+)
diff --git a/aos/common/controls/controls.gyp b/aos/common/controls/controls.gyp
index 4e0bc79..8af66be 100644
--- a/aos/common/controls/controls.gyp
+++ b/aos/common/controls/controls.gyp
@@ -57,7 +57,7 @@
     {
       'target_name': 'control_loop_queues',
       'type': 'static_library',
-      'sources': [ '<(AOS)/common/controls/control_loops.q' ],
+      'sources': [ 'control_loops.q' ],
       'variables': {
         'header_path': 'aos/common/controls',
       },
diff --git a/aos/common/input/BUILD b/aos/common/input/BUILD
new file mode 100644
index 0000000..2539f55
--- /dev/null
+++ b/aos/common/input/BUILD
@@ -0,0 +1,14 @@
+package(default_visibility = ['//visibility:public'])
+
+cc_library(
+  name = 'driver_station_data',
+  srcs = [
+    'driver_station_data.cc',
+  ],
+  hdrs = [
+    'driver_station_data.h',
+  ],
+  deps = [
+    '//aos/common/messages:robot_state',
+  ],
+)
diff --git a/aos/common/libc/BUILD b/aos/common/libc/BUILD
index fb27f3a..ad88f9d 100644
--- a/aos/common/libc/BUILD
+++ b/aos/common/libc/BUILD
@@ -5,6 +5,9 @@
   srcs = [
     'aos_strsignal.cc',
   ],
+  hdrs = [
+    'aos_strsignal.h',
+  ],
   deps = [
     '//aos/common/logging:logging_interface',
   ],
@@ -18,7 +21,7 @@
   deps = [
     ':aos_strsignal',
     '//third_party/gtest',
-    '//aos/common/logging:logging',
+    '//aos/common/logging',
   ],
 )
 
@@ -27,6 +30,9 @@
   srcs = [
     'dirname.cc',
   ],
+  hdrs = [
+    'dirname.h',
+  ],
 )
 
 cc_test(
@@ -35,6 +41,7 @@
     'dirname_test.cc',
   ],
   deps = [
+    ':dirname',
     '//third_party/gtest',
   ],
 )
@@ -44,6 +51,9 @@
   srcs = [
     'aos_strerror.cc',
   ],
+  hdrs = [
+    'aos_strerror.h',
+  ],
 )
 
 cc_test(
diff --git a/aos/common/logging/BUILD b/aos/common/logging/BUILD
index 181bcd5..db7f365 100644
--- a/aos/common/logging/BUILD
+++ b/aos/common/logging/BUILD
@@ -1,27 +1,43 @@
 package(default_visibility = ['//visibility:public'])
 
-cc_library(
-  name = 'logging_interface',
+cc_test(
+  name = 'logging_impl_test',
   srcs = [
-    'logging_interface.cc',
+    'logging_impl_test.cc',
   ],
   deps = [
-    '//aos/linux_code/logging:linux_interface',
-    '//aos/common:die',
-    '//aos/common/libc:aos_strerror',
+    '//third_party/gtest',
+    '//aos/common/logging',
   ],
 )
 
 cc_library(
-  name = 'logging',
+  name = 'queue_logging',
   srcs = [
-    'logging_impl.cc',
+    'queue_logging.cc',
+  ],
+  hdrs = [
+    'queue_logging.h',
   ],
   deps = [
-    '//aos/linux_code/logging:linux_logging',
-    '//aos/common:time',
-    '//aos/common:once',
-    ':logging_interface',
+    '//aos/common/logging',
+    '//aos/common:die',
     '//aos/common:queue_types',
   ],
 )
+
+cc_library(
+  name = 'matrix_logging',
+  srcs = [
+    'matrix_logging.cc',
+  ],
+  hdrs = [
+    'matrix_logging.h',
+  ],
+  deps = [
+    '//aos/common/logging',
+    '//aos/common:die',
+    '//aos/common:queue_types',
+    '//third_party/eigen',
+  ],
+)
diff --git a/aos/common/messages/BUILD b/aos/common/messages/BUILD
new file mode 100644
index 0000000..dc125dd
--- /dev/null
+++ b/aos/common/messages/BUILD
@@ -0,0 +1,10 @@
+package(default_visibility = ['//visibility:public'])
+
+load('/aos/build/queues', 'queue_library')
+
+queue_library(
+  name = 'robot_state',
+  srcs = [
+    'robot_state.q',
+  ],
+)
diff --git a/aos/common/network/BUILD b/aos/common/network/BUILD
new file mode 100644
index 0000000..a452e8f
--- /dev/null
+++ b/aos/common/network/BUILD
@@ -0,0 +1,37 @@
+package(default_visibility = ['//visibility:public'])
+
+cc_library(
+  name = 'team_number',
+  srcs = [
+    'team_number.cc',
+  ],
+  hdrs = [
+    'team_number.h',
+  ],
+  deps = [
+    '//aos/linux_code:configuration',
+    '//aos/common:once',
+    '//aos/common/logging',
+    '//aos/common/util:string_to_num',
+  ],
+)
+
+cc_library(
+  name = 'socket',
+  srcs = [
+    'receive_socket.cc',
+    'send_socket.cc',
+    'socket.cc',
+  ],
+  hdrs = [
+    'receive_socket.h',
+    'send_socket.h',
+    'socket.h',
+  ],
+  deps = [
+    '//aos/common/logging',
+    '//aos/common:time',
+    '//aos/common/util:inet_addr',
+    '//aos/linux_code:configuration',
+  ],
+)
diff --git a/aos/common/util/BUILD b/aos/common/util/BUILD
new file mode 100644
index 0000000..2409e00
--- /dev/null
+++ b/aos/common/util/BUILD
@@ -0,0 +1,148 @@
+package(default_visibility = ['//visibility:public'])
+
+cc_library(
+  name = 'run_command',
+  srcs = [
+    'run_command.cc',
+  ],
+  hdrs = [
+    'run_command.h',
+  ],
+  deps = [
+    '//aos/common/logging:logging_interface',
+  ],
+)
+
+cc_test(
+  name = 'run_command_test',
+  srcs = [
+    'run_command_test.cc',
+  ],
+  deps = [
+    ':run_command',
+    '//third_party/gtest',
+    '//aos/common/logging',
+    ':thread',
+  ],
+)
+
+cc_library(
+  name = 'death_test_log_implementation',
+  deps = [
+    '//aos/common/logging',
+  ],
+)
+
+cc_library(
+  name = 'inet_addr',
+  srcs = [
+    'inet_addr.cc',
+  ],
+  hdrs = [
+    'inet_addr.h',
+  ],
+)
+
+cc_library(
+  name = 'phased_loop',
+  srcs = [
+    'phased_loop.cc',
+  ],
+  hdrs = [
+    'phased_loop.h',
+  ],
+  deps = [
+    '//aos/common/logging',
+    '//aos/common:time',
+  ],
+)
+
+cc_library(
+  name = 'log_interval',
+  deps = [
+    '//aos/common:time',
+    '//aos/common/logging',
+  ],
+)
+
+cc_library(
+  name = 'string_to_num',
+)
+
+cc_test(
+  name = 'string_to_num_test',
+  srcs = [
+    'string_to_num_test.cc',
+  ],
+  deps = [
+    ':string_to_num',
+    '//third_party/gtest',
+  ],
+)
+
+cc_library(
+  name = 'thread',
+  srcs = [
+    'thread.cc',
+  ],
+  hdrs = [
+    'thread.h',
+  ],
+)
+
+cc_library(
+  name = 'trapezoid_profile',
+  srcs = [
+    'trapezoid_profile.cc',
+  ],
+  hdrs = [
+    'trapezoid_profile.h',
+  ],
+  deps = [
+    '//third_party/eigen',
+    '//aos/common:time',
+    '//aos/common/logging',
+  ],
+)
+
+cc_test(
+  name = 'trapezoid_profile_test',
+  srcs = [
+    'trapezoid_profile_test.cc',
+  ],
+  deps = [
+    ':trapezoid_profile',
+    '//third_party/gtest',
+  ],
+)
+
+cc_library(
+  name = 'wrapping_counter',
+  srcs = [
+    'wrapping_counter.cc',
+  ],
+  hdrs = [
+    'wrapping_counter.h',
+  ],
+)
+
+cc_test(
+  name = 'wrapping_counter_test',
+  srcs = [
+    'wrapping_counter_test.cc',
+  ],
+  deps = [
+    ':wrapping_counter',
+    '//third_party/gtest',
+  ],
+)
+
+cc_test(
+  name = 'options_test',
+  srcs = [
+    'options_test.cc',
+  ],
+  deps = [
+    '//third_party/gtest',
+  ],
+)
diff --git a/aos/linux_code/BUILD b/aos/linux_code/BUILD
index 7305bc7..63c970c 100644
--- a/aos/linux_code/BUILD
+++ b/aos/linux_code/BUILD
@@ -6,7 +6,7 @@
     'dump_rtprio.cc',
   ],
   deps = [
-    '//aos/common/logging:logging',
+    '//aos/common/logging',
     '//aos/common:time',
   ],
 )
@@ -14,7 +14,10 @@
 cc_library(
   name = 'complex_thread_local',
   srcs = [
-    'complex_thread_local.cc'
+    'complex_thread_local.cc',
+  ],
+  hdrs = [
+    'complex_thread_local.h',
   ],
   deps = [
     '//aos/common:once',
@@ -31,7 +34,7 @@
     ':complex_thread_local',
     '//third_party/gtest',
     '//aos/common/util:thread',
-    '//aos/common/logging:logging',
+    '//aos/common/logging',
   ],
 )
 
@@ -40,21 +43,27 @@
   srcs = [
     'init.cc',
   ],
+  hdrs = [
+    'init.h',
+  ],
   deps = [
     '//aos/linux_code/ipc_lib:shared_mem',
     '//aos/common:die',
-    '//aos/common/logging:logging',
+    '//aos/common/logging',
   ],
 )
 
 cc_library(
   name = 'configuration',
-  src = [
+  srcs = [
     'configuration.cc',
   ],
+  hdrs = [
+    'configuration.h',
+  ],
   deps = [
     '//aos/common:once',
-    '//aos/common/logging:logging',
+    '//aos/common/logging',
   ],
 )
 
diff --git a/aos/linux_code/ipc_lib/BUILD b/aos/linux_code/ipc_lib/BUILD
new file mode 100644
index 0000000..c511968
--- /dev/null
+++ b/aos/linux_code/ipc_lib/BUILD
@@ -0,0 +1,105 @@
+package(default_visibility = ['//visibility:public'])
+
+cc_library(
+  name = 'aos_sync',
+  srcs = [
+    'aos_sync.cc',
+  ],
+  hdrs = [
+    'aos_sync.h',
+  ],
+  deps = [
+    '//aos/common/logging:logging_interface',
+    '//aos/common:once',
+  ],
+)
+
+cc_library(
+  name = 'core_lib',
+  srcs = [
+    'core_lib.c',
+  ],
+  hdrs = [
+    'core_lib.h',
+  ],
+  deps = [
+    ':aos_sync',
+    ':shared_mem',
+  ],
+)
+
+cc_library(
+  name = 'shared_mem',
+  srcs = [
+    'shared_mem.c',
+  ],
+  hdrs = [
+    'shared_mem.h',
+  ],
+  deps = [
+    ':aos_sync',
+    '//aos/common/logging:logging_interface',
+  ],
+)
+
+cc_library(
+  name = 'queue',
+  srcs = [
+    'queue.cc',
+  ],
+  hdrs = [
+    'queue.h',
+  ],
+  deps = [
+    '//aos/linux_code/ipc_lib:condition',
+    '//aos/linux_code/ipc_lib:mutex',
+    ':core_lib',
+    '//aos/common/logging:logging_interface',
+  ],
+)
+
+cc_test(
+  name = 'raw_queue_test',
+  srcs = [
+    'raw_queue_test.cc',
+  ],
+  deps = [
+    '//third_party/gtest',
+    ':queue',
+    '//aos/common/logging',
+    ':core_lib',
+    '//aos/common:queue_testutils',
+    '//aos/common:time',
+    '//aos/common:die',
+    '//aos/common/util:thread',
+    '//aos/common/util:death_test_log_implementation',
+  ],
+)
+
+cc_test(
+  name = 'ipc_stress_test',
+  srcs = [
+    'ipc_stress_test.cc',
+  ],
+  tags = [
+    'manual',
+  ],
+  deps = [
+    '//third_party/gtest',
+    '//aos/common:time',
+    '//aos/common:queue_testutils',
+    '//aos/linux_code/ipc_lib:mutex',
+    ':core_lib',
+    '//aos/common:die',
+    '//aos/common/libc:dirname',
+    '//aos/common/libc:aos_strsignal',
+    '//aos/common/logging',
+  ],
+)
+
+cc_library(
+  name = 'scoped_message_ptr',
+  deps = [
+    ':queue',
+  ],
+)
diff --git a/aos/linux_code/logging/BUILD b/aos/linux_code/logging/BUILD
index fbd153f..a35cd0e 100644
--- a/aos/linux_code/logging/BUILD
+++ b/aos/linux_code/logging/BUILD
@@ -1,60 +1,72 @@
 package(default_visibility = ['//visibility:public'])
 
 cc_library(
-  name = 'linux_interface',
+  name = 'log_replay',
   srcs = [
-    'linux_interface.cc',
+    'log_replay.cc',
+  ],
+  hdrs = [
+    'log_replay.h',
   ],
   deps = [
-    '//aos/linux_code:complex_thread_local',
-    '//aos/common:die',
-    '//aos/common/libc:aos_strerror',
-  ],
-)
-
-cc_library(
-  name = 'linux_logging',
-  srcs = [
-    'linux_logging.cc',
-  ],
-  deps = [
+    ':binary_log_file',
+    '//aos/common:queues',
+    '//aos/common/logging',
     '//aos/linux_code/ipc_lib:queue',
+  ],
+)
+
+cc_binary(
+  name = 'binary_log_writer',
+  srcs = [
+    'binary_log_writer.cc',
+  ],
+  deps = [
+    '//aos/common/logging',
+    '//aos/linux_code:init',
+    '//aos/linux_code:configuration',
+    '//aos/common:die',
+    ':binary_log_file',
+    '//aos/common:queue_types',
+  ],
+)
+
+cc_binary(
+  name = 'log_streamer',
+  srcs = [
+    'log_streamer.cc',
+  ],
+  deps = [
+    '//aos/common/logging',
+    '//aos/linux_code:init',
     '//aos/common:time',
+    '//aos/linux_code/ipc_lib:queue',
   ],
 )
 
-cc_test(
-  name = 'logging_impl_test',
+cc_binary(
+  name = 'log_displayer',
   srcs = [
-    'logging_impl_test.cc',
+    'log_displayer.cc',
   ],
   deps = [
-    '//third_party/gtest',
-    '//aos/common/logging:logging',
+    '//aos/common/logging',
+    '//aos/linux_code:init',
+    ':binary_log_file',
+    '//aos/common:queue_types',
+    '//aos/linux_code:configuration',
   ],
 )
 
 cc_library(
-  name = 'queue_logging',
+  name = 'binary_log_file',
   srcs = [
-    'queue_logging.cc',
+    'binary_log_file.cc',
+  ],
+  hdrs = [
+    'binary_log_file.h',
   ],
   deps = [
-    '//aos/common/logging:logging',
-    '//aos/common:die',
-    '//aos/common:queue_types',
-  ],
-)
-
-cc_library(
-  name = 'matrix_logging',
-  srcs = [
-    'matrix_logging.cc',
-  ],
-  deps = [
-    '//aos/common/logging:logging',
-    '//aos/common:die',
-    '//aos/common:queue_types',
-    '//third_party/eigen',
+    '//aos/common/logging',
   ],
 )
diff --git a/aos/linux_code/output/BUILD b/aos/linux_code/output/BUILD
new file mode 100644
index 0000000..bcd63bd
--- /dev/null
+++ b/aos/linux_code/output/BUILD
@@ -0,0 +1,22 @@
+package(default_visibility = ['//visibility:public'])
+
+cc_library(
+  name = 'http_server',
+  srcs = [
+    'HTTPServer.cpp',
+    'evhttp_ctemplate_emitter.cc',
+    'ctemplate_cache.cc',
+  ],
+  hdrs = [
+    'HTTPServer.h',
+    'evhttp_ctemplate_emitter.h',
+    'ctemplate_cache.h',
+  ],
+  deps = [
+    '//third_party/libevent',
+    '//third_party/ctemplate',
+    '//aos/common:once',
+    '//aos/common:scoped_fd',
+    '//aos/common/logging',
+  ],
+)
diff --git a/aos/linux_code/starter/BUILD b/aos/linux_code/starter/BUILD
new file mode 100644
index 0000000..2e5a80c
--- /dev/null
+++ b/aos/linux_code/starter/BUILD
@@ -0,0 +1,17 @@
+package(default_visibility = ['//visibility:public'])
+
+cc_binary(
+  name = 'starter_exe',
+  srcs = [
+    'starter.cc',
+  ],
+  deps = [
+    '//aos/linux_code:init',
+    '//third_party/libevent',
+    '//aos/common/logging',
+    '//aos/common:once',
+    '//aos/common:time',
+    '//aos/common/libc:aos_strsignal',
+    '//aos/common/util:run_command',
+  ],
+)
diff --git a/aos/prime/input/BUILD b/aos/prime/input/BUILD
new file mode 100644
index 0000000..30cb053
--- /dev/null
+++ b/aos/prime/input/BUILD
@@ -0,0 +1,18 @@
+package(default_visibility = ['//visibility:public'])
+
+cc_library(
+  name = 'joystick_input',
+  srcs = [
+    'joystick_input.cc',
+  ],
+  hdrs = [
+    'joystick_input.h',
+  ],
+  deps = [
+    '//aos/common/input:driver_station_data',
+    '//aos/common/messages:robot_state',
+    '//aos/common/network:socket',
+    '//aos/common/logging',
+    '//aos/common/logging:queue_logging',
+  ],
+)