lw-build-system/skel/scripts/build.c.tests/build.tests

48 lines
1.1 KiB
Plaintext
Raw Normal View History

# These are external variables, and shouldn't clash with anything else
# @NAME@_BUILT
#
build_target @LIBS@
if [ -z ${@NAME@_BUILT} ]
then
LIBS=""
for lib in @LIBS@
do
LIBS="${LIBS} ${!${lib}}"
done
EXTRAS="" # @TODO@ libs, cflags
echo "Building test programs..."
do_cmd mkdir -p obj/@NAME@ || return 1
for SRC in src/@NAME@/*.c
do
TEST="obj/@NAME@/$(basename ${SRC} | sed -e 's,.c$,,')"
MODIFIED=0
for file in ${LIBS} ${SRC} src/@NAME@/build.tests
do
if [ ${file} -nt ${TEST} ]
then
MODIFIED=1
break
fi
done
if [ ${MODIFIED} -ne 0 ]
then
do_cmd ${CC} -Iobj ${CFLAGS} -o ${TEST} ${SRC} ${LIBS} ${EXTRAS} || return 1
print_success "Built ${TEST}"
else
print_success "${TEST} is up to date"
fi
done
print_success "All tests built"
@NAME@_BUILT=1
fi
# kate: replace-trailing-space-save true; space-indent true; tab-width 4;
# vim: expandtab:ts=4:sw=4