Fri, 23 May 2025 12:44:24 +0200
make test-compile depend on both static and shared
the shared lib is not needed for the tests,
but when run with coverage, gcov will be confused
when outdated line information is available from
a previous shared build
#!/bin/sh dir="$1" target="$2" extra_flags="$3" if [ -z "$dir" ]; then echo "Usage: $0 <src_dir>" exit 1 fi if [ -z "$target" ]; then target='$(build_dir)' fi if [ -d "$dir" ]; then : else echo "'$dir' is not a directory" exit 1 fi if [ -z "$CC" ]; then for cc in gcc clang ; do if command -v "$cc" > /dev/null ; then CC="$cc" break fi done fi if [ -z "$CC" ]; then echo "No suitable compiler found to generate make rules" exit 1 fi if command -v sed > /dev/null ; then : else echo "You need the 'sed' program for this script to work." exit 1 fi cd "$dir" mv Makefile Makefile.old sed '/FORCE:/q' Makefile.old > Makefile echo >> Makefile for file in `ls *.c` ; do "$CC" -MT "$target/${file/.c/\$(OBJ_EXT)}" -MM $CFLAGS $extra_flags "$file" printf '\t@echo "Compiling $<"\n' printf '\t$(CC) -o $@ $(CFLAGS) %s -c $<\n\n' "$extra_flags" done >> Makefile rm Makefile.old