annotate bqvec/Makefile @ 366:5d0a2ebb4d17

Bring dependent libraries in to repo
author Chris Cannam
date Fri, 24 Jun 2016 14:47:45 +0100
parents
children af71cbdab621
rev   line source
Chris@366 1
Chris@366 2 # Add to VECTOR_DEFINES the relevant options for your desired
Chris@366 3 # third-party library support.
Chris@366 4 #
Chris@366 5 # Available options are
Chris@366 6 #
Chris@366 7 # -DHAVE_IPP Intel's Integrated Performance Primitives are available
Chris@366 8 # -DHAVE_VDSP Apple's Accelerate framework is available
Chris@366 9 #
Chris@366 10 # These are optional (they affect performance, not function) and you
Chris@366 11 # may define more than one of them.
Chris@366 12 #
Chris@366 13 # Add any relevant -I flags for include paths as well.
Chris@366 14 #
Chris@366 15 # Note that you must supply the same flags when including bqvec
Chris@366 16 # headers later as you are using now when compiling the library. (You
Chris@366 17 # may find it simplest to just add the bqvec source files to your
Chris@366 18 # application's build system and not build a bqvec library at all.)
Chris@366 19
Chris@366 20 VECTOR_DEFINES :=
Chris@366 21
Chris@366 22
Chris@366 23 # Add to ALLOCATOR_DEFINES options relating to aligned malloc.
Chris@366 24 #
Chris@366 25 # Available options are
Chris@366 26 #
Chris@366 27 # -DHAVE_POSIX_MEMALIGN The posix_memalign call is available in sys/mman.h
Chris@366 28 # -DLACK_POSIX_MEMALIGN The posix_memalign call is not available
Chris@366 29 #
Chris@366 30 # -DMALLOC_IS_ALIGNED The malloc call already returns aligned memory
Chris@366 31 # -DMALLOC_IS_NOT_ALIGNED The malloc call does not return aligned memory
Chris@366 32 #
Chris@366 33 # -DUSE_OWN_ALIGNED_MALLOC No aligned malloc is available, roll your own
Chris@366 34 #
Chris@366 35 # -DLACK_BAD_ALLOC The C++ library lacks the std::bad_alloc exception
Chris@366 36 #
Chris@366 37 # Here "aligned" is assumed to mean "aligned enough for whatever
Chris@366 38 # vector stuff the space will be used for" which most likely means
Chris@366 39 # 16-byte alignment.
Chris@366 40 #
Chris@366 41 # The default is to use _aligned_malloc when building with Visual C++,
Chris@366 42 # system malloc when building on OS/X, and posix_memalign otherwise.
Chris@366 43 #
Chris@366 44 # Note that you must supply the same flags when including bqvec
Chris@366 45 # headers later as you are using now when compiling the library. (You
Chris@366 46 # may find it simplest to just add the bqvec source files to your
Chris@366 47 # application's build system and not build a bqvec library at all.)
Chris@366 48
Chris@366 49 ALLOCATOR_DEFINES :=
Chris@366 50
Chris@366 51
Chris@366 52 SRC_DIR := src
Chris@366 53 HEADER_DIR := bqvec
Chris@366 54
Chris@366 55 SOURCES := $(wildcard $(SRC_DIR)/*.cpp)
Chris@366 56 HEADERS := $(wildcard $(HEADER_DIR)/*.h) $(wildcard $(SRC_DIR)/*.h)
Chris@366 57
Chris@366 58 OBJECTS := $(SOURCES:.cpp=.o)
Chris@366 59 OBJECTS := $(OBJECTS:.c=.o)
Chris@366 60
Chris@366 61 CXXFLAGS := $(VECTOR_DEFINES) $(ALLOCATOR_DEFINES) -I.
Chris@366 62
Chris@366 63 LIBRARY := libbqvec.a
Chris@366 64
Chris@366 65 all: $(LIBRARY)
Chris@366 66
Chris@366 67 $(LIBRARY): $(OBJECTS)
Chris@366 68 $(AR) rc $@ $^
Chris@366 69
Chris@366 70 clean:
Chris@366 71 rm -f $(OBJECTS)
Chris@366 72
Chris@366 73 distclean: clean
Chris@366 74 rm -f $(LIBRARY)
Chris@366 75
Chris@366 76 depend:
Chris@366 77 makedepend -Y -fMakefile $(SOURCES) $(HEADERS)
Chris@366 78
Chris@366 79
Chris@366 80 # DO NOT DELETE
Chris@366 81
Chris@366 82 src/VectorOpsComplex.o: bqvec/VectorOpsComplex.h bqvec/VectorOps.h
Chris@366 83 src/VectorOpsComplex.o: bqvec/Restrict.h bqvec/ComplexTypes.h
Chris@366 84 src/Allocators.o: bqvec/Allocators.h bqvec/VectorOps.h bqvec/Restrict.h
Chris@366 85 bqvec/VectorOpsComplex.o: bqvec/VectorOps.h bqvec/Restrict.h
Chris@366 86 bqvec/VectorOpsComplex.o: bqvec/ComplexTypes.h
Chris@366 87 bqvec/VectorOps.o: bqvec/Restrict.h
Chris@366 88 bqvec/Allocators.o: bqvec/VectorOps.h bqvec/Restrict.h