两个正确构建我的目标,我需要在介子中链接两个自定义命令:
- 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@
.但是我如何指定介子在@OUTPUTDIR@
中寻找gtk-image-viewer.c
?
例如,您可以将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@'],
)