1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef TOOLS_GN_SCRIPT_TARGET_GENERATOR_H_ 6 #define TOOLS_GN_SCRIPT_TARGET_GENERATOR_H_ 7 8 #include "base/compiler_specific.h" 9 #include "tools/gn/target_generator.h" 10 11 // Populates a Target with the values from a custom script rule. 12 class ScriptTargetGenerator : public TargetGenerator { 13 public: 14 ScriptTargetGenerator(Target* target, 15 Scope* scope, 16 const FunctionCallNode* function_call, 17 Err* err); 18 virtual ~ScriptTargetGenerator(); 19 20 protected: 21 virtual void DoRun() OVERRIDE; 22 23 private: 24 void FillScript(); 25 void FillScriptArgs(); 26 void FillDepfile(); 27 28 DISALLOW_COPY_AND_ASSIGN(ScriptTargetGenerator); 29 }; 30 31 #endif // TOOLS_GN_SCRIPT_TARGET_GENERATOR_H_ 32