make/update-rules.sh

Mon, 02 Jun 2025 19:32:37 +0200

author
Mike Becker <universe@uap-core.de>
date
Mon, 02 Jun 2025 19:32:37 +0200
changeset 77
808a7324b467
parent 76
c2a4fb5024b4
permissions
-rwxr-xr-x

fix missing update of rules in chess subdir

76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
1 #!/bin/sh
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
2
77
808a7324b467 fix missing update of rules in chess subdir
Mike Becker <universe@uap-core.de>
parents: 76
diff changeset
3 dir="$1"
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
4 target='$(BUILDDIR)'
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
5
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
6 if [ -z "$CC" ]; then
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
7 for cc in gcc clang ; do
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
8 if command -v "$cc" > /dev/null ; then
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
9 CC="$cc"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
10 break
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
11 fi
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
12 done
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
13 fi
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
14
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
15 if [ -z "$CC" ]; then
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
16 echo "No suitable compiler found to generate make rules"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
17 exit 1
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
18 fi
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
19
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
20 if command -v sed > /dev/null ; then
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
21 :
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
22 else
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
23 echo "You need the 'sed' program for this script to work."
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
24 exit 1
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
25 fi
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
26
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
27 cd "$dir"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
28
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
29 mv Makefile Makefile.old
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
30 sed '/FORCE:/q' Makefile.old > Makefile
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
31 echo >> Makefile
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
32 for file in `ls *.c` ; do
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
33 "$CC" -MT "$target/${file/.c/.o}" -MM $CFLAGS "$file"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
34 printf '\t@echo "Compiling $<"\n'
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
35 printf '\t$(CC) -o $@ $(CFLAGS) -c $<\n\n'
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
36 done >> Makefile
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
37 rm Makefile.old

mercurial