#
# Standard e2fsprogs prologue....
#

srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
top_builddir = ..
my_dir = util
INSTALL = @INSTALL@
MKDIR_P = @MKDIR_P@

SRCS = $(srcdir)/subst.c $(srcdir)/mkutf8data.c

@MCONFIG@

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

PROGS=	copy_sparse gen-tarball install-symlink mkutf8data subst symlinks

all:: $(PROGS) gen-tarball

dirpaths.h:
	$(E) "	CREATE dirpaths.h"
	$(Q) echo "/* fake dirpaths.h for config.h */" > dirpaths.h

subst.o: dirpaths.h

subst: subst.o
	$(E) "	LD $@"
	$(Q) $(BUILD_CC) $(BUILD_LDFLAGS) -o subst subst.o

install-symlink: install-symlink.in $(top_builddir)/config.status
	cd $(top_builddir); CONFIG_FILES=util/install-symlink ./config.status
	chmod +x $(top_builddir)/util/install-symlink

mkutf8data: mkutf8data.o
	$(E) "	LD $@"
	$(Q) $(BUILD_CC) $(BUILD_LDFLAGS) -o mkutf8data mkutf8data.o

copy_sparse: copy_sparse.o
	$(E) "	LD $@"
	$(Q) $(BUILD_CC) $(BUILD_LDFLAGS) -o copy_sparse copy_sparse.o

symlinks: symlinks.o
	$(E) "	LD $@"
	$(Q) $(BUILD_CC) $(BUILD_LDFLAGS) -o symlinks symlinks.o

gen-tarball: $(srcdir)/gen-tarball.in $(top_builddir)/config.status
	$(E) "	CONFIG.STATUS $@"
	$(Q) cd $(top_builddir); CONFIG_FILES=util/gen-tarball ./config.status
	$(Q) chmod +x gen-tarball

tarballs: gen-tarball
	sh gen-tarball debian
	sh gen-tarball all
	sh gen-tarball subset

clean::
	$(RM) -f $(PROGS) \#* *.s *.o *.a *~ core *.tar.gz dirpaths.h

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
#
subst.o: $(srcdir)/subst.c $(top_builddir)/lib/config.h dirpaths.h
mkutf8data.o: $(srcdir)/mkutf8data.c
