Mercurial > ~dholland > hg > ag > index.cgi
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mk/compile-rules.sh Sat Dec 22 17:52:45 2007 -0500 @@ -0,0 +1,54 @@ +#!/bin/sh +# compile-rules.sh - generate make rules for prog.mk and lib.mk +# usage: compile-rules.sh 'srcs' 'rcfiles' > rules.mk + +if [ $# != 2 ]; then + echo "$0: usage: $0 'srcs' 'rcfiles'" 1>&2 + exit 1 +fi + +SRCS="$1" +RCFILES="$2" + +OBJS=`echo " $SRCS " | sed 's, \./, ,g;s/\.[^\.]* /$(OBJEXT) /g'` +OBJS=`echo "$OBJS" | sed 's/^ //;s/ *$//'` +echo "OBJS=$OBJS" + +RESFILES=`echo $RCFILES " " | sed 's/\.[^\.]* /.res /g;s/ *$//'` +echo "RESFILES=$RESFILES" + +for S in $SRCS; do + echo $S | awk ' + { + src=$1; + if (src ~ "^\\./") { + sub("^\\./", "", src); + fullsrc = src; + } + else { + fullsrc = "$(SRCDIR)/" src; + } + + obj=src; + sub("\\.[^\\.]*$", "$(OBJEXT)", obj); + + printf "%s: %s\n", obj, fullsrc; + printf "\t@echo \" [CC] %s\"\n", src; + printf "\t@$(CC) $(CFLAGS) $(CFLAGS.$(TYPE)) $(INCFLAGS)"; + printf " -c %s\n", fullsrc; + } + ' +done + +for R in $RCFILES; do + echo $R | awk ' + { + src=$1; + obj=src; + sub("\\.[^\\.]*$", ".res", obj); + printf "%s: $(SRCDIR)/%s\n", obj, src; + printf "\t@echo \" [WINDRES] %s\"\n", src; + printf "\t@$(WINDRES) $(WINDRESFLAGS) -fo$@ $(SRCDIR)/%s\n", src; + } + ' +done