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/>.
|
|
|
|
|
2013-03-22 17:49:31 +05:30
|
|
|
V=@
|
2011-12-06 21:17:24 +05:30
|
|
|
|
2014-09-01 19:40:32 +05:30
|
|
|
PROGRAMS=\
|
|
|
|
bin/pdata_tools
|
|
|
|
|
2017-10-16 17:37:36 +05:30
|
|
|
ifeq ("@TESTING@", "yes")
|
|
|
|
TESTLIBS=\
|
|
|
|
lib/libft.so
|
|
|
|
endif
|
|
|
|
|
2014-09-01 19:40:32 +05:30
|
|
|
.PHONY: all
|
2017-10-16 17:37:36 +05:30
|
|
|
all: $(PROGRAMS) $(TESTLIBS)
|
2011-08-31 18:31:48 +05:30
|
|
|
|
2018-06-13 13:11:53 +05:30
|
|
|
include contrib/Makefile
|
|
|
|
|
2013-08-16 18:37:04 +05:30
|
|
|
SOURCE=\
|
2016-07-11 19:23:03 +05:30
|
|
|
base/output_file_requirements.cc \
|
2014-08-27 18:31:31 +05:30
|
|
|
base/application.cc \
|
2013-10-10 14:48:46 +05:30
|
|
|
base/base64.cc \
|
2016-01-19 17:10:00 +05:30
|
|
|
base/disk_units.cc \
|
2013-11-19 15:53:35 +05:30
|
|
|
base/endian_utils.cc \
|
2013-08-16 18:37:04 +05:30
|
|
|
base/error_state.cc \
|
2015-01-16 18:24:09 +05:30
|
|
|
base/error_string.cc \
|
2016-01-20 12:28:59 +05:30
|
|
|
base/grid_layout.cc \
|
2020-06-12 16:03:49 +05:30
|
|
|
base/io_generator.cc \
|
2017-04-29 23:21:52 +05:30
|
|
|
base/file_utils.cc \
|
2014-08-05 16:17:57 +05:30
|
|
|
base/progress_monitor.cc \
|
2015-09-03 17:32:29 +05:30
|
|
|
base/rolling_hash.cc \
|
2014-08-06 19:59:02 +05:30
|
|
|
base/xml_utils.cc \
|
2014-08-27 18:31:31 +05:30
|
|
|
block-cache/block_cache.cc \
|
2016-04-14 13:24:32 +05:30
|
|
|
block-cache/copier.cc \
|
|
|
|
block-cache/io_engine.cc \
|
|
|
|
block-cache/mem_pool.cc \
|
2014-08-27 18:31:31 +05:30
|
|
|
caching/cache_check.cc \
|
|
|
|
caching/cache_dump.cc \
|
|
|
|
caching/cache_metadata_size.cc \
|
|
|
|
caching/cache_repair.cc \
|
|
|
|
caching/cache_restore.cc \
|
2016-03-08 20:57:22 +05:30
|
|
|
caching/cache_writeback.cc \
|
2016-01-08 18:21:52 +05:30
|
|
|
caching/commands.cc \
|
2013-09-24 16:30:09 +05:30
|
|
|
caching/hint_array.cc \
|
2013-09-12 18:51:25 +05:30
|
|
|
caching/mapping_array.cc \
|
2013-09-11 16:10:46 +05:30
|
|
|
caching/metadata.cc \
|
2013-10-09 14:52:06 +05:30
|
|
|
caching/metadata_dump.cc \
|
2013-09-12 17:03:32 +05:30
|
|
|
caching/restore_emitter.cc \
|
2014-08-27 18:31:31 +05:30
|
|
|
caching/superblock.cc \
|
2013-09-11 16:10:46 +05:30
|
|
|
caching/xml_format.cc \
|
2016-01-08 18:21:52 +05:30
|
|
|
era/commands.cc \
|
2014-01-23 06:16:03 +05:30
|
|
|
era/era_array.cc \
|
2014-08-27 18:31:31 +05:30
|
|
|
era/era_check.cc \
|
2013-11-19 15:53:35 +05:30
|
|
|
era/era_detail.cc \
|
2014-08-27 18:31:31 +05:30
|
|
|
era/era_dump.cc \
|
|
|
|
era/era_invalidate.cc \
|
|
|
|
era/era_restore.cc \
|
2014-01-23 06:16:03 +05:30
|
|
|
era/metadata.cc \
|
|
|
|
era/metadata_dump.cc \
|
2014-08-07 20:13:01 +05:30
|
|
|
era/restore_emitter.cc \
|
2014-08-27 18:31:31 +05:30
|
|
|
era/superblock.cc \
|
|
|
|
era/writeset_tree.cc \
|
2014-01-23 06:16:03 +05:30
|
|
|
era/xml_format.cc \
|
2014-08-27 18:31:31 +05:30
|
|
|
main.cc \
|
2020-04-30 19:00:01 +05:30
|
|
|
persistent-data/block.cc \
|
2013-01-02 18:25:41 +05:30
|
|
|
persistent-data/checksum.cc \
|
2013-10-10 16:47:34 +05:30
|
|
|
persistent-data/data-structures/bitset.cc \
|
2013-11-18 18:38:07 +05:30
|
|
|
persistent-data/data-structures/bloom_filter.cc \
|
2013-06-20 18:57:40 +05:30
|
|
|
persistent-data/data-structures/btree.cc \
|
2020-02-15 15:28:36 +05:30
|
|
|
persistent-data/data-structures/btree_damage_visitor.cc \
|
2016-03-31 20:36:08 +05:30
|
|
|
persistent-data/data-structures/btree_node_checker.cc \
|
2014-08-27 18:31:31 +05:30
|
|
|
persistent-data/error_set.cc \
|
|
|
|
persistent-data/file_utils.cc \
|
|
|
|
persistent-data/hex_dump.cc \
|
|
|
|
persistent-data/space-maps/careful_alloc.cc \
|
2020-05-27 16:30:40 +05:30
|
|
|
persistent-data/space-maps/core.cc \
|
2013-01-11 03:06:38 +05:30
|
|
|
persistent-data/space-maps/disk.cc \
|
|
|
|
persistent-data/space-maps/recursive.cc \
|
2014-08-27 18:31:31 +05:30
|
|
|
persistent-data/space_map.cc \
|
|
|
|
persistent-data/transaction_manager.cc \
|
2015-08-11 16:28:07 +05:30
|
|
|
persistent-data/validators.cc \
|
2016-01-08 18:21:52 +05:30
|
|
|
thin-provisioning/commands.cc \
|
2015-08-24 21:25:53 +05:30
|
|
|
thin-provisioning/cache_stream.cc \
|
2015-09-03 17:32:29 +05:30
|
|
|
thin-provisioning/chunk_stream.cc \
|
2013-05-20 20:39:13 +05:30
|
|
|
thin-provisioning/device_tree.cc \
|
2015-09-08 21:39:41 +05:30
|
|
|
thin-provisioning/fixed_chunk_stream.cc \
|
2013-01-02 18:25:41 +05:30
|
|
|
thin-provisioning/human_readable_format.cc \
|
2013-05-21 16:16:37 +05:30
|
|
|
thin-provisioning/mapping_tree.cc \
|
2013-01-02 18:25:41 +05:30
|
|
|
thin-provisioning/metadata.cc \
|
|
|
|
thin-provisioning/metadata_checker.cc \
|
2016-02-27 12:53:06 +05:30
|
|
|
thin-provisioning/metadata_counter.cc \
|
2013-01-02 18:25:41 +05:30
|
|
|
thin-provisioning/metadata_dumper.cc \
|
2019-10-28 17:22:21 +05:30
|
|
|
thin-provisioning/override_emitter.cc \
|
2015-08-24 21:25:53 +05:30
|
|
|
thin-provisioning/pool_stream.cc \
|
2013-01-02 18:25:41 +05:30
|
|
|
thin-provisioning/restore_emitter.cc \
|
2013-05-24 18:00:17 +05:30
|
|
|
thin-provisioning/rmap_visitor.cc \
|
2013-05-21 17:16:07 +05:30
|
|
|
thin-provisioning/superblock.cc \
|
2013-01-02 18:25:41 +05:30
|
|
|
thin-provisioning/thin_check.cc \
|
2014-06-09 15:07:46 +05:30
|
|
|
thin-provisioning/thin_delta.cc \
|
2013-01-02 18:25:41 +05:30
|
|
|
thin-provisioning/thin_dump.cc \
|
2016-01-12 20:32:19 +05:30
|
|
|
thin-provisioning/thin_ls.cc \
|
2014-08-27 18:31:31 +05:30
|
|
|
thin-provisioning/thin_metadata_size.cc \
|
|
|
|
thin-provisioning/thin_pool.cc \
|
2013-06-19 17:09:28 +05:30
|
|
|
thin-provisioning/thin_repair.cc \
|
2014-08-27 18:31:31 +05:30
|
|
|
thin-provisioning/thin_restore.cc \
|
2014-08-26 17:43:32 +05:30
|
|
|
thin-provisioning/thin_rmap.cc \
|
2017-09-18 20:40:56 +05:30
|
|
|
thin-provisioning/thin_trim.cc \
|
2014-08-27 18:31:31 +05:30
|
|
|
thin-provisioning/xml_format.cc
|
2016-02-24 19:11:43 +05:30
|
|
|
|
|
|
|
DEVTOOLS_SOURCE=\
|
2020-07-23 14:41:01 +05:30
|
|
|
thin-provisioning/damage_generator.cc \
|
2018-08-28 17:42:20 +05:30
|
|
|
thin-provisioning/thin_journal.cc \
|
|
|
|
thin-provisioning/thin_journal_check.cc \
|
2016-02-29 15:59:28 +05:30
|
|
|
thin-provisioning/thin_ll_dump.cc \
|
|
|
|
thin-provisioning/thin_ll_restore.cc \
|
|
|
|
thin-provisioning/thin_show_duplicates.cc \
|
2020-07-23 14:41:01 +05:30
|
|
|
thin-provisioning/thin_generate_damage.cc \
|
2016-02-24 20:01:51 +05:30
|
|
|
thin-provisioning/thin_generate_metadata.cc \
|
2020-06-10 07:53:41 +05:30
|
|
|
thin-provisioning/thin_generate_mappings.cc \
|
2016-02-24 20:54:43 +05:30
|
|
|
thin-provisioning/variable_chunk_stream.cc \
|
2016-02-26 18:20:17 +05:30
|
|
|
thin-provisioning/thin_show_metadata.cc \
|
2016-02-29 15:59:28 +05:30
|
|
|
thin-provisioning/thin_scan.cc \
|
2016-02-26 18:20:17 +05:30
|
|
|
ui/ui.cc
|
2016-02-24 19:11:43 +05:30
|
|
|
|
|
|
|
ifeq ("@DEVTOOLS@", "yes")
|
|
|
|
SOURCE+=$(DEVTOOLS_SOURCE)
|
|
|
|
endif
|
2013-07-15 20:18:36 +05:30
|
|
|
|
2016-04-06 16:45:07 +05:30
|
|
|
ifeq ("@STATIC@", "yes")
|
|
|
|
SOURCE += thin-provisioning/static_library_emitter.cc
|
|
|
|
else
|
|
|
|
SOURCE += thin-provisioning/shared_library_emitter.cc
|
|
|
|
endif
|
|
|
|
|
2013-07-15 20:18:36 +05:30
|
|
|
CC:=@CC@
|
2011-12-21 15:34:00 +05:30
|
|
|
CXX:=@CXX@
|
2015-11-26 12:30:00 +05:30
|
|
|
STRIP:=@STRIP@
|
2011-12-21 15:34:00 +05:30
|
|
|
OBJECTS:=$(subst .cc,.o,$(SOURCE))
|
2016-04-06 16:45:07 +05:30
|
|
|
|
|
|
|
ifeq ("@STATIC@", "yes")
|
2018-06-13 13:11:53 +05:30
|
|
|
EMITTERS += $(PLUGIN_LIBS)
|
2016-04-06 16:45:07 +05:30
|
|
|
endif
|
|
|
|
|
2011-12-09 18:24:51 +05:30
|
|
|
TOP_DIR:=@top_srcdir@
|
2011-12-21 15:34:00 +05:30
|
|
|
TOP_BUILDDIR:=@top_builddir@
|
2016-03-24 18:40:37 +05:30
|
|
|
CFLAGS+=-g -Wall -O3 -fPIC
|
2015-11-27 21:08:55 +05:30
|
|
|
CFLAGS+=@LFS_FLAGS@
|
2016-03-24 18:40:37 +05:30
|
|
|
CXXFLAGS+=-g -Wall -fPIC -fno-strict-aliasing -std=c++11
|
2016-02-24 19:11:43 +05:30
|
|
|
|
|
|
|
ifeq ("@DEVTOOLS@", "yes")
|
|
|
|
CXXFLAGS+=-DDEV_TOOLS
|
|
|
|
endif
|
|
|
|
|
2011-12-09 18:24:51 +05:30
|
|
|
CXXFLAGS+=@CXXOPTIMISE_FLAG@
|
|
|
|
CXXFLAGS+=@CXXDEBUG_FLAG@
|
2015-01-16 18:24:09 +05:30
|
|
|
CXXFLAGS+=@CXX_STRERROR_FLAG@
|
2015-11-27 21:08:55 +05:30
|
|
|
CXXFLAGS+=@LFS_FLAGS@
|
2013-01-02 18:25:41 +05:30
|
|
|
INCLUDES+=-I$(TOP_BUILDDIR) -I$(TOP_DIR) -I$(TOP_DIR)/thin-provisioning
|
2020-06-12 23:39:19 +05:30
|
|
|
LIBS:=-laio -lexpat -lboost_iostreams -ldl
|
2016-02-08 17:28:19 +05:30
|
|
|
|
2016-02-26 18:20:17 +05:30
|
|
|
ifeq ("@DEVTOOLS@", "yes")
|
|
|
|
LIBS+=-lncurses
|
|
|
|
endif
|
|
|
|
|
2016-02-08 17:28:19 +05:30
|
|
|
ifeq ("@STATIC_CXX@", "yes")
|
2016-02-09 16:27:39 +05:30
|
|
|
CXXLIB+=-Wl,-Bstatic -lstdc++ -Wl,-Bdynamic -Wl,--as-needed
|
2016-02-08 17:28:19 +05:30
|
|
|
else
|
2016-02-09 16:27:39 +05:30
|
|
|
CXXLIB+=-lstdc++
|
2016-02-08 17:28:19 +05:30
|
|
|
endif
|
|
|
|
|
2016-03-09 15:56:13 +05:30
|
|
|
ifeq ("@STATIC@", "yes")
|
|
|
|
LDFLAGS+=-static
|
|
|
|
endif
|
|
|
|
|
2011-12-21 15:34:00 +05:30
|
|
|
INSTALL:=@INSTALL@
|
2012-03-15 17:35:37 +05:30
|
|
|
PREFIX:=@prefix@
|
|
|
|
BINDIR:=$(DESTDIR)$(PREFIX)/sbin
|
2014-08-06 15:44:15 +05:30
|
|
|
DATADIR:=$(DESTDIR)$(PREFIX)/share
|
|
|
|
MANPATH:=$(DATADIR)/man
|
2011-12-21 15:34:00 +05:30
|
|
|
|
|
|
|
vpath %.cc $(TOP_DIR)
|
|
|
|
|
|
|
|
INSTALL_DIR = $(INSTALL) -m 755 -d
|
2015-11-26 12:30:00 +05:30
|
|
|
INSTALL_PROGRAM = $(INSTALL) -m 755
|
2011-12-21 15:34:00 +05:30
|
|
|
INSTALL_DATA = $(INSTALL) -p -m 644
|
2011-06-16 12:46:10 +05:30
|
|
|
|
2013-03-25 18:26:03 +05:30
|
|
|
ifeq ("@TESTING@", "yes")
|
|
|
|
TEST_INCLUDES=\
|
2017-03-13 19:32:11 +05:30
|
|
|
-I$(TOP_DIR) \
|
2016-06-07 15:42:27 +05:30
|
|
|
-Igoogletest/googlemock/include \
|
|
|
|
-Igoogletest/googletest/include
|
2013-03-25 18:26:03 +05:30
|
|
|
else
|
|
|
|
TEST_INCLUDES=
|
|
|
|
endif
|
2011-07-22 20:39:56 +05:30
|
|
|
|
2017-09-20 15:45:00 +05:30
|
|
|
.SUFFIXES: .d .txt .8
|
2011-06-16 12:46:10 +05:30
|
|
|
|
2011-12-21 15:34:00 +05:30
|
|
|
%.o: %.cc
|
2013-03-22 21:11:13 +05:30
|
|
|
@echo " [CXX] $<"
|
2018-06-13 14:03:25 +05:30
|
|
|
@mkdir -p $(dir $@)
|
2013-03-22 17:49:31 +05:30
|
|
|
$(V) $(CXX) -c $(INCLUDES) $(CXXFLAGS) -o $@ $<
|
2013-06-27 14:47:38 +05:30
|
|
|
$(V) $(CXX) -MM -MT $(subst .cc,.o,$<) $(INCLUDES) $(TEST_INCLUDES) $(CXXFLAGS) $< > $*.$$$$; \
|
2013-06-27 17:12:52 +05:30
|
|
|
sed 's,\([^ :]*\)\.o[ :]*,\1.o \1.gmo $* : Makefile ,g' < $*.$$$$ > $*.d; \
|
2013-06-27 14:47:38 +05:30
|
|
|
$(RM) $*.$$$$
|
2011-06-16 12:46:10 +05:30
|
|
|
|
2018-04-25 18:35:28 +05:30
|
|
|
%.o: %.c
|
2018-06-13 17:19:57 +05:30
|
|
|
@echo " [CC] $<"
|
2018-06-13 14:03:25 +05:30
|
|
|
@mkdir -p $(dir $@)
|
2018-04-25 18:35:28 +05:30
|
|
|
$(V) $(CC) -c $(INCLUDES) $(CFLAGS) -o $@ $<
|
|
|
|
$(V) $(CC) -MM -MT $(subst .cc,.o,$<) $(INCLUDES) $(TEST_INCLUDES) $(CFLAGS) $< > $*.$$$$; \
|
|
|
|
sed 's,\([^ :]*\)\.o[ :]*,\1.o \1.gmo $* : Makefile ,g' < $*.$$$$ > $*.d; \
|
|
|
|
$(RM) $*.$$$$
|
|
|
|
|
2017-09-20 15:45:00 +05:30
|
|
|
%.8: %.txt bin/txt2man
|
|
|
|
@echo " [txt2man] $<"
|
2018-06-13 14:03:25 +05:30
|
|
|
@mkdir -p $(dir $@)
|
2017-09-20 15:45:00 +05:30
|
|
|
$(V) bin/txt2man -p -t $(basename $(notdir $<)) $< > $@
|
|
|
|
|
2013-03-22 19:12:20 +05:30
|
|
|
#----------------------------------------------------------------
|
2013-05-24 18:13:55 +05:30
|
|
|
|
2016-05-09 15:55:26 +05:30
|
|
|
lib/libpdata.a: $(OBJECTS) $(EMITTERS)
|
2013-03-22 21:18:43 +05:30
|
|
|
@echo " [AR] $<"
|
2018-06-13 14:03:25 +05:30
|
|
|
@mkdir -p $(dir $@)
|
2016-05-09 15:55:26 +05:30
|
|
|
$(V)ar -rv $@ $(OBJECTS) $(EMITTERS) > /dev/null 2>&1
|
2013-01-02 18:25:41 +05:30
|
|
|
|
2016-05-09 15:55:26 +05:30
|
|
|
bin/pdata_tools: $(OBJECTS) $(EMITTERS)
|
2013-03-22 21:18:43 +05:30
|
|
|
@echo " [LD] $@"
|
2018-06-13 14:03:25 +05:30
|
|
|
@mkdir -p $(dir $@)
|
2016-02-09 16:27:39 +05:30
|
|
|
$(V) $(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $+ $(LIBS) $(CXXLIB)
|
2011-08-23 16:25:37 +05:30
|
|
|
|
2014-01-10 04:10:34 +05:30
|
|
|
#----------------------------------------------------------------
|
|
|
|
|
2013-03-25 18:26:03 +05:30
|
|
|
DEPEND_FILES=\
|
|
|
|
$(subst .cc,.d,$(SOURCE)) \
|
|
|
|
$(subst .cc,.d,$(TEST_SOURCE)) \
|
2013-07-16 19:03:38 +05:30
|
|
|
$(subst .cc,.d,$(CXX_PROGRAM_SOURCE)) \
|
2013-07-15 20:18:36 +05:30
|
|
|
$(subst .c,.d,$(C_PROGRAM_SOURCE))
|
2013-03-25 18:26:03 +05:30
|
|
|
|
2013-03-22 19:12:20 +05:30
|
|
|
.PHONY: clean distclean
|
2013-01-02 18:25:41 +05:30
|
|
|
|
2011-12-06 21:17:24 +05:30
|
|
|
clean:
|
2013-06-19 17:40:12 +05:30
|
|
|
find . -name \*.o -delete
|
|
|
|
find . -name \*.gmo -delete
|
2013-07-15 20:18:36 +05:30
|
|
|
find . -name \*.d -delete
|
2017-10-10 14:58:56 +05:30
|
|
|
$(RM) $(TEST_PROGRAMS) $(PROGRAMS) $(GMOCK_OBJECTS) lib/*.a lib/*.so
|
2013-03-22 19:12:20 +05:30
|
|
|
|
2011-12-21 15:34:00 +05:30
|
|
|
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
|
|
|
|
2017-09-20 15:45:00 +05:30
|
|
|
TOOLS:=\
|
|
|
|
cache_check \
|
|
|
|
cache_dump \
|
|
|
|
cache_metadata_size \
|
|
|
|
cache_repair \
|
|
|
|
cache_restore \
|
|
|
|
cache_writeback \
|
|
|
|
thin_check \
|
|
|
|
thin_delta \
|
|
|
|
thin_dump \
|
|
|
|
thin_ls \
|
|
|
|
thin_repair \
|
|
|
|
thin_restore \
|
|
|
|
thin_rmap \
|
|
|
|
thin_metadata_size \
|
|
|
|
thin_trim \
|
|
|
|
era_check \
|
|
|
|
era_dump \
|
|
|
|
era_invalidate \
|
2017-09-20 18:23:59 +05:30
|
|
|
era_restore
|
2017-09-20 15:45:00 +05:30
|
|
|
|
|
|
|
MANPAGES:=$(patsubst %,man8/%.8,$(TOOLS))
|
|
|
|
|
|
|
|
install: bin/pdata_tools $(MANPAGES)
|
2011-12-21 15:34:00 +05:30
|
|
|
$(INSTALL_DIR) $(BINDIR)
|
2014-08-27 18:31:31 +05:30
|
|
|
$(INSTALL_PROGRAM) bin/pdata_tools $(BINDIR)
|
2015-11-26 12:30:00 +05:30
|
|
|
$(STRIP) $(BINDIR)/pdata_tools
|
2014-08-28 02:01:50 +05:30
|
|
|
ln -s -f pdata_tools $(BINDIR)/cache_check
|
|
|
|
ln -s -f pdata_tools $(BINDIR)/cache_dump
|
|
|
|
ln -s -f pdata_tools $(BINDIR)/cache_metadata_size
|
|
|
|
ln -s -f pdata_tools $(BINDIR)/cache_repair
|
|
|
|
ln -s -f pdata_tools $(BINDIR)/cache_restore
|
2016-03-08 20:57:22 +05:30
|
|
|
ln -s -f pdata_tools $(BINDIR)/cache_writeback
|
2014-08-28 02:01:50 +05:30
|
|
|
ln -s -f pdata_tools $(BINDIR)/thin_check
|
2015-03-24 19:39:36 +05:30
|
|
|
ln -s -f pdata_tools $(BINDIR)/thin_delta
|
2014-08-28 02:01:50 +05:30
|
|
|
ln -s -f pdata_tools $(BINDIR)/thin_dump
|
2016-01-08 18:21:52 +05:30
|
|
|
ln -s -f pdata_tools $(BINDIR)/thin_ls
|
2014-08-28 02:01:50 +05:30
|
|
|
ln -s -f pdata_tools $(BINDIR)/thin_repair
|
|
|
|
ln -s -f pdata_tools $(BINDIR)/thin_restore
|
|
|
|
ln -s -f pdata_tools $(BINDIR)/thin_rmap
|
|
|
|
ln -s -f pdata_tools $(BINDIR)/thin_metadata_size
|
2017-09-18 20:40:56 +05:30
|
|
|
ln -s -f pdata_tools $(BINDIR)/thin_trim
|
2014-08-28 02:01:50 +05:30
|
|
|
ln -s -f pdata_tools $(BINDIR)/era_check
|
|
|
|
ln -s -f pdata_tools $(BINDIR)/era_dump
|
|
|
|
ln -s -f pdata_tools $(BINDIR)/era_invalidate
|
|
|
|
ln -s -f pdata_tools $(BINDIR)/era_restore
|
2011-12-21 15:34:00 +05:30
|
|
|
$(INSTALL_DIR) $(MANPATH)/man8
|
2013-10-18 19:47:06 +05:30
|
|
|
$(INSTALL_DATA) man8/cache_check.8 $(MANPATH)/man8
|
|
|
|
$(INSTALL_DATA) man8/cache_dump.8 $(MANPATH)/man8
|
2017-09-18 20:40:56 +05:30
|
|
|
$(INSTALL_DATA) man8/cache_metadata_size.8 $(MANPATH)/man8
|
2013-10-18 19:47:06 +05:30
|
|
|
$(INSTALL_DATA) man8/cache_repair.8 $(MANPATH)/man8
|
|
|
|
$(INSTALL_DATA) man8/cache_restore.8 $(MANPATH)/man8
|
2016-03-08 20:57:22 +05:30
|
|
|
$(INSTALL_DATA) man8/cache_writeback.8 $(MANPATH)/man8
|
2013-07-10 20:46:56 +05:30
|
|
|
$(INSTALL_DATA) man8/thin_check.8 $(MANPATH)/man8
|
2015-03-24 19:39:36 +05:30
|
|
|
$(INSTALL_DATA) man8/thin_delta.8 $(MANPATH)/man8
|
2013-07-10 20:46:56 +05:30
|
|
|
$(INSTALL_DATA) man8/thin_dump.8 $(MANPATH)/man8
|
2016-01-08 18:21:52 +05:30
|
|
|
$(INSTALL_DATA) man8/thin_ls.8 $(MANPATH)/man8
|
2013-07-18 19:24:15 +05:30
|
|
|
$(INSTALL_DATA) man8/thin_repair.8 $(MANPATH)/man8
|
2013-07-10 20:46:56 +05:30
|
|
|
$(INSTALL_DATA) man8/thin_restore.8 $(MANPATH)/man8
|
2013-07-18 19:24:15 +05:30
|
|
|
$(INSTALL_DATA) man8/thin_rmap.8 $(MANPATH)/man8
|
|
|
|
$(INSTALL_DATA) man8/thin_metadata_size.8 $(MANPATH)/man8
|
2014-08-06 15:40:22 +05:30
|
|
|
$(INSTALL_DATA) man8/era_check.8 $(MANPATH)/man8
|
|
|
|
$(INSTALL_DATA) man8/era_dump.8 $(MANPATH)/man8
|
2017-09-18 20:40:56 +05:30
|
|
|
$(INSTALL_DATA) man8/era_restore.8 $(MANPATH)/man8
|
2014-08-06 15:40:22 +05:30
|
|
|
$(INSTALL_DATA) man8/era_invalidate.8 $(MANPATH)/man8
|
2017-09-18 20:40:56 +05:30
|
|
|
$(INSTALL_DATA) man8/thin_trim.8 $(MANPATH)/man8
|
2016-02-29 19:21:30 +05:30
|
|
|
ifeq ("@DEVTOOLS@", "yes")
|
2017-07-24 14:25:45 +05:30
|
|
|
ln -s -f pdata_tools $(BINDIR)/thin_show_duplicates
|
2016-02-29 19:21:30 +05:30
|
|
|
ln -s -f pdata_tools $(BINDIR)/thin_ll_dump
|
|
|
|
ln -s -f pdata_tools $(BINDIR)/thin_show_duplicates
|
|
|
|
ln -s -f pdata_tools $(BINDIR)/thin_generate_metadata
|
|
|
|
ln -s -f pdata_tools $(BINDIR)/thin_scan
|
|
|
|
endif
|
2013-07-18 17:49:06 +05:30
|
|
|
|
2020-06-10 15:02:36 +05:30
|
|
|
.PHONY: install install-rust-tools rust-tools
|
|
|
|
|
|
|
|
rust-tools:
|
|
|
|
cargo build --release
|
2014-08-27 18:31:31 +05:30
|
|
|
|
2020-06-10 15:02:36 +05:30
|
|
|
install-rust-tools: man8/thin_metadata_pack.8 man8/thin_metadata_unpack.8 rust-tools
|
|
|
|
$(INSTALL_PROGRAM) target/release/thin_metadata_pack $(BINDIR)
|
|
|
|
$(INSTALL_PROGRAM) target/release/thin_metadata_unpack $(BINDIR)
|
|
|
|
$(STRIP) $(BINDIR)/thin_metadata_pack
|
|
|
|
$(STRIP) $(BINDIR)/thin_metadata_unpack
|
2020-06-09 13:45:00 +05:30
|
|
|
$(INSTALL_DATA) man8/thin_metadata_pack.8 $(MANPATH)/man8
|
|
|
|
$(INSTALL_DATA) man8/thin_metadata_unpack.8 $(MANPATH)/man8
|
2011-12-21 15:34:00 +05:30
|
|
|
|
|
|
|
ifeq ("@TESTING@", "yes")
|
2011-12-21 15:38:37 +05:30
|
|
|
include unit-tests/Makefile
|
2013-01-15 10:59:40 +05:30
|
|
|
|
2017-10-10 14:58:56 +05:30
|
|
|
LIBFT_SOURCE=\
|
|
|
|
ft-lib/bcache.c \
|
|
|
|
ft-lib/crc32c.c \
|
|
|
|
ft-lib/dm-ioctl.c
|
2013-03-25 17:23:55 +05:30
|
|
|
|
2017-10-10 14:58:56 +05:30
|
|
|
LIBFT_OBJECTS=$(subst .c,.o,$(LIBFT_SOURCE))
|
2013-03-25 17:23:55 +05:30
|
|
|
|
2017-10-10 14:58:56 +05:30
|
|
|
lib/libft.so: $(LIBFT_OBJECTS)
|
2018-04-25 18:35:28 +05:30
|
|
|
@echo " [LD]" $@
|
|
|
|
$(V) gcc -shared -o $@ $+ -laio
|
2017-10-10 14:58:56 +05:30
|
|
|
|
|
|
|
.PHONEY: functional-test unit-test
|
|
|
|
|
|
|
|
functional-test: bin/pdata_tools lib/libft.so
|
|
|
|
cd functional-tests && ./run-tests run
|
|
|
|
|
|
|
|
test: functional-test unit-test
|
2013-03-25 18:26:03 +05:30
|
|
|
endif
|
|
|
|
|
|
|
|
-include $(DEPEND_FILES)
|
|
|
|
|