summaryrefslogtreecommitdiff
path: root/tools/d2c/d2c_genmakefile.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tools/d2c/d2c_genmakefile.sh')
-rwxr-xr-xtools/d2c/d2c_genmakefile.sh60
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