理解makefile配方

时间:2012-03-05 16:11:59

标签: makefile kissfft

我正在开发一个涉及本机代码的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

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:3)

2.将汇编代码(kiss_fft.s)移动到备份文件(如果存在),否则返回true状态,​​因此下一行将执行。

5.显示前一个gcc汇编程序输出与当前输出之间的差异,如果有上一个输出(通过步骤2.移入kiss_fft.s~)。