blob: 7ef251e44c997284ed5d02d7233a5f1aadd5f715 [file] [log] [blame]
#!/usr/bin/env sh
# The first command argument tells us which flavour to generate for
# the rest of the command line arguments.
what=$1
shift
# The second command argument is the prefix to prepend to all functions.
# It is defined by F7_PREFIX in $2.
PRE=$1
shift
case ${what} in
head)
cat << EOF
/*
Auto-generated file, do not change by hand.
Generated by: `basename $0`.
Generated using: F7_PREFIX = ${PRE} from $1.
F7F, F7F_cst, F7F_asm from libf7-common.mk.
Included by: libf7.h.
Used by: libf7.c, libf7.h, libf7-asm.sx, f7-wraps.h.
*/
#ifndef F7_RENAMES_H
#define F7_RENAMES_H
#define F7_(name) ${PRE}##name
#define F7P ${PRE}
EOF
;;
c)
if [ x${PRE} != xf7_ ]; then
echo " "
echo "/* Renames for libf7.c, libf7.h. */"
echo " "
for x in $*; do
echo "#define f7_$x ${PRE}$x"
done
fi
;;
cst)
if [ x${PRE} != xf7_ ]; then
echo " "
echo "/* Renames for libf7.c, libf7.h. */"
echo " "
for x in $*; do
echo "#define f7_const_${x} ${PRE}const_${x}"
echo "#define f7_const_${x}_P ${PRE}const_${x}_P"
done
fi
;;
asm)
if [ x${PRE} != xf7_ ]; then
echo " "
echo "/* Renames for libf7-asm.sx, f7-wraps.h. */"
echo " "
for x in $*; do
echo "#define f7_${x}_asm ${PRE}${x}_asm"
done
fi
;;
tail)
cat << EOF
#endif /* F7_RENAMES_H */
EOF
;;
*)
exit 1
;;
esac