Makefile 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #
  2. # Copyright (c) 2016-present, Facebook, Inc.
  3. # All rights reserved.
  4. #
  5. # This source code is licensed under the MIT license found in the
  6. # LICENSE file in the root directory of this source tree.
  7. #
  8. CXX = c++
  9. CXXFLAGS = -pthread -std=c++0x -march=native
  10. OBJS = args.o matrix.o dictionary.o loss.o productquantizer.o densematrix.o quantmatrix.o vector.o model.o utils.o meter.o fasttext.o
  11. INCLUDES = -I.
  12. opt: CXXFLAGS += -O3 -funroll-loops
  13. opt: fasttext
  14. coverage: CXXFLAGS += -O0 -fno-inline -fprofile-arcs --coverage
  15. coverage: fasttext
  16. debug: CXXFLAGS += -g -O0 -fno-inline
  17. debug: fasttext
  18. args.o: src/args.cc src/args.h
  19. $(CXX) $(CXXFLAGS) -c src/args.cc
  20. matrix.o: src/matrix.cc src/matrix.h
  21. $(CXX) $(CXXFLAGS) -c src/matrix.cc
  22. dictionary.o: src/dictionary.cc src/dictionary.h src/args.h
  23. $(CXX) $(CXXFLAGS) -c src/dictionary.cc
  24. loss.o: src/loss.cc src/loss.h src/matrix.h src/real.h
  25. $(CXX) $(CXXFLAGS) -c src/loss.cc
  26. productquantizer.o: src/productquantizer.cc src/productquantizer.h src/utils.h
  27. $(CXX) $(CXXFLAGS) -c src/productquantizer.cc
  28. densematrix.o: src/densematrix.cc src/densematrix.h src/utils.h src/matrix.h
  29. $(CXX) $(CXXFLAGS) -c src/densematrix.cc
  30. quantmatrix.o: src/quantmatrix.cc src/quantmatrix.h src/utils.h src/matrix.h
  31. $(CXX) $(CXXFLAGS) -c src/quantmatrix.cc
  32. vector.o: src/vector.cc src/vector.h src/utils.h
  33. $(CXX) $(CXXFLAGS) -c src/vector.cc
  34. model.o: src/model.cc src/model.h src/args.h
  35. $(CXX) $(CXXFLAGS) -c src/model.cc
  36. utils.o: src/utils.cc src/utils.h
  37. $(CXX) $(CXXFLAGS) -c src/utils.cc
  38. meter.o: src/meter.cc src/meter.h
  39. $(CXX) $(CXXFLAGS) -c src/meter.cc
  40. fasttext.o: src/fasttext.cc src/*.h
  41. $(CXX) $(CXXFLAGS) -c src/fasttext.cc
  42. fasttext: $(OBJS) src/fasttext.cc
  43. $(CXX) $(CXXFLAGS) $(OBJS) src/main.cc -o fasttext
  44. clean:
  45. rm -rf *.o *.gcno *.gcda fasttext