Mercurial > ~dholland > hg > ag > index.cgi
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 |