]> sigrok.org Git - libsigrok.git/blobdiff - m4/sigrok.m4
sigrok.m4: Suppress make variable for ORDER
[libsigrok.git] / m4 / sigrok.m4
index 352e5ac064e767b1a23b0dd68612fbeedbf93816..539c3849597be8c305e96a445c7dbbd52ad4d8ab 100644 (file)
@@ -18,7 +18,7 @@
 ## along with this program.  If not, see <http://www.gnu.org/licenses/>.
 ##
 
-#serial 20150825
+#serial 20150908
 
 ## SR_APPEND(var-name, [list-sep,] element)
 ##
@@ -319,6 +319,52 @@ _SR_ARG_OPT_PKG(m4_defn([_SR_VAR_OPT_PKG_FEATURES]),
        m4_shift3($@))[]dnl
 ])
 
+## SR_PROG_MAKE_NO_PRINT_DIRECTORY
+##
+## Check whether the make program supports the --no-print-directory flag.
+## If so, add it to AM_MAKEFLAGS.
+##
+AC_DEFUN([SR_PROG_MAKE_NO_PRINT_DIRECTORY],
+[dnl
+AC_CACHE_CHECK([whether [$]{MAKE:-make} supports --no-print-directory],
+       [sr_cv_prog_make_no_print_dir], [
+cat >conftest.mk <<'_SREOF'
+all: ; @:
+.PHONY: all
+_SREOF
+AS_IF([[$]{MAKE:-make} -f conftest.mk --no-print-directory >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD],
+       [sr_cv_prog_make_no_print_dir=yes], [sr_cv_prog_make_no_print_dir=no])
+rm -f conftest.mk
+])
+AS_IF([test "x$sr_cv_prog_make_no_print_dir" = xyes],
+       [SR_APPEND([AM_MAKEFLAGS], [--no-print-directory])])
+AC_SUBST([AM_MAKEFLAGS])
+])
+
+## SR_PROG_MAKE_ORDER_ONLY
+##
+## Check whether the make program supports order-only prerequisites.
+## If so, set the substitution variable ORDER to '|', or to the empty
+## string otherwise.
+##
+AC_DEFUN([SR_PROG_MAKE_ORDER_ONLY],
+[dnl
+AC_CACHE_CHECK([whether [$]{MAKE:-make} supports order-only prerequisites],
+       [sr_cv_prog_make_order_only], [
+cat >conftest.mk <<'_SREOF'
+a: b | c
+a b c: ; @:
+.PHONY: a b c
+_SREOF
+AS_IF([[$]{MAKE:-make} -f conftest.mk >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD],
+       [sr_cv_prog_make_order_only=yes], [sr_cv_prog_make_order_only=no])
+rm -f conftest.mk
+])
+AS_IF([test "x$sr_cv_prog_make_order_only" = xyes], [ORDER='|'], [ORDER=])
+AC_SUBST([ORDER])
+AM_SUBST_NOTMAKE([ORDER])[]dnl
+])
+
 ## SR_CHECK_COMPILE_FLAGS(flags-var, description, flags)
 ##
 ## Find a compiler flag for <description>. For each flag in <flags>, check