2019-05-28 22:17:22 +08:00
|
|
|
# Copyright (c) Facebook, Inc. and its affiliates.
|
2018-06-02 14:35:30 +08:00
|
|
|
#
|
2019-05-28 22:17:22 +08:00
|
|
|
# This source code is licensed under the MIT license found in the
|
2018-06-02 14:35:30 +08:00
|
|
|
# LICENSE file in the root directory of this source tree.
|
|
|
|
|
|
|
|
-include ../makefile.inc
|
|
|
|
|
2019-04-05 17:50:39 +08:00
|
|
|
ifneq ($(strip $(NVCC)),)
|
2019-06-19 21:59:06 +08:00
|
|
|
SWIGFLAGS += -DGPU_WRAPPER
|
2019-04-05 17:50:39 +08:00
|
|
|
endif
|
2018-06-02 14:35:30 +08:00
|
|
|
|
2019-04-05 17:50:39 +08:00
|
|
|
all: build
|
2018-06-02 14:35:30 +08:00
|
|
|
|
|
|
|
# Also silently generates swigfaiss.py.
|
2019-04-05 17:50:39 +08:00
|
|
|
swigfaiss.cpp: swigfaiss.swig ../libfaiss.a
|
|
|
|
$(SWIG) -python -c++ -Doverride= -I../ $(SWIGFLAGS) -o $@ $<
|
2018-06-02 14:35:30 +08:00
|
|
|
|
2019-09-21 02:17:01 +08:00
|
|
|
swigfaiss_avx2.cpp: swigfaiss.swig ../libfaiss.a
|
|
|
|
$(SWIG) -python -c++ -Doverride= -module swigfaiss_avx2 -I../ $(SWIGFLAGS) -o $@ $<
|
|
|
|
|
|
|
|
%.o: %.cpp
|
2019-04-05 17:50:39 +08:00
|
|
|
$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(CPUFLAGS) $(PYTHONCFLAGS) \
|
|
|
|
-I../ -c $< -o $@
|
2018-06-02 14:35:30 +08:00
|
|
|
|
|
|
|
# Extension is .so even on OSX.
|
2019-09-21 02:17:01 +08:00
|
|
|
_%.so: %.o ../libfaiss.a
|
2019-04-05 17:50:39 +08:00
|
|
|
$(CXX) $(SHAREDFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS)
|
2018-06-02 14:35:30 +08:00
|
|
|
|
2019-04-05 17:50:39 +08:00
|
|
|
build: _swigfaiss.so faiss.py
|
2018-06-06 20:06:24 +08:00
|
|
|
$(PYTHON) setup.py build
|
|
|
|
|
|
|
|
install: build
|
|
|
|
$(PYTHON) setup.py install
|
|
|
|
|
2018-06-02 14:35:30 +08:00
|
|
|
clean:
|
2019-09-21 02:17:01 +08:00
|
|
|
rm -f swigfaiss*.cpp swigfaiss*.o swigfaiss*.py _swigfaiss*.so
|
2019-04-05 17:50:39 +08:00
|
|
|
rm -rf build/
|
2018-06-02 14:35:30 +08:00
|
|
|
|
2019-04-05 17:50:39 +08:00
|
|
|
.PHONY: all build clean install
|