This allows external scripts/programs to determine the
values of OMK variables such as RELATIVE_DIR etc.
Usage: make omk-get-var VAR=RELATIVE_DIR
Output: RELATIVE_DIR=some_dir
@$(MAKE) -C $(MAKERULES_DIR) OMK_SERIALIZE_INCLUDED=n SOURCES_DIR=$(MAKERULES_DIR) RELATIVE_DIR="" $(MAKECMDGOALS) W=0
endif
+# omk-get-var target allows external scripts/programs to determine the
+# values of OMK variables such as RELATIVE_DIR etc.
+.PHONY: omk-get-var
+omk-get-var:
+ @$(foreach var,$(VAR),echo $(var)=$($(var));)
+
#=========================
# Include the config file
-wvtest_SCRIPTS = bin_scripts.sh all_omk_subdirs-recurs-expanded \
+wvtest_SCRIPTS = get_var.sh bin_scripts.sh all_omk_subdirs-recurs-expanded \
all_omk_subdirs-simply-expanded automatic_subdirs cmetric \
default-config extra_rules_subdirs header-files headers-generated \
headers-generated-default-cflags headers-nonexisting hooks \
--- /dev/null
+#!/bin/bash
+
+. wvtest.sh
+
+omkize
+
+WVPASS touch Makefile.omk
+WVPASS make default-config
+
+# --no-print-directory must be used and I do not know exactly why. If
+# the test is called ./get_var.sh, no "Entering directory" messages
+# are printed and if it is invoken from make, the messages are
+# printed.
+make --no-print-directory omk-get-var VAR="VAR RELATIVE_DIR blabla" > output
+WVPASSRC
+
+WVPASS diff -u - output <<EOF
+VAR=VAR RELATIVE_DIR blabla
+RELATIVE_DIR=
+blabla=
+EOF