Fri, 12 Jan 2024 20:13:13 +0100
fix #356 : broken cxListCompare
1 #!/bin/sh
3 dir="$1"
4 target="$2"
6 if [ -z "$dir" ]; then
7 echo "Usage: $0 <src_dir>"
8 exit 1
9 fi
11 if [ -z "$target" ]; then
12 target='$(build_dir)'
13 fi
15 if [ -d "$dir" ]; then
16 :
17 else
18 echo "'$dir' is not a directory"
19 exit 1
20 fi
22 if [ -z "$CC" ]; then
23 for cc in gcc clang ; do
24 if command -v "$cc" > /dev/null ; then
25 CC="$cc"
26 break
27 fi
28 done
29 fi
31 if [ -z "$CC" ]; then
32 echo "No suitable compiler found to generate make rules"
33 exit 1
34 fi
36 if command -v sed > /dev/null ; then
37 :
38 else
39 echo "You need the 'sed' program for this script to work."
40 exit 1
41 fi
43 cd "$dir"
45 mv Makefile Makefile.old
46 sed '/FORCE:/q' Makefile.old > Makefile
47 echo >> Makefile
48 for file in `ls *.c` ; do
49 "$CC" -MT "$target/${file/.c/\$(OBJ_EXT)}" -MM $CFLAGS "$file"
50 printf '\t@echo "Compiling $<"\n'
51 printf '\t$(CC) -o $@ $(CFLAGS) -c $<\n\n'
52 done >> Makefile
53 rm Makefile.old