1

两个正确构建我的目标,我需要在介子中链接两个自定义命令:

  • gob2 - 将 .gob 文件转换为一对 .c 和 .h 文件
  • patch_src - 一个小的 python 程序,可以制作 gob2 输出的小补丁。

但我不知道如何给 patch_src 命令提供 gob2 程序的输出作为输入。如果我执行以下操作:

gob2 = find_program('gob2')
patch_src = find_program('patch_src')

gen_src = custom_target('gen-output',
  output : ['gtk-image-viewer.h','gtk-image-viewer-private.h','gtk-image-viewer.c'],
  input : 'gtk-image-viewer.gob',
  command : [gob2, '-o', '@OUTDIR@', '@INPUT@'],
  )

fixed_src = custom_target('patch-output',
  output : ['gtk-image-viewer-fixed.c'],
  input : 'gtk-image-viewer.c',
  command : [patch_src, 'gtk-image-viewer.c','@OUTPUT@'],
  )

我显然得到了gtk-image-viewer.c未找到的错误,这是有道理的,因为它被写入@OUTPUTDIR@. gtk-image-viewer.c但是我如何指定介子在其中寻找@OUTPUTDIR@

4

1 回答 1

2

gen_src[3]例如,您可以input直接传递,介子将设置依赖关系并使用正确的路径。

fixed_src = custom_target('patch-output',
  output : ['gtk-image-viewer-fixed.c'],
  input  : gen_src[3],
  command : [patch_src, '@INPUT@','@OUTPUT@'],
)
于 2018-04-06T10:03:35.157 回答