split skia.gyp into separate gypfile for each source dir
see http://codereview.appspot.com/4527084/

Now, to build out/Debug/SampleApp on Linux, do the following:

cd trunk/gyp
rm -rf Makefile *mk *.Makefile out
./gyp_skia -fmake --ignore-environment "--toplevel-dir=$PWD" \
  -Icommon.gypi "--depth=$PWD" SampleApp.gyp
make



git-svn-id: http://skia.googlecode.com/svn/trunk@1446 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/gyp/gpu.gyp b/gyp/gpu.gyp
new file mode 100644
index 0000000..bbfa460
--- /dev/null
+++ b/gyp/gpu.gyp
@@ -0,0 +1,285 @@
+{
+  'includes': [
+    'target_defaults.gypi',
+  ],
+  'targets': [
+    {
+      'target_name': 'skgr',
+      'type': 'static_library',
+      'include_dirs': [
+        '../include/config',
+        '../include/core',
+        '../src/core',
+        '../include/gpu',
+        '../gpu/include',
+      ],
+      'sources': [
+        '../include/gpu/SkGpuCanvas.h',
+        '../include/gpu/SkGpuDevice.h',
+        '../include/gpu/SkGpuDeviceFactory.h',
+        '../include/gpu/SkGr.h',
+        '../include/gpu/SkGrTexturePixelRef.h',
+
+        '../src/gpu/GrPrintf_skia.cpp',
+        '../src/gpu/SkGpuCanvas.cpp',
+        '../src/gpu/SkGpuDevice.cpp',
+        '../src/gpu/SkGr.cpp',
+        '../src/gpu/SkGrFontScaler.cpp',
+        '../src/gpu/SkGrTexturePixelRef.cpp',
+      ],
+      'conditions': [
+          [ 'OS == "linux"', {
+          'defines': [
+              'GR_LINUX_BUILD=1',
+          ],
+          }],
+          [ 'OS == "mac"', {
+          'defines': [
+              'GR_MAC_BUILD=1',
+          ],
+          }],
+          [ 'OS == "win"', {
+          'defines': [
+              'GR_WIN32_BUILD=1',
+          ],
+          }],
+      ],
+      'direct_dependent_settings': {
+        'conditions': [
+          [ 'OS == "linux"', {
+            'defines': [
+              'GR_LINUX_BUILD=1',
+            ],
+          }],
+          [ 'OS == "mac"', {
+            'defines': [
+              'GR_MAC_BUILD=1',
+            ],
+          }],
+          [ 'OS == "win"', {
+            'defines': [
+              'GR_WIN32_BUILD=1',
+            ],
+          }],
+        ],
+        'include_dirs': [
+          '../include/gpu',
+        ],
+      },
+    },
+    {
+      'target_name': 'gr',
+      'type': 'static_library',
+      'include_dirs': [
+        '../gpu/include',
+        '../include/core',
+        '../include/config',
+      ],
+      'dependencies': [
+        'libtess.gyp:libtess',
+      ],
+      'sources': [
+        '../gpu/include/GrAllocator.h',
+        '../gpu/include/GrAllocPool.h',
+        '../gpu/include/GrAtlas.h',
+        '../gpu/include/GrClip.h',
+        '../gpu/include/GrClipIterator.h',
+        '../gpu/include/GrColor.h',
+        '../gpu/include/GrConfig.h',
+        '../gpu/include/GrContext.h',
+        '../gpu/include/GrContext_impl.h',
+        '../gpu/include/GrDrawTarget.h',
+        '../gpu/include/GrFontScaler.h',
+        '../gpu/include/GrGeometryBuffer.h',
+        '../gpu/include/GrGLConfig.h',
+        '../gpu/include/GrGLConfig_chrome.h',
+        '../gpu/include/GrGLIndexBuffer.h',
+        '../gpu/include/GrGLInterface.h',
+        '../gpu/include/GrGLIRect.h',
+        '../gpu/include/GrGLTexture.h',
+        '../gpu/include/GrGLVertexBuffer.h',
+        '../gpu/include/GrGlyph.h',
+        '../gpu/include/GrGpu.h',
+        '../gpu/include/GrGpuVertex.h',
+        '../gpu/include/GrIndexBuffer.h',
+        '../gpu/include/GrInOrderDrawBuffer.h',
+        '../gpu/include/GrInstanceCounter.h',
+        '../gpu/include/GrIPoint.h',
+        '../gpu/include/GrKey.h',
+        '../gpu/include/GrMatrix.h',
+        '../gpu/include/GrMemory.h',
+        '../gpu/include/GrMesh.h',
+        '../gpu/include/GrNoncopyable.h',
+        '../gpu/include/GrPaint.h',
+        '../gpu/include/GrPath.h',
+        '../gpu/include/GrPathRenderer.h',
+        '../gpu/include/GrPathSink.h',
+        '../gpu/include/GrPlotMgr.h',
+        '../gpu/include/GrPoint.h',
+        '../gpu/include/GrRandom.h',
+        '../gpu/include/GrRect.h',
+        '../gpu/include/GrRectanizer.h',
+        '../gpu/include/GrRefCnt.h',
+        '../gpu/include/GrResource.h',
+        '../gpu/include/GrSamplerState.h',
+        '../gpu/include/GrScalar.h',
+        '../gpu/include/GrStencil.h',
+        '../gpu/include/GrStopwatch.h',
+        '../gpu/include/GrStringBuilder.h',
+        '../gpu/include/GrTArray.h',
+        '../gpu/include/GrTBSearch.h',
+        '../gpu/include/GrTDArray.h',
+        '../gpu/include/GrTesselatedPathRenderer.h',
+        '../gpu/include/GrTextContext.h',
+        '../gpu/include/GrTextStrike.h',
+        '../gpu/include/GrTexture.h',
+        '../gpu/include/GrTextureCache.h',
+        '../gpu/include/GrTHashCache.h',
+        '../gpu/include/GrTLList.h',
+        '../gpu/include/GrTouchGesture.h',
+        '../gpu/include/GrTypes.h',
+        '../gpu/include/GrUserConfig.h',
+        '../gpu/include/GrVertexBuffer.h',
+
+        '../gpu/src/GrAllocPool.cpp',
+        '../gpu/src/GrAtlas.cpp',
+        '../gpu/src/GrBinHashKey.h',
+        '../gpu/src/GrBufferAllocPool.cpp',
+        '../gpu/src/GrBufferAllocPool.h',
+        '../gpu/src/GrClip.cpp',
+        '../gpu/src/GrContext.cpp',
+        '../gpu/src/GrCreatePathRenderer_none.cpp',
+        '../gpu/src/GrDrawTarget.cpp',
+        '../gpu/src/GrGLDefaultInterface_none.cpp',
+        '../gpu/src/GrGLIndexBuffer.cpp',
+        '../gpu/src/GrGLInterface.cpp',
+        '../gpu/src/GrGLProgram.cpp',
+        '../gpu/src/GrGLProgram.h',
+        '../gpu/src/GrGLTexture.cpp',
+        '../gpu/src/GrGLUtil.cpp',
+        '../gpu/src/GrGLVertexBuffer.cpp',
+        '../gpu/src/GrGpu.cpp',
+        '../gpu/src/GrGpuFactory.cpp',
+        '../gpu/src/GrGpuGL.cpp',
+        '../gpu/src/GrGpuGL.h',
+        '../gpu/src/GrGpuGLFixed.cpp',
+        '../gpu/src/GrGpuGLFixed.h',
+        '../gpu/src/GrGpuGLShaders.cpp',
+        '../gpu/src/GrGpuGLShaders.h',
+        '../gpu/src/GrInOrderDrawBuffer.cpp',
+        '../gpu/src/GrMatrix.cpp',
+        '../gpu/src/GrMemory.cpp',
+        '../gpu/src/GrPathRenderer.cpp',
+        '../gpu/src/GrPathUtils.cpp',
+        '../gpu/src/GrPathUtils.h',
+        '../gpu/src/GrRectanizer.cpp',
+        '../gpu/src/GrRedBlackTree.h',
+        '../gpu/src/GrResource.cpp',
+        '../gpu/src/GrStencil.cpp',
+        '../gpu/src/GrTesselatedPathRenderer.cpp',
+        '../gpu/src/GrTextContext.cpp',
+        '../gpu/src/GrTextStrike.cpp',
+        '../gpu/src/GrTextStrike_impl.h',
+        '../gpu/src/GrTexture.cpp',
+        '../gpu/src/GrTextureCache.cpp',
+        '../gpu/src/gr_unittests.cpp',
+
+        '../gpu/src/mac/GrGLDefaultInterface_mac.cpp',
+
+        '../gpu/src/win/GrGLDefaultInterface_win.cpp',
+
+        '../gpu/src/unix/GrGLDefaultInterface_unix.cpp',
+
+        '../gpu/src/mesa/GrGLDefaultInterface_mesa.cpp',
+      ],
+      'sources!': [
+        '../gpu/src/mesa/GrGLDefaultInterface_mesa.cpp',
+      ],
+      'defines': [
+        'GR_IMPLEMENTATION=1',
+      ],
+      'conditions': [
+        [ 'OS == "linux"', {
+          'defines': [
+              'GR_LINUX_BUILD=1',
+          ],
+          'sources!': [
+            '../gpu/src/GrGLDefaultInterface_none.cpp',
+          ],
+          'link_settings': {
+            'libraries': [
+              '-lGL',
+              '-lX11',
+            ],
+          },
+        }],
+        [ 'OS == "mac"', {
+          'defines': [
+              'GR_MAC_BUILD=1',
+          ],
+          'link_settings': {
+            'libraries': [
+              '$(SDKROOT)/System/Library/Frameworks/OpenGL.framework',
+            ],
+          },
+          'sources!': [
+            '../gpu/src/GrGLDefaultInterface_none.cpp',
+          ],
+          }],
+        [ 'OS == "win"', {
+          'defines': [
+            'GR_WIN32_BUILD=1',
+            'GR_GL_FUNCTION_TYPE=__stdcall',
+          ],
+          'sources!': [
+            '../gpu/src/GrGLDefaultInterface_none.cpp',
+          ],
+        }],
+        [ 'OS != "win"', {
+          'sources!': [
+            '../gpu/src/win/GrGLDefaultInterface_win.cpp',
+          ],
+        }],
+        [ 'OS != "mac"', {
+          'sources!': [
+            '../gpu/src/mac/GrGLDefaultInterface_mac.cpp',
+          ],
+        }],
+        [ 'OS != "linux"', {
+          'sources!': [
+            '../gpu/src/unix/GrGLDefaultInterface_unix.cpp',
+          ],
+        }],
+      ],
+      'direct_dependent_settings': {
+        'conditions': [
+          [ 'OS == "linux"', {
+            'defines': [
+              'GR_LINUX_BUILD=1',
+            ],
+          }],
+          [ 'OS == "mac"', {
+            'defines': [
+              'GR_MAC_BUILD=1',
+            ],
+          }],
+          [ 'OS == "win"', {
+            'defines': [
+              'GR_WIN32_BUILD=1',
+              'GR_GL_FUNCTION_TYPE=__stdcall',
+            ],
+          }],
+        ],
+        'include_dirs': [
+          '../gpu/include',
+        ],
+      },
+    },
+  ],
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2: