2010-10-21 00:52:09 -02:00

34 lines
1.0 KiB
Bash
Executable File

#! /bin/bash
#
# The purpose of this file is to make it easier to find problems in
# Template Objects compilation.
#
# Because Template Objects are a result of preprocessing, the are normally
# invisible to the human eye. So, we paint him! Using the C pre-processor.
#
# The issue is that compilation error messages give all errors at the same
# lines. Using a combination of the pre-processor and indent, we are able
# to produce a good readable code, so that we can debug the templates.
#
if [[ "$1" == "" ]]; then
echo "Error: no file name given, please enter the C file name."
exit -1
fi
FILENAME=$(basename $1 .c)
top_srcdir=../../..
INCLUDES=
INCLUDES="${INCLUDES} -I${top_srcdir}"
INCLUDES="${INCLUDES} -I${top_srcdir}/ixml/inc"
INCLUDES="${INCLUDES} -I${top_srcdir}/threadutil/inc" \
INCLUDES="${INCLUDES} -I${top_srcdir}/upnp/inc" \
INCLUDES="${INCLUDES} -I${top_srcdir}/upnp/src/inc"
gcc ${INCLUDES} -E ${FILENAME}.c | grep -v ^# | indent -linux > ${FILENAME}.pp.c
gcc ${INCLUDES} -Wall -c ${FILENAME}.pp.c