DISTNAME = $(pkgname)-$(pkgversion)
INSTALL = install
INSTALL_PROGRAM = $(INSTALL) -m 755
INSTALL_DATA = $(INSTALL) -m 644
INSTALL_DIR = $(INSTALL) -d -m 755
SHELL = /bin/sh
CAN_RUN_INSTALLINFO = $(SHELL) -c "install-info --version" > /dev/null 2>&1
ddobjs = mapbook.o fillbook.o genbook.o io.o rescuebook.o command_mode.o main.o
objs = arg_parser.o rational.o non_posix.o loggers.o block.o mapfile.o $(ddobjs)
logobjs = arg_parser.o block.o mapfile.o ddrescuelog.o
.PHONY : all install install-bin install-info install-man \
install-strip install-compress install-strip-compress \
install-bin-strip install-info-compress install-man-compress \
uninstall uninstall-bin uninstall-info uninstall-man \
doc info man check dist clean distclean
all : $(progname) ddrescuelog
$(progname) : $(objs)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $(objs)
ddrescuelog : $(logobjs)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $(logobjs)
static_$(progname) : $(objs)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -static -o $@ $(objs)
non_posix.o : non_posix.cc
$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(use_non_posix) -c -o $@ $<
main.o : main.cc
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -DPROGVERSION=\"$(pkgversion)\" -c -o $@ $<
ddrescuelog.o : ddrescuelog.cc
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -DPROGVERSION=\"$(pkgversion)\" -c -o $@ $<
%.o : %.cc
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $<
$(objs) : Makefile
$(ddobjs) : block.h mapbook.h
arg_parser.o : arg_parser.h
block.o : block.h
command_mode.o : rational.h rescuebook.h
loggers.o : block.h loggers.h
mapfile.o : block.h
non_posix.o : non_posix.h
rational.o : rational.h
rescuebook.o : rational.h loggers.h rescuebook.h
main.o : arg_parser.h rational.h loggers.h non_posix.h main_common.cc rescuebook.h
ddrescuelog.o : Makefile arg_parser.h block.h main_common.cc
doc : info man
info : $(VPATH)/doc/$(pkgname).info
$(VPATH)/doc/$(pkgname).info : $(VPATH)/doc/$(pkgname).texi
cd $(VPATH)/doc && $(MAKEINFO) $(pkgname).texi
man : $(VPATH)/doc/$(progname).1 $(VPATH)/doc/ddrescuelog.1
$(VPATH)/doc/$(progname).1 : $(progname)
help2man -n 'data recovery tool' -o $@ ./$(progname)
$(VPATH)/doc/ddrescuelog.1 : ddrescuelog
help2man -n 'tool for ddrescue mapfiles' -o $@ --info-page=$(pkgname) ./ddrescuelog
Makefile : $(VPATH)/configure $(VPATH)/Makefile.in
./config.status
check : all
@$(VPATH)/testsuite/check.sh $(VPATH)/testsuite $(pkgversion)
install : install-bin install-info install-man
install-strip : install-bin-strip install-info install-man
install-compress : install-bin install-info-compress install-man-compress
install-strip-compress : install-bin-strip install-info-compress install-man-compress
install-bin : all
if [ ! -d "$(DESTDIR)$(bindir)" ] ; then $(INSTALL_DIR) "$(DESTDIR)$(bindir)" ; fi
$(INSTALL_PROGRAM) ./$(progname) "$(DESTDIR)$(bindir)/$(progname)"
$(INSTALL_PROGRAM) ./ddrescuelog "$(DESTDIR)$(bindir)/ddrescuelog"
install-bin-strip : all
$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' install-bin
install-info :
if [ ! -d "$(DESTDIR)$(infodir)" ] ; then $(INSTALL_DIR) "$(DESTDIR)$(infodir)" ; fi
-rm -f "$(DESTDIR)$(infodir)/$(pkgname).info"*
$(INSTALL_DATA) $(VPATH)/doc/$(pkgname).info "$(DESTDIR)$(infodir)/$(pkgname).info"
-if $(CAN_RUN_INSTALLINFO) ; then \
install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$(pkgname).info" ; \
fi
install-info-compress : install-info
lzip -v -9 "$(DESTDIR)$(infodir)/$(pkgname).info"
install-man :
if [ ! -d "$(DESTDIR)$(mandir)/man1" ] ; then $(INSTALL_DIR) "$(DESTDIR)$(mandir)/man1" ; fi
-rm -f "$(DESTDIR)$(mandir)/man1/$(progname).1"*
-rm -f "$(DESTDIR)$(mandir)/man1/ddrescuelog.1"*
$(INSTALL_DATA) $(VPATH)/doc/$(progname).1 "$(DESTDIR)$(mandir)/man1/$(progname).1"
$(INSTALL_DATA) $(VPATH)/doc/ddrescuelog.1 "$(DESTDIR)$(mandir)/man1/ddrescuelog.1"
install-man-compress : install-man
lzip -v -9 "$(DESTDIR)$(mandir)/man1/$(progname).1"
lzip -v -9 "$(DESTDIR)$(mandir)/man1/ddrescuelog.1"
uninstall : uninstall-man uninstall-info uninstall-bin
uninstall-bin :
-rm -f "$(DESTDIR)$(bindir)/$(progname)"
-rm -f "$(DESTDIR)$(bindir)/ddrescuelog"
uninstall-info :
-if $(CAN_RUN_INSTALLINFO) ; then \
install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$(pkgname).info" ; \
fi
-rm -f "$(DESTDIR)$(infodir)/$(pkgname).info"*
uninstall-man :
-rm -f "$(DESTDIR)$(mandir)/man1/$(progname).1"*
-rm -f "$(DESTDIR)$(mandir)/man1/ddrescuelog.1"*
dist : doc
ln -sf $(VPATH) $(DISTNAME)
tar -Hustar --owner=root --group=root -cvf $(DISTNAME).tar \
$(DISTNAME)/AUTHORS \
$(DISTNAME)/COPYING \
$(DISTNAME)/ChangeLog \
$(DISTNAME)/INSTALL \
$(DISTNAME)/Makefile.in \
$(DISTNAME)/NEWS \
$(DISTNAME)/README \
$(DISTNAME)/configure \
$(DISTNAME)/doc/$(progname).1 \
$(DISTNAME)/doc/ddrescuelog.1 \
$(DISTNAME)/doc/$(pkgname).info \
$(DISTNAME)/doc/$(pkgname).texi \
$(DISTNAME)/*.h \
$(DISTNAME)/*.cc \
$(DISTNAME)/testsuite/check.sh \
$(DISTNAME)/testsuite/fox \
$(DISTNAME)/testsuite/mapfile[1-6]* \
$(DISTNAME)/testsuite/mapfile_blank \
$(DISTNAME)/testsuite/test.txt \
$(DISTNAME)/testsuite/test[1-5].txt
rm -f $(DISTNAME)
lzip -v -9 $(DISTNAME).tar
clean :
-rm -f $(progname) $(objs)
-rm -f static_$(progname) ddrescuelog ddrescuelog.o
distclean : clean
-rm -f Makefile config.status *.tar *.tar.lz