.PHONEY: all PROGRAMS=\ thin_repair \ thin_dump \ thin_restore all: $(PROGRAMS) SOURCE=\ checksum.cc \ endian_utils.cc \ error_set.cc \ hex_dump.cc \ human_readable_format.cc \ metadata.cc \ metadata_checker.cc \ metadata_dumper.cc \ metadata_disk_structures.cc \ restore_emitter.cc \ space_map.cc \ space_map_disk.cc \ space_map_recursive.cc \ space_map_transactional.cc \ thin_pool.cc \ transaction_manager.cc \ xml_format.cc PROGRAM_SOURCE=\ thin_dump.cc \ thin_repair.cc \ thin_restore.cc CXX=@CXX@ OBJECTS=$(subst .cc,.o,$(SOURCE)) TOP_DIR:=@top_srcdir@ CXXFLAGS=-Wall -I$(TOP_DIR) CXXFLAGS+=@CXXOPTIMISE_FLAG@ CXXFLAGS+=@CXXDEBUG_FLAG@ LIBS=-lstdc++ INSTALL=@INSTALL@ DESTDIR=@prefix@ BINDIR=$(DESTDIR)/sbin MANPATH=$(DESTDIR)$(MANDIR) .PHONEY: test-programs test-programs: $(TEST_PROGRAMS) .SUFFIXES: .cc .o .d .cc.d: $(CXX) -MM -MT $(subst .cc,.o,$<) $(CXXFLAGS) $< > $@.$$$$; \ sed 's,\([^ :]*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \ rm -f $@.$$$$ .cc.o: $(CXX) -c $(CXXFLAGS) $(INCLUDES) -o $@ $< THIN_DUMP_SOURCE=$(SOURCE) THIN_RESTORE_SOURCE=$(SOURCE) THIN_REPAIR_SOURCE=\ checksum.cc \ endian_utils.cc \ error_set.cc \ hex_dump.cc \ metadata.cc \ metadata_checker.cc \ metadata_disk_structures.cc \ space_map.cc \ space_map_disk.cc \ space_map_recursive.cc \ space_map_transactional.cc \ transaction_manager.cc THIN_DUMP_OBJECTS=$(subst .cc,.o,$(THIN_DUMP_SOURCE)) THIN_RESTORE_OBJECTS=$(subst .cc,.o,$(THIN_RESTORE_SOURCE)) THIN_REPAIR_OBJECTS=$(subst .cc,.o,$(THIN_REPAIR_SOURCE)) thin_dump: $(THIN_DUMP_OBJECTS) thin_dump.o $(CXX) $(CXXFLAGS) -o $@ $+ $(LIBS) -lexpat thin_restore: $(THIN_RESTORE_OBJECTS) thin_restore.o $(CXX) $(CXXFLAGS) -o $@ $+ $(LIBS) -lexpat thin_repair: $(THIN_REPAIR_OBJECTS) thin_repair.o $(CXX) $(CXXFLAGS) -o $@ $+ $(LIBS) .PHONEY: clean clean: rm -f *.o unit-tests/*.o *.d unit-tests/*.d $(TEST_PROGRAMS) $(PROGRAMS) .PHONEY: install install: $(PROGRAMS) $(INSTALL) -m 755 -D thin_repair $(BINDIR)/thin_repair $(INSTALL) -m 755 -D thin_dump $(BINDIR)/thin_dump $(INSTALL) -m 755 -D thin_restore $(BINDIR)/thin_restore $(INSTALL) -m 644 -D man8/thin_repair.8 $(MANPATH)/man8/thin_repair.8 $(INSTALL) -m 644 -D man8/thin_dump.8 $(MANPATH)/man8/thin_dump.8 $(INSTALL) -m 644 -D man8/thin_restore.8 $(MANPATH)/man8/thin_restore.8 -include $(subst .cc,.d,$(SOURCE)) -include $(subst .cc,.d,$(TEST_SOURCE)) -include $(subst .cc,.d,$(PROGRAM_SOURCE)) ifeq ("$(TESTING)", "yes") include unit-tests/Makefile.in endif