summaryrefslogtreecommitdiff
path: root/mk/mkc_imp.preinit.mk
diff options
context:
space:
mode:
Diffstat (limited to 'mk/mkc_imp.preinit.mk')
-rw-r--r--mk/mkc_imp.preinit.mk32
1 files changed, 32 insertions, 0 deletions
diff --git a/mk/mkc_imp.preinit.mk b/mk/mkc_imp.preinit.mk
new file mode 100644
index 0000000..81cdc1f
--- /dev/null
+++ b/mk/mkc_imp.preinit.mk
@@ -0,0 +1,32 @@
+# Copyright (c) 2010 by Aleksey Cheusov
+#
+# See LICENSE file in the distribution.
+############################################################
+
+####################
+BMAKE_REQD ?= 20110606
+
+.ifdef MAKE_VERSION
+_bmake_ok != test ${MAKE_VERSION} -ge ${BMAKE_REQD} && echo 1 || echo 0
+.else
+_bmake_ok = 0
+.endif
+
+.if !${_bmake_ok}
+.error "bmake-${BMAKE_REQD} or newer is required"
+.endif
+
+.ifdef _top_mk
+.for i in SUBDIR SUBPRJ PROG LIB
+.if defined(${i}) && ${_top_mk} != "mkc.${i:tl}.mk"
+.error "${i} is not allowed for ${_top_mk}"
+.endif
+.endfor
+.endif
+
+####################
+.if !make(clean) && !make(cleandir) && !make(distclean) && !make(obj)
+MKCHECKS ?= yes
+.else
+MKCHECKS ?= no
+.endif # clean/cleandir/distclean