makefile - 了解 makefile 配方

标签 makefile kissfft

我正在开发一个涉及 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/

相关文章:

使用 make 编译多个 C 文件

makefile - ***配方在第一个目标之前开始。停止

c - 我无法理解所有 : ex1 in Makefile?(艰难地学习 C)

c - 有没有人知道如何用 Kiss-fft API 替换 fftw 中的这些 API?

c++ - 如何使用 kissFFT 计算峰值?

makefile - GNU make 在隐式规则中删除目标?

c++ - 如何避免在 Windows 和 Linux 中使用不同名称的目标进行重建?

python - KISSFFT中2D阵列之间的逐元素乘法结果与SciPy FFT不同

fft - 如何解释 KissFFT 的 kiss_fftr(真实信号的 FFT)函数的结果

c++ - KissFFT 中 FFTW 的 fftw_plan_dft_r2c_1d() 的等效函数是什么?