#
# Copyright (C) 2004-2015 Red Hat, Inc. All rights reserved.
#
# This file is part of LVM2.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions
# of the GNU General Public License v.2.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

srcdir = @srcdir@
top_srcdir = @top_srcdir@
top_builddir = @top_builddir@

.PHONY: client server

SUBDIRS += client

ifeq (@BUILD_LVMETAD@,yes)
  SUBDIRS += server
server: client
else ifeq (@BUILD_LVMPOLLD@,yes)
  SUBDIRS += server
server: client
endif

ifeq ($(MAKECMDGOALS),distclean)
  SUBDIRS = client server
endif

include $(top_builddir)/make.tmpl
