make/update-rules.sh

Wed, 20 Dec 2023 16:46:14 +0100

author
Mike Becker <universe@uap-core.de>
date
Wed, 20 Dec 2023 16:46:14 +0100
changeset 766
e59b76889f00
parent 755
255ee4abf2ec
permissions
-rwxr-xr-x

bring back UCX test - fixes #341

     1 #!/bin/sh
     3 dir="$1"
     4 target="$2"
     6 if [ -z "$dir" ]; then
     7   echo "Usage: $0 <src_dir>"
     8   exit 1
     9 fi
    11 if [ -z "$target" ]; then
    12   target='$(build_dir)'
    13 fi
    15 if [ -d "$dir" ]; then
    16   :
    17 else
    18   echo "'$dir' is not a directory"
    19   exit 1
    20 fi
    22 if [ -z "$CC" ]; then
    23   for cc in gcc clang ; do
    24     if command -v "$cc" > /dev/null ; then
    25       CC="$cc"
    26       break
    27     fi
    28   done
    29 fi
    31 if [ -z "$CC" ]; then
    32   echo "No suitable compiler found to generate make rules"
    33   exit 1
    34 fi
    36 if command -v sed > /dev/null ; then
    37   :
    38 else
    39   echo "You need the 'sed' program for this script to work."
    40   exit 1
    41 fi
    43 cd "$dir"
    45 mv Makefile Makefile.old
    46 sed '/FORCE:/q' Makefile.old > Makefile
    47 echo >> Makefile
    48 for file in `ls *.c` ; do
    49   "$CC" -MT "$target/${file/.c/\$(OBJ_EXT)}" -MM $CFLAGS "$file"
    50   printf '\t@echo "Compiling $<"\n'
    51   printf '\t$(CC) -o $@ $(CFLAGS) -c $<\n\n'
    52 done  >> Makefile
    53 rm Makefile.old

mercurial