view mk/testagcl-defs.sh @ 17:12171da8943f

Don't refer to CVS.
author David A. Holland
date Tue, 31 May 2022 01:56:37 -0400
parents 13d2b8934445
children
line wrap: on
line source

#!/bin/sh
# testagcl-defs.sh - generate make rules for testagcl.mk
# usage: testagcl-defs.sh "syns" > rules.mk

if [ $# != 1 ]; then
    echo "$0: usage: $0 'syns'" 1>&2
    exit 1
fi

SYNS="$1"

for S in $SYNS; do
    echo $S | awk '
	{
	    syn=$1;
	    base=syn;
	    sub("\\.syn$", "", base);
	    if (syn ~ "/") {
		sub("^.*/", "", base);
		srcdir = syn;
		sub("/[^/]*$", "", srcdir);
		srcdir = "$(TOP)/" srcdir;
	    }
	    else {
		srcdir = "$(SRCDIR)"
	    }
	    diff = base ".diff";

	    printf "run-tests: %s\n", diff;
	    printf "%s: $(SRCDIR)/good/%s.*\n", diff, base;
	    printf "%s: %s/%s.syn\n", diff, srcdir, base;
	    printf "%s: $(RUNTEST) $(TESTAGCL)\n", diff;
	    printf "\t@echo \"        [TEST]    %s.syn\"\n", base;
	    printf "\t@$(RUNTEST) \"$(CROSSRUN)\" \"$(TESTAGCL)\"";
	    printf " \"%s\" \"$(SRCDIR)/good\" \"%s.syn\"\n", srcdir, base;
	}
    '
done