libcm/doc/gen_doc.sh
2020-10-16 13:09:16 -04:00

33 строки
1.1 KiB
Bash
Исполняемый файл

# switches: -E : Stop after preprocess
# -C : Do not strip comments.
# -P : Do not generate line markers
# -traditional-cpp : preserve white space
# run the pre-processor to generate the vector ops documentation
gcc -E -C -P -traditional-cpp -o temp.h ../src/vop/cmVectOpsDoc.h
# The --traditional-cpp switch prevents the 'stringizing'
# C pre-proc direcive from working this leaves '##_' tokens
# which need to be replaced by '_'
# replace '_##` with '_'
sed 's/\(_##\)/_/g' temp.h > temp1.h
# Remove header text generated by gcc.
sed '/\/\*/,/\/\/end_cut/{//!d;};' temp1.h > temp2.h
# Remove the first two lines.
tail -n +3 temp2.h > ../src/cmVectOpsDocOut.h
rm -f temp.h
rm -f temp1.h
rm -f temp2.h
# Run the doc generator
# Note that we must use a full path to the 'cdg_cfg.json' file because it's
# absolute location must be determined to locate the full path to the source files.
~/src/dc/build/linux/debug/bin/cdg -c ~/src/libcm/doc/cdg_cfg.json -o ~/temp/doc2
#
scp ~/temp/doc2/* wf:webapps/currawongproject/htdocs/static/doc/libcm