1 # 2 # Copyright (C) 2001-2004 Sistina Software, Inc. All rights reserved. 3 # Copyright (C) 2004-2008 Red Hat, Inc. All rights reserved. 4 # 5 # This file is part of LVM2. 6 # 7 # This copyrighted material is made available to anyone wishing to use, 8 # modify, copy, or redistribute it subject to the terms and conditions 9 # of the GNU General Public License v.2. 10 # 11 # You should have received a copy of the GNU General Public License 12 # along with this program; if not, write to the Free Software Foundation, 13 # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 14 15 srcdir = . 16 top_srcdir = . 17 top_builddir = . 18 19 20 SUBDIRS = doc include man scripts 21 22 ifeq ("no", "yes") 23 SUBDIRS += udev 24 endif 25 26 ifeq ("no", "yes") 27 SUBDIRS += po 28 endif 29 30 SUBDIRS += lib tools daemons libdm 31 32 ifeq ("no", "yes") 33 SUBDIRS += liblvm 34 endif 35 36 ifeq ($(MAKECMDGOALS),distclean) 37 SUBDIRS += daemons/clvmd \ 38 daemons/cmirrord \ 39 daemons/dmeventd/plugins \ 40 daemons/dmeventd \ 41 lib/format1 \ 42 lib/format_pool \ 43 lib/locking \ 44 lib/mirror \ 45 lib/snapshot \ 46 liblvm \ 47 udev \ 48 test/api \ 49 test \ 50 po 51 DISTCLEAN_TARGETS += lib/misc/configure.h lib/misc/lvm-version.h 52 DISTCLEAN_DIRS += lcov_reports* 53 endif 54 55 include make.tmpl 56 57 libdm: include 58 lib: libdm 59 liblvm: lib 60 daemons: lib tools 61 tools: lib device-mapper 62 po: tools daemons 63 64 libdm.device-mapper: include.device-mapper 65 daemons.device-mapper: libdm.device-mapper 66 tools.device-mapper: libdm.device-mapper 67 device-mapper: tools.device-mapper daemons.device-mapper man.device-mapper 68 69 ifeq ("no", "yes") 70 lib.pofile: include.pofile 71 tools.pofile: lib.pofile 72 daemons.pofile: lib.pofile 73 po.pofile: tools.pofile daemons.pofile 74 pofile: po.pofile 75 endif 76 77 ifneq ("", "") 78 tools.cflow: lib.cflow 79 cflow: tools.cflow 80 endif 81 82 ifneq ("", "") 83 cscope.out: tools 84 -b -R 85 all: cscope.out 86 endif 87 88 check: all 89 $(MAKE) -C test all 90 91 ifneq ("", "") 92 .PHONY: lcov-reset lcov lcov-dated 93 94 ifeq ($(MAKECMDGOALS),lcov-dated) 95 LCOV_REPORTS_DIR=$(top_srcdir)/lcov_reports-$(shell date +%Y%m%d%k%M%S) 96 else 97 LCOV_REPORTS_DIR=$(top_srcdir)/lcov_reports 98 endif 99 100 lcov-reset: 101 $(LCOV) -d $(top_srcdir)/dmeventd --zerocounters 102 $(LCOV) -d $(top_srcdir)/libdm --zerocounters 103 $(LCOV) -d $(top_srcdir)/lib --zerocounters 104 $(LCOV) -d $(top_srcdir)/tools --zerocounters 105 106 lcov: all 107 $(RM) -rf $(LCOV_REPORTS_DIR) 108 $(MKDIR_P) $(LCOV_REPORTS_DIR) 109 $(LCOV) -b $(top_srcdir)/libdm -d $(top_srcdir)/libdm -c -o $(LCOV_REPORTS_DIR)/libdm.info 110 $(LCOV) -b $(top_srcdir)/lib -d $(top_srcdir)/lib -c -o $(LCOV_REPORTS_DIR)/lib.info 111 $(LCOV) -b $(top_srcdir)/tools -d $(top_srcdir)/tools -c -o $(LCOV_REPORTS_DIR)/tools.info 112 DMEVENTD_INFO="$(LCOV_REPORTS_DIR)/dmeventd.info" ;\ 113 DMEVENTD_INFO_A="-a $$DMEVENTDINFO" ;\ 114 $(LCOV) -b $(top_srcdir)/dmeventd -d $(top_srcdir)/dmeventd -c -o $$DMEVENTD_INFO || DMEVENTD_INFO_A="" ;\ 115 $(LCOV) $$DMEVENTD_INFO_A -a $(LCOV_REPORTS_DIR)/lib.info \ 116 -a $(LCOV_REPORTS_DIR)/libdm.info \ 117 -a $(LCOV_REPORTS_DIR)/tools.info \ 118 -o $(LCOV_REPORTS_DIR)/lvm.info 119 ifneq ("", "") 120 $(GENHTML) -o $(LCOV_REPORTS_DIR) -p $(top_srcdir) $(LCOV_REPORTS_DIR)/lvm.info 121 endif 122 123 lcov-dated: lcov 124 125 endif 126