【发布时间】:2017-10-07 14:04:51
【问题描述】:
我在向自动工具项目添加特定规则时遇到了一些问题。
我有这个小示例项目:
项目/configure.ac:
AC_INIT([myprog], [0.1], [dev@corp.com])
AM_INIT_AUTOMAKE([foreign -Wall -Werror])
AM_EXTRA_RECURSIVE_TARGETS([quality])
AC_PROG_CC
AC_SUBST([AM_CFLAGS])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([Makefile src/Makefile])
AC_OUTPUT
项目/Makefile.am:
SUBDIRS = src
项目/src/Makefile.am:
bin_PROGRAMS= myprog
myprog_SOURCES = myprog.c
QUALITYDIR=$(builddir)/quality
QUALITY_FILE="$(QUALITYDIR)/quality.log"
quality-local: $(QUALITY_FILE)
$(QUALITY_FILE): myprog
mkdir -p $(QUALITYDIR)
valgrind ./myprog 2>&1 | tee $(QUALITY_FILE)
CLEANFILES = $(QUALITY_FILE)
每次我这样做:
$ 制造质量
运行 valgrind 的东西,即使“myprog”还没有重建。 我希望它只会在 myprog 比 build/src/quality 中的 quality.log 文件更年轻时执行。
我做错了什么?
【问题讨论】:
标签: makefile autotools automake