Mon, 26 Feb 2024 21:07:23 +0100
allow freeing tree nodes on exit - fixes #377
#!/bin/sh dir="$1" target="$2" 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 "$file" printf '\t@echo "Compiling $<"\n' printf '\t$(CC) -o $@ $(CFLAGS) -c $<\n\n' done >> Makefile rm Makefile.old