diff options
Diffstat (limited to 'tools/d2c/d2c_genmakefile.sh')
-rwxr-xr-x | tools/d2c/d2c_genmakefile.sh | 60 |
1 files changed, 44 insertions, 16 deletions
diff --git a/tools/d2c/d2c_genmakefile.sh b/tools/d2c/d2c_genmakefile.sh index 2338b6d..7911d04 100755 --- a/tools/d2c/d2c_genmakefile.sh +++ b/tools/d2c/d2c_genmakefile.sh @@ -29,19 +29,31 @@ $echo >> ${MAKEFILE_TMP} $echo "include ${globalmk}" >> ${MAKEFILE_TMP} $echo >> ${MAKEFILE_TMP} -OPCODES=`find ${input} -name '*c' -and -not -name '*.tmpl.c' -exec basename {} \; | cut -d . -f 3 | sort | uniq` +if [ "$1" = "-" ]; then + OPCODES=`find ${input} -name '*c' -and -not -name '*.tmpl.c' -exec basename {} \; | cut -d. -f2 | sort | uniq` +else + OPCODES=`find ${input} -name '*c' -and -not -name '*.tmpl.c' -exec basename {} \; | cut -d. -f3 | sort | uniq` +fi # Génération des en-têtes de décodage for arch in $*; do - $echo -n "${arch}_HEADER_FILES =" | tr [a-z] [A-Z] >> ${MAKEFILE_TMP} + if [ ${arch} = "-" ]; then + arch_name="" + arch_name_dotted="" + else + arch_name="${arch}_" + arch_name_dotted="${arch}_." + fi + + $echo -n "${arch_name}HEADER_FILES =" | tr [a-z] [A-Z] >> ${MAKEFILE_TMP} has_header="" for op in $OPCODES; do - template="${input}/*${arch}_.${op}.c" + template="${input}/*.${arch_name_dotted}${op}.c" sources=`ls $template 2> /dev/null` @@ -62,8 +74,8 @@ do $echo >> ${MAKEFILE_TMP} $echo >> ${MAKEFILE_TMP} - $echo -n "${arch}_opcodes.h: " >> ${MAKEFILE_TMP} - $echo "\$(${arch}_HEADER_FILES)" | tr [a-z] [A-Z] >> ${MAKEFILE_TMP} + $echo -n "${arch_name}opcodes.h: " >> ${MAKEFILE_TMP} + $echo "\$(${arch_name}HEADER_FILES)" | tr [a-z] [A-Z] >> ${MAKEFILE_TMP} if [ -z "${has_header}" ]; then @@ -71,7 +83,7 @@ do else - $echo -e "\t\$(cini_verbose)cat ${input}/${arch}_.opcodes.tmpl.h > \$@" >> ${MAKEFILE_TMP} + $echo -e "\t\$(cini_verbose)cat ${input}/${arch_name_dotted}opcodes.tmpl.h > \$@" >> ${MAKEFILE_TMP} $echo -e "\t\$(cgen_verbose)cat \$^ >> \$@" >> ${MAKEFILE_TMP} $echo -e "\t\$(cfini_verbose)echo >> \$@" >> ${MAKEFILE_TMP} $echo -en "\t\$(cfini_verbose)echo \"#endif\t /* " >> ${MAKEFILE_TMP} @@ -93,7 +105,15 @@ for op in $OPCODES; do for arch in $*; do - template="${input}/*${arch}_.${op}.c" + if [ ${arch} = "-" ]; then + arch_name="" + arch_name_dotted="" + else + arch_name="${arch}_" + arch_name_dotted="${arch}_." + fi + + template="${input}/*.${arch_name_dotted}${op}.c" sources=`ls $template 2> /dev/null` @@ -101,7 +121,7 @@ do continue fi - $echo -n "${op}_${arch}_FILES =" | tr [a-z] [A-Z] >> ${MAKEFILE_TMP} + $echo -n "${op}_${arch_name}FILES =" | tr [a-z] [A-Z] >> ${MAKEFILE_TMP} for src in ${sources}; do @@ -112,13 +132,13 @@ do $echo >> ${MAKEFILE_TMP} $echo >> ${MAKEFILE_TMP} - $echo -n "${arch}_${op}.c: " >> ${MAKEFILE_TMP} - $echo -n "\$(${op}_${arch}_FILES)" | tr [a-z] [A-Z] >> ${MAKEFILE_TMP} - $echo " ${arch}_opcodes.h" >> ${MAKEFILE_TMP} + $echo -n "${arch_name}${op}.c: " >> ${MAKEFILE_TMP} + $echo -n "\$(${op}_${arch_name}FILES)" | tr [a-z] [A-Z] >> ${MAKEFILE_TMP} + $echo " ${arch_name}opcodes.h" >> ${MAKEFILE_TMP} - $echo -e "\t\$(cini_verbose)cat ${input}/${arch}_.${op}.tmpl.c > \$@" >> ${MAKEFILE_TMP} + $echo -e "\t\$(cini_verbose)cat ${input}/${arch_name_dotted}${op}.tmpl.c > \$@" >> ${MAKEFILE_TMP} $echo -ne "\t\$(cgen_verbose)cat \$(" >> ${MAKEFILE_TMP} - $echo -ne "${op}_${arch}_FILES" | tr [a-z] [A-Z] >> ${MAKEFILE_TMP} + $echo -ne "${op}_${arch_name}FILES" | tr [a-z] [A-Z] >> ${MAKEFILE_TMP} $echo -e ") >> \$@" >> ${MAKEFILE_TMP} $echo >> ${MAKEFILE_TMP} @@ -135,18 +155,26 @@ $echo -n "GENERATED_FILES =" >> ${MAKEFILE_TMP} for arch in $*; do + if [ ${arch} = "-" ]; then + arch_name="" + arch_name_dotted="" + else + arch_name="${arch}_" + arch_name_dotted="${arch}_." + fi + $echo -ne " \\" >> ${MAKEFILE_TMP} - $echo -ne "\n\t${arch}_opcodes.h" >> ${MAKEFILE_TMP} + $echo -ne "\n\t${arch_name}opcodes.h" >> ${MAKEFILE_TMP} for op in $OPCODES; do - template="${input}/*${arch}_.${op}.c" + template="${input}/*.${arch_name_dotted}${op}.c" sources=`ls $template 2> /dev/null` if [ ! -z "${sources}" ]; then $echo -ne " \\" >> ${MAKEFILE_TMP} - $echo -ne "\n\t${arch}_${op}.c" >> ${MAKEFILE_TMP} + $echo -ne "\n\t${arch_name}${op}.c" >> ${MAKEFILE_TMP} continue fi |