Allow target to define deps.
This commit is contained in:
		
							parent
							
								
									4aa8bde693
								
							
						
					
					
						commit
						01840c7312
					
				
					 1 changed files with 19 additions and 7 deletions
				
			
		|  | @ -29,12 +29,19 @@ def genNinja(out: TextIO, manifests: dict, target: dict) -> None: | ||||||
| 
 | 
 | ||||||
|     writer.comment("Rules:") |     writer.comment("Rules:") | ||||||
|     writer.rule( |     writer.rule( | ||||||
|         "cc", "$cc -c -o $out $in -MD -MF $out.d $ccflags", depfile="$out.d") |         "cc", "$cc -c -o $out $in -MD -MF $out.d $ccflags", | ||||||
|  |         depfile="$out.d") | ||||||
|  | 
 | ||||||
|     writer.rule( |     writer.rule( | ||||||
|         "cxx", "$cxx -c -o $out $in -MD -MF $out.d $cxxflags", depfile="$out.d") |         "cxx", "$cxx -c -o $out $in -MD -MF $out.d $cxxflags", | ||||||
|  |         depfile="$out.d") | ||||||
|  | 
 | ||||||
|     writer.rule("ld", "$ld -o $out $in $ldflags") |     writer.rule("ld", "$ld -o $out $in $ldflags") | ||||||
|  | 
 | ||||||
|     writer.rule("ar", "$ar crs $out $in") |     writer.rule("ar", "$ar crs $out $in") | ||||||
|  | 
 | ||||||
|     writer.rule("as", "$as -o $out $in $asflags") |     writer.rule("as", "$as -o $out $in $asflags") | ||||||
|  | 
 | ||||||
|     writer.newline() |     writer.newline() | ||||||
| 
 | 
 | ||||||
|     writer.comment("Build:") |     writer.comment("Build:") | ||||||
|  | @ -46,21 +53,26 @@ def genNinja(out: TextIO, manifests: dict, target: dict) -> None: | ||||||
| 
 | 
 | ||||||
|         for obj in item["objs"]: |         for obj in item["objs"]: | ||||||
|             if obj[1].endswith(".c"): |             if obj[1].endswith(".c"): | ||||||
|                 writer.build(obj[0], "cc", obj[1]) |                 writer.build( | ||||||
|  |                     obj[0], "cc", obj[1], order_only=target["tools"]["cc"].get("files", "")) | ||||||
|             elif obj[1].endswith(".cpp"): |             elif obj[1].endswith(".cpp"): | ||||||
|                 writer.build(obj[0], "cxx", obj[1]) |                 writer.build( | ||||||
|  |                     obj[0], "cxx", obj[1], order_only=target["tools"]["cxx"].get("files", "")) | ||||||
|             elif obj[1].endswith(".s"): |             elif obj[1].endswith(".s"): | ||||||
|                 writer.build(obj[0], "as", obj[1]) |                 writer.build( | ||||||
|  |                     obj[0], "as", obj[1], order_only=target["tools"]["as"].get("files", "")) | ||||||
| 
 | 
 | ||||||
|         writer.newline() |         writer.newline() | ||||||
| 
 | 
 | ||||||
|         objs = [x[0] for x in item["objs"]] |         objs = [x[0] for x in item["objs"]] | ||||||
| 
 | 
 | ||||||
|         if item["type"] == "lib": |         if item["type"] == "lib": | ||||||
|             writer.build(item["out"], "ar", objs) |             writer.build(item["out"], "ar", objs, | ||||||
|  |                          order_only=target["tools"]["ar"].get("files", "")) | ||||||
|         else: |         else: | ||||||
|             objs = objs + item["libs"] |             objs = objs + item["libs"] | ||||||
|             writer.build(item["out"], "ld", objs) |             writer.build(item["out"], "ld", objs, | ||||||
|  |                          order_only=target["tools"]["ld"].get("files", "")) | ||||||
| 
 | 
 | ||||||
|         all.append(item["out"]) |         all.append(item["out"]) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue