忽略仅来自 GNU make 的先决条件构建输出



这是一种简单的方法,可以忽略GNU make的构建prereqs的所有输出,但保留其余的所有输出(stdout和stderr(。 我正在使用一个随机使用任一流的脚本。 所以,例如,如果我有

t: main.native ${STUFF}
./${SCRIPTS}/run-tests

我怎样才能只做make t &> output并获取输出,而无需前面的先决条件中的所有重建信息(例如,仅来自上面示例中run-tests的输出(?

我仍然不太确定您要查找的内容,但是您可以这样做:

t: main.native ${STUFF}
@echo PREREQS_DONE
./${SCRIPTS}/run-tests
>make t | sed '1,/PREREQS_DONE/d'

或者这个:

t:
@$(MAKE) real_t  | sed '1,/PREREQS_DONE/d'
real_t: main.native ${STUFF}
@echo PREREQS_DONE
./${SCRIPTS}/run-tests

我怎样才能只做make t &>输出并获得输出,而无需预先添加先决条件中的所有重建信息(例如,在上面示例中仅来自运行测试的输出(?

首先main.native ${STUFF}生成目标,然后仅运行测试。 例如

tests : main.native ${STUFF}
run_tests : tests
./${SCRIPTS}/run-tests
.PHONY : tests run_tests

然后:

make tests && make run_test &> output

最新更新