- add licence
- try to fix up --enable-testing, but most unit tests don't compile (include file changes?) or run (missing data?) at present - support building in different dir from src - add 'distclean' target and don't build .d files when cleaning - rebuild if Makefile changes (didn't bother triggering a build [Alasdair Kergon]
This commit is contained in:
parent
b93e5a8a6f
commit
e2d68de562
92
Makefile.in
92
Makefile.in
@ -1,3 +1,21 @@
|
|||||||
|
# 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/>.
|
||||||
|
|
||||||
.PHONEY: all
|
.PHONEY: all
|
||||||
|
|
||||||
PROGRAMS=\
|
PROGRAMS=\
|
||||||
@ -31,31 +49,41 @@ PROGRAM_SOURCE=\
|
|||||||
thin_repair.cc \
|
thin_repair.cc \
|
||||||
thin_restore.cc
|
thin_restore.cc
|
||||||
|
|
||||||
CXX=@CXX@
|
CXX:=@CXX@
|
||||||
OBJECTS=$(subst .cc,.o,$(SOURCE))
|
OBJECTS:=$(subst .cc,.o,$(SOURCE))
|
||||||
TOP_DIR:=@top_srcdir@
|
TOP_DIR:=@top_srcdir@
|
||||||
CXXFLAGS=-Wall -I$(TOP_DIR)
|
TOP_BUILDDIR:=@top_builddir@
|
||||||
|
CXXFLAGS+=-Wall
|
||||||
CXXFLAGS+=@CXXOPTIMISE_FLAG@
|
CXXFLAGS+=@CXXOPTIMISE_FLAG@
|
||||||
CXXFLAGS+=@CXXDEBUG_FLAG@
|
CXXFLAGS+=@CXXDEBUG_FLAG@
|
||||||
LIBS=-lstdc++
|
INCLUDES+=-I$(TOP_BUILDDIR) -I$(TOP_DIR)
|
||||||
INSTALL=@INSTALL@
|
LIBS:=-lstdc++
|
||||||
DESTDIR=@prefix@
|
LIBEXPAT:=-lexpat
|
||||||
BINDIR=$(DESTDIR)/sbin
|
INSTALL:=@INSTALL@
|
||||||
MANPATH=$(DESTDIR)$(MANDIR)
|
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
|
||||||
|
|
||||||
.PHONEY: test-programs
|
.PHONEY: test-programs
|
||||||
|
|
||||||
test-programs: $(TEST_PROGRAMS)
|
test-programs: $(TEST_PROGRAMS)
|
||||||
|
|
||||||
.SUFFIXES: .cc .o .d
|
.SUFFIXES: .d
|
||||||
|
|
||||||
.cc.d:
|
%.d: %.cc
|
||||||
$(CXX) -MM -MT $(subst .cc,.o,$<) $(CXXFLAGS) $< > $@.$$$$; \
|
$(CXX) -MM -MT $(subst .cc,.o,$<) $(INCLUDES) $(CXXFLAGS) $< > $@.$$$$;\
|
||||||
sed 's,\([^ :]*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
|
sed 's,\([^ :]*\)\.o[ :]*,\1.o $@ : Makefile ,g' < $@.$$$$ > $@; \
|
||||||
rm -f $@.$$$$
|
$(RM) $@.$$$$
|
||||||
|
|
||||||
.cc.o:
|
%.o: %.cc
|
||||||
$(CXX) -c $(CXXFLAGS) $(INCLUDES) -o $@ $<
|
$(CXX) -c $(INCLUDES) $(CXXFLAGS) -o $@ $<
|
||||||
|
|
||||||
THIN_DUMP_SOURCE=$(SOURCE)
|
THIN_DUMP_SOURCE=$(SOURCE)
|
||||||
THIN_RESTORE_SOURCE=$(SOURCE)
|
THIN_RESTORE_SOURCE=$(SOURCE)
|
||||||
@ -78,31 +106,37 @@ THIN_RESTORE_OBJECTS=$(subst .cc,.o,$(THIN_RESTORE_SOURCE))
|
|||||||
THIN_REPAIR_OBJECTS=$(subst .cc,.o,$(THIN_REPAIR_SOURCE))
|
THIN_REPAIR_OBJECTS=$(subst .cc,.o,$(THIN_REPAIR_SOURCE))
|
||||||
|
|
||||||
thin_dump: $(THIN_DUMP_OBJECTS) thin_dump.o
|
thin_dump: $(THIN_DUMP_OBJECTS) thin_dump.o
|
||||||
$(CXX) $(CXXFLAGS) -o $@ $+ $(LIBS) -lexpat
|
$(CXX) $(CXXFLAGS) -o $@ $+ $(LIBS) $(LIBEXPAT)
|
||||||
|
|
||||||
thin_restore: $(THIN_RESTORE_OBJECTS) thin_restore.o
|
thin_restore: $(THIN_RESTORE_OBJECTS) thin_restore.o
|
||||||
$(CXX) $(CXXFLAGS) -o $@ $+ $(LIBS) -lexpat
|
$(CXX) $(CXXFLAGS) -o $@ $+ $(LIBS) $(LIBEXPAT)
|
||||||
|
|
||||||
thin_repair: $(THIN_REPAIR_OBJECTS) thin_repair.o
|
thin_repair: $(THIN_REPAIR_OBJECTS) thin_repair.o
|
||||||
$(CXX) $(CXXFLAGS) -o $@ $+ $(LIBS)
|
$(CXX) $(CXXFLAGS) -o $@ $+ $(LIBS)
|
||||||
|
|
||||||
.PHONEY: clean
|
.PHONEY: clean distclean
|
||||||
clean:
|
clean:
|
||||||
rm -f *.o unit-tests/*.o *.d unit-tests/*.d $(TEST_PROGRAMS) $(PROGRAMS)
|
$(RM) *.o unit-tests/*.o *.d unit-tests/*.d $(TEST_PROGRAMS) $(PROGRAMS)
|
||||||
|
distclean: clean
|
||||||
|
$(RM) config.cache config.log config.status configure.h version.h Makefile unit-tests/Makefile.in
|
||||||
|
|
||||||
.PHONEY: install
|
.PHONEY: install
|
||||||
install: $(PROGRAMS)
|
install: $(PROGRAMS)
|
||||||
$(INSTALL) -m 755 -D thin_repair $(BINDIR)/thin_repair
|
$(INSTALL_DIR) $(BINDIR)
|
||||||
$(INSTALL) -m 755 -D thin_dump $(BINDIR)/thin_dump
|
$(INSTALL_PROGRAM) thin_repair $(BINDIR)/thin_repair
|
||||||
$(INSTALL) -m 755 -D thin_restore $(BINDIR)/thin_restore
|
$(INSTALL_PROGRAM) thin_dump $(BINDIR)/thin_dump
|
||||||
$(INSTALL) -m 644 -D man8/thin_repair.8 $(MANPATH)/man8/thin_repair.8
|
$(INSTALL_PROGRAM) thin_restore $(BINDIR)/thin_restore
|
||||||
$(INSTALL) -m 644 -D man8/thin_dump.8 $(MANPATH)/man8/thin_dump.8
|
$(INSTALL_DIR) $(MANPATH)/man8
|
||||||
$(INSTALL) -m 644 -D man8/thin_restore.8 $(MANPATH)/man8/thin_restore.8
|
$(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
|
||||||
|
|
||||||
-include $(subst .cc,.d,$(SOURCE))
|
ifeq (,$(findstring $(MAKECMDGOALS),clean distclean))
|
||||||
-include $(subst .cc,.d,$(TEST_SOURCE))
|
-include $(subst .cc,.d,$(SOURCE))
|
||||||
-include $(subst .cc,.d,$(PROGRAM_SOURCE))
|
-include $(subst .cc,.d,$(TEST_SOURCE))
|
||||||
|
-include $(subst .cc,.d,$(PROGRAM_SOURCE))
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ("$(TESTING)", "yes")
|
ifeq ("@TESTING@", "yes")
|
||||||
include unit-tests/Makefile.in
|
include unit-tests/Makefile.in
|
||||||
endif
|
endif
|
||||||
|
@ -77,11 +77,11 @@ AC_MSG_CHECKING(group owner)
|
|||||||
AC_ARG_WITH(group,
|
AC_ARG_WITH(group,
|
||||||
AC_HELP_STRING([--with-group=GROUP],
|
AC_HELP_STRING([--with-group=GROUP],
|
||||||
[set the group owner of installed files [[GROUP=]]]),
|
[set the group owner of installed files [[GROUP=]]]),
|
||||||
GROUP=$withval)
|
INSTALL_GROUP=$withval)
|
||||||
AC_MSG_RESULT($GROUP)
|
AC_MSG_RESULT($INSTALL_GROUP)
|
||||||
|
|
||||||
if test x$GROUP != x; then
|
if test x$INSTALL_GROUP != x; then
|
||||||
INSTALL="$INSTALL -g $GROUP"
|
INSTALL="$INSTALL -g $INSTALL_GROUP"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
@ -140,6 +140,7 @@ AC_SUBST(INSTALL)
|
|||||||
AC_SUBST(prefix)
|
AC_SUBST(prefix)
|
||||||
AC_SUBST(RELEASE_DATE)
|
AC_SUBST(RELEASE_DATE)
|
||||||
AC_SUBST(RELEASE_DATE)
|
AC_SUBST(RELEASE_DATE)
|
||||||
|
AC_SUBST(TESTING)
|
||||||
AC_SUBST(THIN_PROVISIONING_TOOLS_VERSION)
|
AC_SUBST(THIN_PROVISIONING_TOOLS_VERSION)
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
@ -1,7 +1,27 @@
|
|||||||
|
# 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/>.
|
||||||
|
|
||||||
TEST_SOURCE=\
|
TEST_SOURCE=\
|
||||||
unit-tests/block_t.cc \
|
unit-tests/cache_t.cc
|
||||||
|
|
||||||
|
# FIXME Make these tests work.
|
||||||
|
# unit-tests/block_t.cc \
|
||||||
unit-tests/btree_t.cc \
|
unit-tests/btree_t.cc \
|
||||||
unit-tests/cache_t.cc \
|
|
||||||
unit-tests/endian_t.cc \
|
unit-tests/endian_t.cc \
|
||||||
unit-tests/run_list_t.cc \
|
unit-tests/run_list_t.cc \
|
||||||
unit-tests/space_map_t.cc \
|
unit-tests/space_map_t.cc \
|
||||||
@ -16,28 +36,28 @@ unit-test: $(TEST_PROGRAMS)
|
|||||||
for p in $(TEST_PROGRAMS); do echo Running $$p; ./$$p; done
|
for p in $(TEST_PROGRAMS); do echo Running $$p; ./$$p; done
|
||||||
|
|
||||||
unit-tests/block_t: unit-tests/block_t.o
|
unit-tests/block_t: unit-tests/block_t.o
|
||||||
g++ $(CPPFLAGS) -o $@ $+ $(LIBS)
|
g++ $(CXXFLAGS) -o $@ $+ $(LIBS)
|
||||||
|
|
||||||
unit-tests/btree_t: unit-tests/btree_t.o $(OBJECTS)
|
unit-tests/btree_t: unit-tests/btree_t.o $(OBJECTS)
|
||||||
g++ $(CPPFLAGS) -o $@ $+ $(LIBS)
|
g++ $(CXXFLAGS) -o $@ $+ $(LIBS) $(LIBEXPAT)
|
||||||
|
|
||||||
unit-tests/cache_t: unit-tests/cache_t.o $(OBJECTS)
|
unit-tests/cache_t: unit-tests/cache_t.o $(OBJECTS)
|
||||||
g++ $(CPPFLAGS) -o $@ $+ $(LIBS)
|
g++ $(CXXFLAGS) -o $@ $+ $(LIBS) $(LIBEXPAT)
|
||||||
|
|
||||||
unit-tests/run_list_t: unit-tests/run_list_t.o $(OBJECTS)
|
unit-tests/run_list_t: unit-tests/run_list_t.o $(OBJECTS)
|
||||||
g++ $(CPPFLAGS) -o $@ $+ $(LIBS)
|
g++ $(CXXFLAGS) -o $@ $+ $(LIBS) $(LIBEXPAT)
|
||||||
|
|
||||||
unit-tests/space_map_t: unit-tests/space_map_t.o $(OBJECTS)
|
unit-tests/space_map_t: unit-tests/space_map_t.o $(OBJECTS)
|
||||||
g++ $(CPPFLAGS) -o $@ $+ $(LIBS)
|
g++ $(CXXFLAGS) -o $@ $+ $(LIBS) $(LIBEXPAT)
|
||||||
|
|
||||||
unit-tests/space_map_disk_t: unit-tests/space_map_disk_t.o $(OBJECTS)
|
unit-tests/space_map_disk_t: unit-tests/space_map_disk_t.o $(OBJECTS)
|
||||||
g++ $(CPPFLAGS) -o $@ $+ $(LIBS)
|
g++ $(CXXFLAGS) -o $@ $+ $(LIBS) $(LIBEXPAT)
|
||||||
|
|
||||||
unit-tests/transaction_manager_t: unit-tests/transaction_manager_t.o $(OBJECTS)
|
unit-tests/transaction_manager_t: unit-tests/transaction_manager_t.o $(OBJECTS)
|
||||||
g++ $(CPPFLAGS) -o $@ $+ $(LIBS)
|
g++ $(CXXFLAGS) -o $@ $+ $(LIBS) $(LIBEXPAT)
|
||||||
|
|
||||||
unit-tests/metadata_t: unit-tests/metadata_t.o $(OBJECTS)
|
unit-tests/metadata_t: unit-tests/metadata_t.o $(OBJECTS)
|
||||||
g++ $(CPPFLAGS) -o $@ $+ $(LIBS)
|
g++ $(CXXFLAGS) -o $@ $+ $(LIBS) $(LIBEXPAT)
|
||||||
|
|
||||||
unit-tests/endian_t: unit-tests/endian_t.o $(OBJECTS)
|
unit-tests/endian_t: unit-tests/endian_t.o $(OBJECTS)
|
||||||
g++ $(CPPFLAGS) -o $@ $+ $(LIBS)
|
g++ $(CXXFLAGS) -o $@ $+ $(LIBS) $(LIBEXPAT)
|
||||||
|
Loading…
Reference in New Issue
Block a user