]> rtime.felk.cvut.cz Git - omk.git/commitdiff
Add omk-get-var target to get values of OMK variables
authorMichal Sojka <sojkam1@fel.cvut.cz>
Fri, 11 Mar 2011 21:07:37 +0000 (22:07 +0100)
committerMichal Sojka <sojkam1@fel.cvut.cz>
Sat, 12 Mar 2011 16:07:40 +0000 (17:07 +0100)
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

snippets/base.omk
tests/Makefile
tests/get_var.sh [new file with mode: 0755]

index 6b962822a275ef14ffea4c6222fc5061629e4466..69a1d8585719e9f9038a9d25f5342ddb1e64a498 100644 (file)
@@ -57,6 +57,12 @@ all:
        @$(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
 
index 90b1f85f879088d57e0417b9d202182ab0525f7e..754c6f2314abab77247ae2e00f3eebb092c0234f 100644 (file)
@@ -1,4 +1,4 @@
-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             \
diff --git a/tests/get_var.sh b/tests/get_var.sh
new file mode 100755 (executable)
index 0000000..c8e9ffc
--- /dev/null
@@ -0,0 +1,21 @@
+#!/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