diff mk/progs-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/progs-rules.sh	Sat Dec 22 17:52:45 2007 -0500
@@ -0,0 +1,36 @@
+#!/bin/sh
+# progs-rules.sh - generate make rules for progs.mk
+# usage: progs-rules.sh 'srcs' > rules.mk
+
+if [ $# != 1 ]; then
+    echo "$0: usage: $0 'srcs'" 1>&2
+    exit 1
+fi
+
+SRCS="$1"
+
+PROGS=`echo " $SRCS " | sed 's, \./, ,g;s,\.[^\.]* ,$(EXEEXT) ,g'`
+PROGS=`echo "$PROGS" | sed 's/ *$//;s/^ *//'`
+echo "PROGS=$PROGS"
+
+for S in $SRCS; do
+    echo $S | awk '
+	{
+	    src = $1;
+	    sub("^\\./", "", src);
+	    base = src;
+	    sub("\\.[^\\.]*$", "", base);
+	    obj = base "$(OBJEXT)";
+	    prog = base "$(EXEEXT)";
+
+	    printf "doall: %s\n", prog;
+	    printf "%s: %s $(MYLIBS)\n", prog, obj;
+	    printf "\t@echo \"        [LINK]    %s\"\n", prog;
+	    printf "\t@$(LDCC) $(LDFLAGS) %s $(MYLIBS) $(LIBS) -o $@\n", obj;
+	    printf "\t@echo \"        [DEP]\"\n";
+	    printf "\t@$(MKDEP)\n";
+	    printf "\n";
+	}
+    '
+done
+