我正在开发一个涉及本机代码的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
非常感谢任何帮助!
答案 0 :(得分:3)
行2.
将汇编代码(kiss_fft.s)移动到备份文件(如果存在),否则返回true状态,因此下一行将执行。
行5.
显示前一个gcc汇编程序输出与当前输出之间的差异,如果有上一个输出(通过步骤2.
移入kiss_fft.s~)。