2011-12-21 15:34:00 +05:30
|
|
|
# Copyright (C) 2011 Red Hat, Inc. All rights reserved.
|
|
|
|
#
|
|
|
|
# This file is part of the thin-provisioning-tools source.
|
|
|
|
#
|
|
|
|
# thin-provisioning-tools is free software: you can redistribute it
|
|
|
|
# and/or modify it under the terms of the GNU General Public License
|
|
|
|
# as published by the Free Software Foundation, either version 3 of
|
|
|
|
# the License, or (at your option) any later version.
|
|
|
|
#
|
|
|
|
# thin-provisioning-tools is distributed in the hope that it will be
|
|
|
|
# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
|
|
|
|
# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
# GNU General Public License for more details.
|
|
|
|
#
|
|
|
|
# You should have received a copy of the GNU General Public License along
|
|
|
|
# with thin-provisioning-tools. If not, see
|
|
|
|
# <http://www.gnu.org/licenses/>.
|
|
|
|
|
2011-08-31 18:31:48 +05:30
|
|
|
.PHONEY: all
|
|
|
|
|
2011-12-06 21:17:24 +05:30
|
|
|
PROGRAMS=\
|
|
|
|
thin_repair \
|
|
|
|
thin_dump \
|
|
|
|
thin_restore
|
|
|
|
|
|
|
|
all: $(PROGRAMS)
|
2011-08-31 18:31:48 +05:30
|
|
|
|
2011-06-16 12:46:10 +05:30
|
|
|
SOURCE=\
|
2011-09-12 16:19:42 +05:30
|
|
|
checksum.cc \
|
2011-08-22 15:12:13 +05:30
|
|
|
endian_utils.cc \
|
2011-08-24 15:15:39 +05:30
|
|
|
error_set.cc \
|
2011-09-16 14:36:37 +05:30
|
|
|
hex_dump.cc \
|
2011-10-10 18:40:30 +05:30
|
|
|
human_readable_format.cc \
|
2011-10-28 16:55:06 +05:30
|
|
|
metadata.cc \
|
2011-10-28 16:37:21 +05:30
|
|
|
metadata_checker.cc \
|
2011-10-28 16:43:03 +05:30
|
|
|
metadata_dumper.cc \
|
2011-08-31 17:18:41 +05:30
|
|
|
metadata_disk_structures.cc \
|
2011-10-28 18:31:44 +05:30
|
|
|
restore_emitter.cc \
|
2011-11-08 16:38:16 +05:30
|
|
|
space_map.cc \
|
2011-08-31 17:18:41 +05:30
|
|
|
space_map_disk.cc \
|
2011-11-09 15:51:25 +05:30
|
|
|
space_map_recursive.cc \
|
2011-11-16 18:47:49 +05:30
|
|
|
space_map_transactional.cc \
|
2011-10-28 16:51:58 +05:30
|
|
|
thin_pool.cc \
|
2011-10-10 19:36:07 +05:30
|
|
|
transaction_manager.cc \
|
|
|
|
xml_format.cc
|
2011-08-22 15:12:13 +05:30
|
|
|
|
2011-11-03 20:14:00 +05:30
|
|
|
PROGRAM_SOURCE=\
|
|
|
|
thin_dump.cc \
|
|
|
|
thin_repair.cc \
|
|
|
|
thin_restore.cc
|
|
|
|
|
2011-12-21 15:34:00 +05:30
|
|
|
CXX:=@CXX@
|
|
|
|
OBJECTS:=$(subst .cc,.o,$(SOURCE))
|
2011-12-09 18:24:51 +05:30
|
|
|
TOP_DIR:=@top_srcdir@
|
2011-12-21 15:34:00 +05:30
|
|
|
TOP_BUILDDIR:=@top_builddir@
|
|
|
|
CXXFLAGS+=-Wall
|
2011-12-09 18:24:51 +05:30
|
|
|
CXXFLAGS+=@CXXOPTIMISE_FLAG@
|
|
|
|
CXXFLAGS+=@CXXDEBUG_FLAG@
|
2011-12-21 15:34:00 +05:30
|
|
|
INCLUDES+=-I$(TOP_BUILDDIR) -I$(TOP_DIR)
|
|
|
|
LIBS:=-lstdc++
|
|
|
|
LIBEXPAT:=-lexpat
|
|
|
|
INSTALL:=@INSTALL@
|
|
|
|
STRIP=
|
|
|
|
DESTDIR:=@prefix@
|
|
|
|
BINDIR:=$(DESTDIR)/sbin
|
|
|
|
MANPATH:=$(DESTDIR)$(MANDIR)
|
|
|
|
|
|
|
|
vpath %.cc $(TOP_DIR)
|
|
|
|
|
|
|
|
INSTALL_DIR = $(INSTALL) -m 755 -d
|
|
|
|
INSTALL_PROGRAM = $(INSTALL) -m 755 $(STRIP)
|
|
|
|
INSTALL_DATA = $(INSTALL) -p -m 644
|
2011-06-16 12:46:10 +05:30
|
|
|
|
2011-08-31 18:23:46 +05:30
|
|
|
.PHONEY: test-programs
|
2011-07-14 20:01:00 +05:30
|
|
|
|
2011-07-22 20:39:56 +05:30
|
|
|
test-programs: $(TEST_PROGRAMS)
|
|
|
|
|
2011-12-21 15:34:00 +05:30
|
|
|
.SUFFIXES: .d
|
2011-06-16 12:46:10 +05:30
|
|
|
|
2011-12-21 15:34:00 +05:30
|
|
|
%.d: %.cc
|
|
|
|
$(CXX) -MM -MT $(subst .cc,.o,$<) $(INCLUDES) $(CXXFLAGS) $< > $@.$$$$;\
|
|
|
|
sed 's,\([^ :]*\)\.o[ :]*,\1.o $@ : Makefile ,g' < $@.$$$$ > $@; \
|
|
|
|
$(RM) $@.$$$$
|
2011-06-16 12:46:10 +05:30
|
|
|
|
2011-12-21 15:34:00 +05:30
|
|
|
%.o: %.cc
|
|
|
|
$(CXX) -c $(INCLUDES) $(CXXFLAGS) -o $@ $<
|
2011-06-16 12:46:10 +05:30
|
|
|
|
2011-12-15 19:23:07 +05:30
|
|
|
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
|
2011-08-23 16:25:37 +05:30
|
|
|
|
2011-12-15 19:23:07 +05:30
|
|
|
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
|
2011-12-21 15:34:00 +05:30
|
|
|
$(CXX) $(CXXFLAGS) -o $@ $+ $(LIBS) $(LIBEXPAT)
|
2011-12-15 19:23:07 +05:30
|
|
|
|
|
|
|
thin_restore: $(THIN_RESTORE_OBJECTS) thin_restore.o
|
2011-12-21 15:34:00 +05:30
|
|
|
$(CXX) $(CXXFLAGS) -o $@ $+ $(LIBS) $(LIBEXPAT)
|
2011-08-31 18:31:48 +05:30
|
|
|
|
2011-12-15 19:23:07 +05:30
|
|
|
thin_repair: $(THIN_REPAIR_OBJECTS) thin_repair.o
|
2011-12-09 18:24:51 +05:30
|
|
|
$(CXX) $(CXXFLAGS) -o $@ $+ $(LIBS)
|
2011-08-23 16:25:37 +05:30
|
|
|
|
2011-12-21 15:34:00 +05:30
|
|
|
.PHONEY: clean distclean
|
2011-12-06 21:17:24 +05:30
|
|
|
clean:
|
2011-12-21 15:34:00 +05:30
|
|
|
$(RM) *.o unit-tests/*.o *.d unit-tests/*.d $(TEST_PROGRAMS) $(PROGRAMS)
|
|
|
|
distclean: clean
|
2011-12-21 15:38:37 +05:30
|
|
|
$(RM) config.cache config.log config.status configure.h version.h Makefile unit-tests/Makefile
|
2011-12-06 21:17:24 +05:30
|
|
|
|
2011-12-09 18:24:51 +05:30
|
|
|
.PHONEY: install
|
|
|
|
install: $(PROGRAMS)
|
2011-12-21 15:34:00 +05:30
|
|
|
$(INSTALL_DIR) $(BINDIR)
|
|
|
|
$(INSTALL_PROGRAM) thin_repair $(BINDIR)/thin_repair
|
|
|
|
$(INSTALL_PROGRAM) thin_dump $(BINDIR)/thin_dump
|
|
|
|
$(INSTALL_PROGRAM) thin_restore $(BINDIR)/thin_restore
|
|
|
|
$(INSTALL_DIR) $(MANPATH)/man8
|
|
|
|
$(INSTALL_DATA) man8/thin_repair.8 $(MANPATH)/man8/thin_repair.8
|
|
|
|
$(INSTALL_DATA) man8/thin_dump.8 $(MANPATH)/man8/thin_dump.8
|
|
|
|
$(INSTALL_DATA) man8/thin_restore.8 $(MANPATH)/man8/thin_restore.8
|
|
|
|
|
|
|
|
ifeq (,$(findstring $(MAKECMDGOALS),clean distclean))
|
|
|
|
-include $(subst .cc,.d,$(SOURCE))
|
|
|
|
-include $(subst .cc,.d,$(TEST_SOURCE))
|
|
|
|
-include $(subst .cc,.d,$(PROGRAM_SOURCE))
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifeq ("@TESTING@", "yes")
|
2011-12-21 15:38:37 +05:30
|
|
|
include unit-tests/Makefile
|
2011-12-09 18:24:51 +05:30
|
|
|
endif
|