view mk/progs-rules.sh @ 15:f5acaf0c8a29

Don't cast through "volatile int". Causes a gcc warning nowadays. XXX: should put something else back here to frighten the optimizer
author David A. Holland
date Tue, 31 May 2022 01:00:55 -0400
parents 13d2b8934445
children
line wrap: on
line source

#!/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