comparison mk/compile-rules.sh @ 0:13d2b8934445

Import AnaGram (near-)release tree into Mercurial.
author David A. Holland
date Sat, 22 Dec 2007 17:52:45 -0500
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:13d2b8934445
1 #!/bin/sh
2 # compile-rules.sh - generate make rules for prog.mk and lib.mk
3 # usage: compile-rules.sh 'srcs' 'rcfiles' > rules.mk
4
5 if [ $# != 2 ]; then
6 echo "$0: usage: $0 'srcs' 'rcfiles'" 1>&2
7 exit 1
8 fi
9
10 SRCS="$1"
11 RCFILES="$2"
12
13 OBJS=`echo " $SRCS " | sed 's, \./, ,g;s/\.[^\.]* /$(OBJEXT) /g'`
14 OBJS=`echo "$OBJS" | sed 's/^ //;s/ *$//'`
15 echo "OBJS=$OBJS"
16
17 RESFILES=`echo $RCFILES " " | sed 's/\.[^\.]* /.res /g;s/ *$//'`
18 echo "RESFILES=$RESFILES"
19
20 for S in $SRCS; do
21 echo $S | awk '
22 {
23 src=$1;
24 if (src ~ "^\\./") {
25 sub("^\\./", "", src);
26 fullsrc = src;
27 }
28 else {
29 fullsrc = "$(SRCDIR)/" src;
30 }
31
32 obj=src;
33 sub("\\.[^\\.]*$", "$(OBJEXT)", obj);
34
35 printf "%s: %s\n", obj, fullsrc;
36 printf "\t@echo \" [CC] %s\"\n", src;
37 printf "\t@$(CC) $(CFLAGS) $(CFLAGS.$(TYPE)) $(INCFLAGS)";
38 printf " -c %s\n", fullsrc;
39 }
40 '
41 done
42
43 for R in $RCFILES; do
44 echo $R | awk '
45 {
46 src=$1;
47 obj=src;
48 sub("\\.[^\\.]*$", ".res", obj);
49 printf "%s: $(SRCDIR)/%s\n", obj, src;
50 printf "\t@echo \" [WINDRES] %s\"\n", src;
51 printf "\t@$(WINDRES) $(WINDRESFLAGS) -fo$@ $(SRCDIR)/%s\n", src;
52 }
53 '
54 done