#
# Copyright (C) 2001-2004 Sistina Software, Inc. All rights reserved.
-# Copyright (C) 2004-2008 Red Hat, Inc. All rights reserved.
+# Copyright (C) 2004-2010 Red Hat, Inc. All rights reserved.
#
# This file is part of LVM2.
#
top_srcdir = @top_srcdir@
top_builddir = @top_builddir@
-SUBDIRS = doc include man scripts
+SUBDIRS = doc include man
ifeq ("@UDEV_RULES@", "yes")
SUBDIRS += udev
SUBDIRS += liblvm
endif
+ifeq ("@BUILD_LVMETAD@", "yes")
+ SUBDIRS += libdaemon
+endif
+
+SUBDIRS += scripts
+
+# FIXME Should use intermediate Makefiles here!
ifeq ($(MAKECMDGOALS),distclean)
SUBDIRS = doc include man scripts \
- lib tools daemons libdm \
- udev po liblvm test/api test
+ libdaemon lib tools daemons libdm \
+ udev po liblvm test \
+ unit-tests/datastruct unit-tests/mm unit-tests/regex
endif
DISTCLEAN_DIRS += lcov_reports*
DISTCLEAN_TARGETS += config.cache config.log config.status make.tmpl
include make.tmpl
libdm: include
-lib: libdm
+lib: libdm libdaemon
liblvm: lib
-daemons: lib tools
-tools: lib device-mapper
+daemons: lib libdaemon tools
+tools: lib libdaemon device-mapper
po: tools daemons
+scripts: liblvm libdm
+lib.device-mapper: include.device-mapper
libdm.device-mapper: include.device-mapper
+liblvm.device-mapper: include.device-mapper
daemons.device-mapper: libdm.device-mapper
tools.device-mapper: libdm.device-mapper
device-mapper: tools.device-mapper daemons.device-mapper man.device-mapper
endif
DISTCLEAN_TARGETS += cscope.out
-check check_cluster check_local: all
+check check_cluster check_local check_lvmetad unit: all
$(MAKE) -C test $(@)
install_system_dirs:
- $(INSTALL_ROOT_DIR) $(DESTDIR)$(DEFAULT_SYS_DIR)
+ $(INSTALL_DIR) $(DESTDIR)$(DEFAULT_SYS_DIR)
$(INSTALL_ROOT_DIR) $(DESTDIR)$(DEFAULT_ARCHIVE_DIR)
$(INSTALL_ROOT_DIR) $(DESTDIR)$(DEFAULT_BACKUP_DIR)
$(INSTALL_ROOT_DIR) $(DESTDIR)$(DEFAULT_CACHE_DIR)
$(INSTALL_ROOT_DIR) $(DESTDIR)$(DEFAULT_LOCK_DIR)
+ $(INSTALL_ROOT_DIR) $(DESTDIR)$(DEFAULT_RUN_DIR)
$(INSTALL_ROOT_DATA) /dev/null $(DESTDIR)$(DEFAULT_CACHE_DIR)/.cache
+install_initscripts:
+ $(MAKE) -C scripts install_initscripts
+
+install_systemd_generators:
+ $(MAKE) -C scripts install_systemd_generators
+
+install_systemd_units:
+ $(MAKE) -C scripts install_systemd_units
+
+install_tmpfiles_configuration:
+ $(MAKE) -C scripts install_tmpfiles_configuration
+
LCOV_TRACES = libdm.info lib.info tools.info \
daemons/dmeventd.info daemons/clvmd.info
CLEAN_TARGETS += $(LCOV_TRACES)
# maybe use subdirs processing to create tracefiles...
$(LCOV_TRACES):
- $(LCOV) -b $(top_srcdir)/$(basename $@) \
- -d $(basename $@) -c -o - | $(SED) \
+ $(LCOV) -b $(basename $@) -d $(basename $@) \
+ --ignore-errors source -c -o - | $(SED) \
-e "s/\(dmeventd_lvm.[ch]\)/plugins\/lvm2\/\1/" \
- -e "s/\(dmeventd_mirror.c\)/plugins\/mirror\/\1/" \
- -e "s/\(dmeventd_snapshot.c\)/plugins\/snapshot\/\1/" \
+ -e "s/dmeventd_\(mirror\|snapshot\|thin\|raid\)\.c/plugins\/\1\/dmeventd_\1\.c/" \
>$@
ifneq ("$(GENHTML)", "")
endif
endif
+
+ifeq ("$(TESTING)", "yes")
+# testing and report generation
+RUBY=ruby1.9 -Ireport-generators/lib -Ireport-generators/test
+
+.PHONEY: unit-test ruby-test test-programs
+
+# FIXME: put dependencies on libdm and liblvm
+# FIXME: Should be handled by Makefiles in subdirs, not here at top level.
+test-programs:
+ cd unit-tests/regex && $(MAKE)
+ cd unit-tests/datastruct && $(MAKE)
+ cd unit-tests/mm && $(MAKE)
+
+unit-test: test-programs
+ $(RUBY) report-generators/unit_test.rb $(shell find . -name TESTS)
+ $(RUBY) report-generators/title_page.rb
+
+memcheck: test-programs
+ $(RUBY) report-generators/memcheck.rb $(shell find . -name TESTS)
+ $(RUBY) report-generators/title_page.rb
+
+ruby-test:
+ $(RUBY) report-generators/test/ts.rb
+endif