copied everything over from 2012 and removed all of the actual robot code except the drivetrain stuff


git-svn-id: https://robotics.mvla.net/svn/frc971/2013/trunk/src@4078 f308d9b7-e957-4cde-b6ac-9a88185e7312
diff --git a/aos/build/aos.gyp b/aos/build/aos.gyp
new file mode 100644
index 0000000..b6bd3ee
--- /dev/null
+++ b/aos/build/aos.gyp
@@ -0,0 +1,156 @@
+# This file has all of the aos targets.
+# For the cRIO, shared_library means to build a .out file, NOT a shared library.
+#   This means that depending on shared libraries doesn't work very well.
+# Shared libraries don't seem to be supported by the powerpc-wrs-vxworks
+# tools and gyp doesn't like a static_library that depends on static_librarys.
+{
+  'variables': {
+    'conditions': [
+      ['OS=="crio"', {
+          'libaos_source_files': [
+            '<!@(find <(AOS)/crio/controls <(AOS)/crio/messages <(AOS)/crio/motor_server <(AOS)/crio/shared_libs -name *.c -or -name *.cpp -or -name *.cc)',
+            '<(AOS)/crio/Talon.cpp',
+            '<(AOS)/common/die.cc',
+          ],
+        }, {
+          'libaos_source_files': [
+            '<(AOS)/atom_code/camera/Buffers.cpp',
+            '<(AOS)/atom_code/async_action/AsyncAction_real.cpp',
+            '<(AOS)/atom_code/init.cc',
+            '<(AOS)/atom_code/ipc_lib/mutex.cpp',
+            '<(AOS)/common/die.cc',
+          ],
+        }
+      ],
+    ],
+  },
+  'targets': [
+    {
+      'target_name': 'logging',
+      'type': 'static_library',
+      'conditions': [
+        ['OS=="crio"', {
+          'sources': [
+            '<(AOS)/crio/logging/crio_logging.cpp',
+          ],
+          'dependencies': [
+            '<(EXTERNALS):WPILib',
+          ]
+        }, {
+          'sources': [
+            '<(AOS)/atom_code/logging/atom_logging.cpp'
+          ],
+          'dependencies': [
+            '<(AOS)/atom_code/ipc_lib/ipc_lib.gyp:ipc_lib',
+          ],
+          'export_dependent_settings': [
+            '<(AOS)/atom_code/ipc_lib/ipc_lib.gyp:ipc_lib',
+          ]
+        }],
+      ],
+      'dependencies': [
+        '<(AOS)/common/common.gyp:time',
+      ],
+    },
+    {
+# Private to make Brian happy.  Don't use elsewhere in so targets or risk things
+# breaking.
+      'target_name': 'aos_swig',
+      'type': 'static_library',
+      'sources': [
+        '<(AOS)/aos.swig',
+      ],
+      'variables': {
+        'package': 'aos',
+      },
+      'dependencies': [
+        '<(AOS)/common/common.gyp:queues',
+      ],
+      'includes': ['../build/swig.gypi'],
+    },
+    {
+      'target_name': 'libaos',
+      'type': 'static_library',
+      'sources': ['<@(libaos_source_files)'],
+      'sources/': [['exclude', '_test\.c[cp]*$']],
+      'dependencies': [
+        '<(AOS)/common/messages/messages.gyp:aos_queues',
+        'logging',
+        '<(EXTERNALS):WPILib',
+      ],
+      'export_dependent_settings': [
+        '<(AOS)/common/messages/messages.gyp:aos_queues',
+        '<(EXTERNALS):WPILib',
+      ],
+      'conditions': [
+        ['OS=="atom"', {
+          'dependencies': [
+            '<(AOS)/atom_code/ipc_lib/ipc_lib.gyp:ipc_lib',
+          ],
+        }]
+      ],
+    },
+    {
+      'target_name': 'aos_shared_lib',
+      'type': 'shared_library',
+      'sources': ['<@(libaos_source_files)'],
+      'sources/': [['exclude', '_test\.c[cp]*$']],
+      'variables': {'no_rsync': 1},
+      'dependencies': [
+        '<(AOS)/common/messages/messages.gyp:queues_so',
+        '<(AOS)/common/common.gyp:queues',
+        'aos_swig',
+        '<(EXTERNALS):WPILib',
+      ],
+      'export_dependent_settings': [
+        '<(AOS)/common/messages/messages.gyp:queues_so',
+        '<(EXTERNALS):WPILib',
+        'aos_swig',
+      ],
+      'direct_dependent_settings': {
+        'variables': {
+          'jni_libs': [
+            'aos_shared_lib',
+          ],
+        },
+      },
+    },
+    {
+# A target that has all the same dependencies as libaos and aos_shared_lib
+#   without any queues so that the queues can get the necessary headers without
+#   creating circular dependencies.
+      'target_name': 'aos_internal_nolib',
+      'type': 'none',
+      'dependencies': [
+        'aos/ResourceList.h',
+        '<(EXTERNALS):WPILib',
+      ],
+      'export_dependent_settings': [
+        'aos/ResourceList.h',
+        '<(EXTERNALS):WPILib',
+      ],
+    },
+    {
+      'target_name': 'aos/ResourceList.h',
+      'type': 'static_library',
+      'direct_dependent_settings': {
+        'include_dirs': [
+          '<(SHARED_INTERMEDIATE_DIR)/ResourceList',
+        ],
+      },
+      'hard_dependency': 1,
+      'actions': [
+        {
+          'variables': {
+            'script': '<(AOS)/build/gen_resource_list.rb'
+          },
+          'action_name': 'gen_aos_ResourceList_h',
+          'inputs': ['<(script)'],
+          'outputs': ['<(SHARED_INTERMEDIATE_DIR)/ResourceList/aos/ResourceList.h'],
+          'message': 'Generating',
+          'action': ['ruby', '<(script)', '<(SHARED_INTERMEDIATE_DIR)/ResourceList/aos',],
+        },
+      ],
+    },
+  ],
+}