]> git.sesse.net Git - kdenlive/blob - src/kiss_fft/tools/Makefile
First preparations for audio spectrum scopes, using kiss_fft
[kdenlive] / src / kiss_fft / tools / Makefile
1 WARNINGS=-W -Wall -Wstrict-prototypes -Wmissing-prototypes -Waggregate-return \
2     -Wcast-align -Wcast-qual -Wnested-externs -Wshadow -Wbad-function-cast \
3     -Wwrite-strings
4
5 ifeq "$(DATATYPE)" ""
6  DATATYPE=float
7 endif
8
9 ifeq  "$(DATATYPE)" "int32_t"
10  TYPEFLAGS=-DFIXED_POINT=32
11 endif
12
13 ifeq  "$(DATATYPE)" "int16_t"
14  TYPEFLAGS=-DFIXED_POINT=16
15 endif
16
17 ifeq  "$(DATATYPE)" "simd"
18  TYPEFLAGS=-DUSE_SIMD=1 -msse
19 endif
20
21 ifeq "$(TYPEFLAGS)"  ""
22  TYPEFLAGS=-Dkiss_fft_scalar=$(DATATYPE)
23 endif
24
25 ifneq ("$(KISS_FFT_USE_ALLOCA)","")
26         CFLAGS+= -DKISS_FFT_USE_ALLOCA=1
27 endif 
28 CFLAGS+= $(CFLAGADD)
29
30
31 FFTUTIL=fft_$(DATATYPE)
32 FASTFILT=fastconv_$(DATATYPE)
33 FASTFILTREAL=fastconvr_$(DATATYPE)
34 PSDPNG=psdpng_$(DATATYPE)
35 DUMPHDR=dumphdr_$(DATATYPE)
36
37 all: $(FFTUTIL) $(FASTFILT) $(FASTFILTREAL) 
38 #       $(PSDPNG) 
39 #       $(DUMPHDR)
40
41 #CFLAGS=-Wall -O3 -pedantic -march=pentiumpro -ffast-math -fomit-frame-pointer $(WARNINGS)
42 # If the above flags do not work, try the following
43 CFLAGS=-Wall -O3 $(WARNINGS) 
44 # tip: try -openmp or -fopenmp to use multiple cores
45
46 $(FASTFILTREAL): ../kiss_fft.c kiss_fastfir.c kiss_fftr.c
47         $(CC) -o $@ $(CFLAGS) -I.. $(TYPEFLAGS) -DREAL_FASTFIR -lm $+ -DFAST_FILT_UTIL
48
49 $(FASTFILT): ../kiss_fft.c kiss_fastfir.c
50         $(CC) -o $@ $(CFLAGS) -I.. $(TYPEFLAGS) -lm $+ -DFAST_FILT_UTIL
51
52 $(FFTUTIL): ../kiss_fft.c fftutil.c kiss_fftnd.c kiss_fftr.c kiss_fftndr.c
53         $(CC) -o $@ $(CFLAGS) -I.. $(TYPEFLAGS) -lm $+
54
55 $(PSDPNG): ../kiss_fft.c psdpng.c kiss_fftr.c
56         $(CC) -o $@ $(CFLAGS) -I.. $(TYPEFLAGS) -lm -lpng $+
57
58 $(DUMPHDR): ../kiss_fft.c dumphdr.c
59         $(CC) -o $@ $(CFLAGS) -I.. $(TYPEFLAGS) -lm $+
60
61 clean:
62         rm -f *~ fft fft_* fastconv fastconv_* fastconvr fastconvr_* psdpng psdpng_*