#
# Standard e2fsprogs prologue....
#

srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
top_builddir = ../..
my_dir = tests/progs
INSTALL = @INSTALL@

@MCONFIG@

MK_CMDS=	_SS_DIR_OVERRIDE=$(srcdir)/../../lib/ss ../../lib/ss/mk_cmds

PROGS=		test_icount crcsum

TEST_REL_OBJS=	test_rel.o test_rel_cmds.o

TEST_ICOUNT_OBJS=	test_icount.o test_icount_cmds.o

SRCS=	$(srcdir)/test_rel.c 

LIBS= $(LIBEXT2FS) $(LIBSS) $(LIBCOM_ERR) $(SYSLIBS)
DEPLIBS= $(LIBEXT2FS) $(DEPLIBSS) $(DEPLIBCOM_ERR)

.c.o:
	$(E) "	CC $<"
	$(Q) $(CC) -c $(ALL_CFLAGS) $< -o $@
	$(Q) $(CHECK_CMD) $(ALL_CFLAGS) $<
	$(Q) $(CPPCHECK_CMD) $(CPPFLAGS) $<

all:: $(PROGS)

test_rel: $(TEST_REL_OBJS) $(DEPLIBS)
	$(E) "	LD $@"
	$(Q) $(LD) $(ALL_LDFLAGS) -o test_rel $(TEST_REL_OBJS) $(LIBS)

crcsum: crcsum.o $(DEPLIBS)
	$(E) "	LD $@"
	$(Q) $(LD) $(ALL_LDFLAGS) -o crcsum crcsum.o $(LIBS)

test_rel_cmds.c: test_rel_cmds.ct
	$(E) "	MK_CMDS $@"
	$(Q) $(MK_CMDS) $(srcdir)/test_rel_cmds.ct

test_icount: $(TEST_ICOUNT_OBJS) $(DEPLIBS)
	$(E) "	LD $@"
	$(Q) $(LD) $(ALL_LDFLAGS) -o test_icount $(TEST_ICOUNT_OBJS) $(LIBS)

test_icount_cmds.c: test_icount_cmds.ct
	$(E) "	MK_CMDS $@"
	$(Q) $(MK_CMDS) $(srcdir)/test_icount_cmds.ct

clean::
	$(RM) -f $(PROGS) test_rel_cmds.c test_icount_cmds.c \
		\#* *.s *.o *.a *~ core

install:

install-strip:

uninstall:

mostlyclean: clean
distclean: clean
	$(RM) -f .depend Makefile $(srcdir)/TAGS $(srcdir)/Makefile.in.old

# +++ Dependency line eater +++
# 
# Makefile dependencies follow.  This must be the last section in
# the Makefile.in file
#
test_rel.o: $(srcdir)/test_rel.c $(top_srcdir)/lib/et/com_err.h \
 $(top_srcdir)/lib/ss/ss.h $(top_builddir)/lib/ss/ss_err.h \
 $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \
 $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext2_io.h \
 $(top_builddir)/lib/ext2fs/ext2_err.h $(top_srcdir)/lib/ext2fs/bitops.h \
 $(top_srcdir)/lib/ext2fs/irel.h $(top_srcdir)/lib/ext2fs/brel.h \
 $(srcdir)/test_rel.h
