overlay: run unionmount testsuite test cases
[xfstests-dev.git] / Makefile
index 39e5290679542e371c84f4da120d4d91b7585f15..9fd37e0cca54f8029d4613e64b749372be7aefd7 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,20 @@
+# SPDX-License-Identifier: GPL-2.0+
+# Copyright (C) 2000-2008, 2011 SGI  All Rights Reserved.
 #
-# Copyright (c) 2000-2008 Silicon Graphics, Inc.  All Rights Reserved.
-#
+ifeq ("$(origin V)", "command line")
+  BUILD_VERBOSE = $(V)
+endif
+ifndef BUILD_VERBOSE
+  BUILD_VERBOSE = 0
+endif
+
+ifeq ($(BUILD_VERBOSE),1)
+  Q =
+else
+  Q = @
+endif
+
+MAKEOPTS = --no-print-directory Q=$(Q)
 
 TOPDIR = .
 HAVE_BUILDDEFS = $(shell test -f $(TOPDIR)/include/builddefs && echo yes || echo no)
@@ -9,48 +23,88 @@ ifeq ($(HAVE_BUILDDEFS), yes)
 include $(TOPDIR)/include/builddefs
 endif
 
-TESTS = $(shell sed -n -e '/^[0-9][0-9][0-9]*/s/ .*//p' group)
-CONFIGURE = configure include/builddefs include/config.h
-DMAPI_MAKEFILE = dmapi/Makefile
-LSRCFILES = configure configure.in aclocal.m4 README VERSION
-LDIRT = config.log .dep config.status config.cache confdefs.h conftest* \
-       check.log check.time
+SRCTAR = $(PKG_NAME)-$(PKG_VERSION).tar.gz
 
-SUBDIRS = include lib ltp src m4
+CONFIGURE = configure include/config.h include/config.h.in \
+           aclocal.m4 config.guess config.sub install-sh ltmain.sh \
+           m4/libtool.m4 m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4 \
+           m4/lt~obsolete.m4
+LSRCFILES = configure configure.ac aclocal.m4 README VERSION
+LDIRT = config.log .ltdep .dep config.status config.cache confdefs.h \
+       conftest* check.log check.time libtool include/builddefs
 
-default: $(CONFIGURE) $(DMAPI_MAKEFILE) new remake check $(TESTS)
-ifeq ($(HAVE_BUILDDEFS), no)
-       $(MAKE) $@
-else
-       $(SUBDIRS_MAKERULE)
-       # automake doesn't always support "default" target 
-       # so do dmapi make explicitly with "all"
+ifeq ($(HAVE_BUILDDEFS), yes)
+LDIRT += $(SRCTAR)
+endif
+
+LIB_SUBDIRS = include lib
+TOOL_SUBDIRS = ltp src m4 common
 ifeq ($(HAVE_DMAPI), true)
-       cd $(TOPDIR)/dmapi; make all
+TOOL_SUBDIRS += dmapi
 endif
+
+export TESTS_DIR = tests
+SUBDIRS = $(LIB_SUBDIRS) $(TOOL_SUBDIRS) $(TESTS_DIR)
+
+default: include/builddefs $(DMAPI_MAKEFILE)
+ifeq ($(HAVE_BUILDDEFS), no)
+       $(Q)$(MAKE) $(MAKEOPTS) $@
+else
+       $(Q)$(MAKE) $(MAKEOPTS) $(SUBDIRS)
 endif
 
+# tool/lib dependencies
+$(TOOL_SUBDIRS): $(LIB_SUBDIRS)
+
 ifeq ($(HAVE_BUILDDEFS), yes)
 include $(BUILDRULES)
 else
 clean:  # if configure hasn't run, nothing to clean
 endif
 
-$(CONFIGURE):
+configure: configure.ac
+       libtoolize -cfi
+       cp include/install-sh .
+       aclocal -I m4
        autoheader
        autoconf
+
+include/builddefs include/config.h: configure
        ./configure \
                 --libexecdir=/usr/lib \
-                --enable-lib64=yes
-
-$(DMAPI_MAKEFILE):
-       cd $(TOPDIR)/dmapi/ ; ./configure
+                --exec_prefix=/var/lib
 
 aclocal.m4::
        aclocal --acdir=`pwd`/m4 --output=$@
 
-install install-dev install-lib:
+depend: include/builddefs $(addsuffix -depend,$(SUBDIRS))
+
+install: default $(addsuffix -install,$(SUBDIRS))
+       $(INSTALL) -m 755 -d $(PKG_LIB_DIR)
+       $(INSTALL) -m 755 check $(PKG_LIB_DIR)
+       $(INSTALL) -m 644 randomize.awk $(PKG_LIB_DIR)
+
+# Nothing.
+install-dev install-lib:
+
+%-install:
+       $(MAKE) $(MAKEOPTS) -C $* install
 
 realclean distclean: clean
-       rm -f $(LDIRT) $(CONFIGURE)
-       rm -rf autom4te.cache Logs
+       $(Q)rm -f $(LDIRT) $(CONFIGURE)
+       $(Q)rm -rf autom4te.cache Logs
+
+dist: include/builddefs include/config.h default
+ifeq ($(HAVE_BUILDDEFS), no)
+       $(Q)$(MAKE) $(MAKEOPTS) -C . $@
+else
+       $(Q)$(MAKE) $(MAKEOPTS) $(SRCTAR)
+endif
+
+$(SRCTAR) : default
+       $(Q)git archive --prefix=$(PKG_NAME)-$(PKG_VERSION)/ --format=tar \
+         v$(PKG_VERSION) > $(PKG_NAME)-$(PKG_VERSION).tar
+       $(Q)$(TAR) --transform "s,^,$(PKG_NAME)-$(PKG_VERSION)/," \
+         -rf $(PKG_NAME)-$(PKG_VERSION).tar $(CONFIGURE)
+       $(Q)$(ZIP) $(PKG_NAME)-$(PKG_VERSION).tar
+       echo Wrote: $@