int funca(int a);
int funcb(int b);
EOF
-cat > 'test.c' <<EOF
+cat > 'Makefile.omk' <<EOF # OMK manual includes this file - do not modify it
+lib_LIBRARIES = mylib
+mylib_SOURCES = funca.c funcb.c
+include_HEADERS = mylib.h
+EOF
+
+mkdir app
+cat > app/main.c <<EOF
#include <mylib.h>
int main() {
funca(10);
return 0;
}
EOF
-cat > 'Makefile.omk' <<EOF
-lib_LIBRARIES = mylib
-mylib_SOURCES = funca.c funcb.c
-include_HEADERS = mylib.h
-
-bin_PROGRAMS = test
-test_SOURCES = test.c
-test_LIBS = mylib
+cat > app/Makefile.omk <<EOF # OMK manual includes this file - do not modify it
+bin_PROGRAMS = libtest
+libtest_SOURCES = main.c
+libtest_LIBS = mylib
EOF
+
needs_valid_CC
+omkize
WVPASS make
case $OMK_RULES in
linux) WVPASS test -f _compiled/lib/libmylib.a ;;
esac
+WVPASS make -C app
+
+
+case $OMK_RULES in
+ sysless) # Sysless rules do not support this (yet)
+ exit 0;;
+esac
+
+WVSTART "Static library with specific CFLAGS"
+cat > 'lib.c' <<EOF
+#if SYM != 123
+#error SYM value is wrong
+#endif
+EOF
+cat > 'Makefile.omk' <<EOF # OMK manual includes this file - do not modify it
+lib_LIBRARIES = mylib
+mylib_SOURCES = lib.c
+mylib_CFLAGS = -DSYM=123
+EOF
+WVPASS make