我正在研究一個涉及本機代碼的android項目,我試圖使用Kiss的FFT庫與NDK。但是,我很難理解Kiss FFT使用的makefile的下面部分。誰可以給我解釋一下這個?瞭解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行似乎是'測試.s文件是否存在,如果將其移至備份.s〜else continue('true')。第5行是如果bkup .s〜存在,則在它與當前.s之間顯示diff,否則繼續。 &&做'如果那麼'和||是別的。 – 2012-03-05 16:20:58