#
# Copyright (C) 2001-2004 Sistina Software, Inc. All rights reserved.
# Copyright (C) 2004 Red Hat, Inc. All rights reserved.
#
# This file is part of LVM2.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions
# of the GNU General Public License v.2.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

srcdir = @srcdir@
top_srcdir = @top_srcdir@
top_builddir = @top_builddir@
VPATH = @srcdir@

SOURCES=\
	dbg_malloc_t.c

TARGETS=dbg_malloc_t

include $(top_builddir)/make.tmpl

dbg_malloc_t: dbg_malloc_t.o
	$(CC) $(CFLAGS) -o dbg_malloc_t dbg_malloc_t.o \
		-L$(top_builddir)/lib -llvm

pool_t: pool_t.o
	$(CC) $(CFLAGS) -o pool_t pool_t.o -L$(top_builddir)/lib -llvm

