## Need $(top_builddir)/include because tool.h is built from tool.h.base;
## otherwise it will not work if builddir != srcdir.
add_includes = -I$(top_builddir)/include -I$(top_srcdir)/include \
		-I$(top_srcdir)/include/$(VG_ARCH)

AM_CPPFLAGS = $(add_includes)
AM_CFLAGS = $(WERROR) -Winline -Wall -Wshadow -O -g @ARCH_TOOL_AM_CFLAGS@
AM_CCASFLAGS = $(add_includes)

