我正在开发一个涉及 native 代码的 Android 项目,并且我正在尝试将 Kiss FFT 库与 NDK 一起使用。但是,我很难理解 Kiss FFT 使用的 makefile 的下面列出的部分。有人可以向我解释一下吗?
我知道第一行定义了目标 kiss_fft.s
及其先决条件,接下来的四行是配方,其中 3.
行和 4.
是编译器命令。但我不明白 2.
和 5.
1. kiss_fft.s: kiss_fft.c kiss_fft.h _kiss_fft_guts.h
2. [ -e kiss_fft.s ] && mv kiss_fft.s kiss_fft.s~ || true
3. gcc -S kiss_fft.c -O3 -mtune=native -ffast-math -fomit-frame-pointer -unroll-loops -dA -fverbose-asm
4. gcc -o kiss_fft_short.s -S kiss_fft.c -O3 -mtune=native -ffast-math -fomit-frame-pointer -dA -fverbose-asm -DFIXED_POINT
5. [ -e kiss_fft.s~ ] && diff kiss_fft.s~ kiss_fft.s || true
任何帮助将不胜感激!
最佳答案
第 2.
行将汇编代码 (kiss_fft.s) 移动到备份文件(如果存在),否则返回 true 状态,因此下一行将执行。
第 5.
行显示 gcc 的先前汇编器输出与当前输出之间的差异(如果有先前的输出(通过步骤 2 移至 Kiss_fft.s~)。
).
关于makefile - 了解 makefile 配方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9569979/