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 ="'