implemented and tested PrintField
diff --git a/aos/common/common.gyp b/aos/common/common.gyp
index a774936..7c38c53 100644
--- a/aos/common/common.gyp
+++ b/aos/common/common.gyp
@@ -44,8 +44,12 @@
     {
       'target_name': 'queue_types',
       'type': 'static_library',
+      'variables': {
+        'print_field_cc': '<(SHARED_INTERMEDIATE_DIR)/print_field.cc',
+      },
       'sources': [
         'queue_types.cc',
+        '<(print_field_cc)',
       ],
       'dependencies': [
         '<(AOS)/build/aos.gyp:logging_interface',
@@ -53,6 +57,23 @@
         '<(AOS)/linux_code/ipc_lib/ipc_lib.gyp:core_lib',
         'mutex',
       ],
+      'actions': [
+        {
+          'variables': {
+            'script': '<(AOS)/build/queues/print_field.rb',
+          },
+          'action_name': 'gen_print_field',
+          'inputs': [
+            '<(script)',
+            '<!@(find <(AOS)/build/queues/ -name *.rb)',
+          ],
+          'outputs': [
+            '<(print_field_cc)',
+          ],
+          'action': ['ruby', '<(script)', '<(print_field_cc)'],
+          'message': 'Generating print_field.cc',
+        },
+      ],
     },
     {
       'target_name': 'queue_types_test',