##
##  Copyright (C) 2008 Lasse Collin
##
##  This library is free software; you can redistribute it and/or
##  modify it under the terms of the GNU Lesser General Public
##  License as published by the Free Software Foundation; either
##  version 2.1 of the License, or (at your option) any later version.
##
##  This library is distributed in the hope that it will be useful,
##  but WITHOUT ANY WARRANTY; without even the implied warranty of
##  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
##  Lesser General Public License for more details.
##

noinst_PROGRAMS = \
	repeat \
	sync_flush \
	full_flush \
	memusage \
	crc32 \
	known_sizes \
	hex2bin

AM_CPPFLAGS = \
	-I@top_srcdir@/src/common \
	-I@top_srcdir@/src/liblzma/api

AM_LDFLAGS = -static

LDADD = \
	@top_builddir@/src/liblzma/liblzma.la \
	@LTLIBINTL@

if COND_GNULIB
LDADD += @top_builddir@/lib/libgnu.a
endif
