⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 assemble.sh

📁 嵌入式系统 EP93xx处理器
💻 SH
字号:
#!/bin/sh#*****************************************************************************## assemble.sh - Script to build a .S file with the ARM tools, manually passing#               it through the C preprocessor and then sending it to the#               assembler (since the compiler driver won't do it itself).## Copyright (c) 2006 Cirrus Logic, Inc.##******************************************************************************## Echo the command line.#echo ${0} ${*}## Check the arguments.#if [ $# != 1 ]then    echo Usage: assemble \<filename\>    exit 1fi## Compute the various file names that will be used during the process.#C_NAME=`echo ${1} | sed 's/\.[Ss]/_.c/g'`S_NAME=`echo ${1} | sed 's/\.[Ss]/_.s/g'`D_NAME=`echo ${1} | sed 's/\.[Ss]/_.d/g'`O_NAME=`echo ${1} | sed 's/\.[Ss]/_.o/g'`DNAME=`echo ${1} | sed 's/\.[Ss]/.d/g'`ONAME=`echo ${1} | sed 's/\.[Ss]/.o/g'`## Copy the assembly file to a temporary .c file.#cp ${1} ${C_NAME}if [ $? != 0 ]then    exit 1fi## Make sure the temporary .c file is writable (it might not be).#chmod +w ${C_NAME}if [ $? != 0 ]then    rm -f ${C_NAME}    exit 1fi## Pass the temporary .c file through the C preprocessor.#${CC} `echo ${CFLAGS}` -E ${C_NAME} > __tmp.cif [ $? != 0 ]then    rm -f ${C_NAME} __tmp.c    exit 1fi## Remove the #line directives from the preprocessed output.#grep -v ^\#line __tmp.c > ${S_NAME}if [ $? != 0 ]then    rm -f ${C_NAME} ${D_NAME} __tmp.c    exit 1fi## Assemble the preprocessed output.#${AS} `echo ${AFLAGS}` -o ${ONAME} ${S_NAME}if [ $? != 0 ]then    rm -f ${C_NAME} ${D_NAME} ${S_NAME} ${ONAME} __tmp.c    exit 1fi## Convert the references to the _.c file name to the .s file name in the# dependencies (.d) file.#sed s/${C_NAME}/${1}/g ${D_NAME} > __tmp.dif [ $? != 0 ]then    rm -f ${C_NAME} ${D_NAME} ${S_NAME} ${ONAME} __tmp.c __tmp.d    exit 1fi## Convert the references to the _.o file name to the .o file name in the# dependencies (.d) file.#sed s/${O_NAME}/${ONAME}/g __tmp.d > ${DNAME}if [ $? != 0 ]then    rm -rf ${C_NAME} ${D_NAME} ${S_NAME} ${ONAME} __tmp.c __tmp.d    exit 1fi## Remove all temporary files.#rm -f ${C_NAME} ${S_NAME} ${D_NAME} __tmp.c __tmp.d## Success.#exit 0

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -