]> rtime.felk.cvut.cz Git - omk.git/blobdiff - tests/programs-cflags
Add failing test
[omk.git] / tests / programs-cflags
index 744bd9a91fd30c9f3c835b7d79b82518b458b391..73d0b361c5dfa3704da53c8623f0752dc5eae3d3 100755 (executable)
@@ -20,29 +20,72 @@ test_SOURCES = test.c
 EOF
 }
 
-grepout() {
+grepbinout() {
     if [ $OMK_RULES = linux ]; then
        # The following should work only with Linux rules
-       _compiled/bin/test|grep $@
+       local bin=$1
+       shift
+       _compiled/bin/$bin|grep $@
     fi
 }
+grepout() {
+    grepbinout test $@
+}
 
 set -o pipefail
 
-WVSTART "AM_CFLAGS"
+WVSTART "OMK_CFLAGS"
 create_files
 needs_valid_CC
-WVPASS make AM_CFLAGS=-DNUMBER=123
+WVPASS make OMK_CFLAGS=-DNUMBER=123
 WVPASS grepout 123
 
-WVSTART "CFLAGS override AM_CFLAGS"
+WVSTART "CFLAGS override OMK_CFLAGS"
 create_files
-WVPASS make AM_CFLAGS=-DNUMBER=123 CFLAGS=-DNUMBER=321
+WVPASS make OMK_CFLAGS=-DNUMBER=123 CFLAGS=-DNUMBER=321
 WVPASS grepout 321
 
 
-WVSTART "AM_CFLAGS in config.omk"
+WVSTART "OMK_CFLAGS in config.omk"
 create_files
-echo "AM_CFLAGS=-DNUMBER=123" > config.omk
+echo "OMK_CFLAGS=-DNUMBER=123" > config.omk
 WVPASS make
 WVPASS grepout 123
+
+WVSTART "Target specific CFLAGS"
+create_files
+cat > 'Makefile.omk' <<'EOF'
+bin_PROGRAMS = test
+test_SOURCES = test.c
+test_CFLAGS = -DNUMBER=123
+EOF
+WVPASS make V=1
+WVPASS grepout 123
+
+WVSTART "Target specific CFLAGS override OMK_CFLAGS"
+create_files
+cat > 'Makefile.omk' <<'EOF'
+bin_PROGRAMS = test
+test_SOURCES = test.c
+test_CFLAGS = -DNUMBER=123
+OMK_CFLAGS   = -DNUMBER=456
+EOF
+WVPASS make V=1
+WVPASS grepout 123
+
+WVSTART "Same source compiled twice with different CFLAGS"
+create_files
+cat > 'Makefile.omk' <<'EOF'
+bin_PROGRAMS = a b
+a_SOURCES = test.c
+a_CFLAGS = -DNUMBER=123
+b_SOURCES = test.c
+b_CFLAGS = -DNUMBER=456
+EOF
+WVPASS make V=1
+WVPASS grepbinout a 123
+WVPASS grepbinout b 456
+
+WVSTART "CFLAGS is not set by default"
+create_files
+WVPASS sh -c '! make -qp|grep "^CFLAGS ="'