Pregunta

I'm working on an android project that involves native code and I'm trying to use the Kiss FFT library with the NDK. However, I'm having difficulty understanding the portion listed below of a makefile used by Kiss FFT. Can someone explain this to me?

I know that the first line defines the target kiss_fft.s and its prerequisites and that the next four lines are the recipe, of which line 3. and 4. are compiler commands. But I don't understand lines 2. and 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

Any help would be greatly appreciated!

¿Fue útil?

Solución

Line 2. moves the assembly code (kiss_fft.s) to a backup file if it exists, otherwise returns a true status, so the next line will execute.

Line 5. shows you the differences between the previous assembler output from gcc and the current output, if there was previous output (moved into kiss_fft.s~ by step 2.).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top