Home | History | Annotate | Line # | Download | only in dist
      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