comparison fft/native/bqfft/Makefile @ 35:c795fab4c4be

Merge
author Chris Cannam
date Tue, 10 Nov 2015 07:30:50 +0000
parents cf59817a5983
children
comparison
equal deleted inserted replaced
34:afbb64027d79 35:c795fab4c4be
1
2 # Add to FFT_DEFINES the relevant options for your desired third-party
3 # library support.
4 #
5 # Available options are
6 #
7 # -DHAVE_IPP Intel's Integrated Performance Primitives are available
8 # -DHAVE_VDSP Apple's Accelerate framework is available
9 # -DHAVE_FFTW3 The FFTW library is available
10 # -DHAVE_KISSFFT The KissFFT library is available
11 # -DHAVE_MEDIALIB The Medialib library (from Sun) is available
12 # -DHAVE_OPENMAX The OpenMAX signal processing library is available
13 # -DUSE_BUILTIN_FFT Compile the built-in FFT code (which is very slow)
14 #
15 # You may define more than one of these. If you define
16 # USE_BUILTIN_FFT, the code will be compiled in but will only be used
17 # if no other option is available. The default, if no flags are
18 # supplied, is for the code to refuse to compile.
19 #
20 # Add any relevant -I flags for include paths as well.
21 #
22 # Note that you must supply the same flags when including bqfft
23 # headers later as you are using now when compiling the library. (You
24 # may find it simplest to just add the bqfft source files to your
25 # application's build system and not build a bqfft library at all.)
26
27 # WARNING! The default option here is VERY SLOW! Read above for better
28 # alternatives!
29 FFT_DEFINES := -DHAVE_VDSP
30
31
32 # Add to ALLOCATOR_DEFINES options relating to aligned malloc.
33 #
34 # Available options are
35 #
36 # -DHAVE_POSIX_MEMALIGN The posix_memalign call is available in sys/mman.h
37 # -DLACK_POSIX_MEMALIGN The posix_memalign call is not available
38 #
39 # -DMALLOC_IS_ALIGNED The malloc call already returns aligned memory
40 # -DMALLOC_IS_NOT_ALIGNED The malloc call does not return aligned memory
41 #
42 # -DUSE_OWN_ALIGNED_MALLOC No aligned malloc is available, roll your own
43 #
44 # -DLACK_BAD_ALLOC The C++ library lacks the std::bad_alloc exception
45 #
46 # Here "aligned" is assumed to mean "aligned enough for whatever
47 # vector stuff the space will be used for" which most likely means
48 # 16-byte alignment.
49 #
50 # The default is to use _aligned_malloc when building with Visual C++,
51 # system malloc when building on OS/X, and posix_memalign otherwise.
52 #
53 # Note that you must supply the same flags when including bqfft
54 # headers later as you are using now when compiling the library. (You
55 # may find it simplest to just add the bqfft source files to your
56 # application's build system and not build a bqfft library at all.)
57
58 ALLOCATOR_DEFINES := -DMALLOC_IS_ALIGNED
59
60 SRC_DIR := src
61 HEADER_DIR := bqfft
62
63 SOURCES := $(wildcard $(SRC_DIR)/*.cpp)
64 HEADERS := $(wildcard $(HEADER_DIR)/*.h) $(wildcard $(SRC_DIR)/*.h)
65
66 OBJECTS := $(SOURCES:.cpp=.o)
67 OBJECTS := $(OBJECTS:.c=.o)
68
69 CXXFLAGS := $(FFT_DEFINES) $(ALLOCATOR_DEFINES) -O3 -ffast-math -I. -I../bqvec -fpic
70
71 LIBRARY := libbqfft.a
72
73 all: $(LIBRARY)
74
75 $(LIBRARY): $(OBJECTS)
76 $(AR) rc $@ $^
77
78 clean:
79 rm -f $(OBJECTS)
80
81 distclean: clean
82 rm -f $(LIBRARY)
83
84 depend:
85 makedepend -Y -fMakefile $(SOURCES) $(HEADERS)
86
87
88 # DO NOT DELETE
89
90 src/FFT.o: bqfft/FFT.h