File: Makefile

package info (click to toggle)
fasttext 0.9.2-3
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, sid
  • size: 7,800 kB
  • sloc: javascript: 10,266; cpp: 5,458; python: 2,425; sh: 616; makefile: 102; xml: 81; perl: 43
file content (125 lines) | stat: -rw-r--r-- 4,217 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#
# Copyright (c) 2016-present, Facebook, Inc.
# All rights reserved.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
#

CXX = c++
CXXFLAGS = -pthread -std=c++11 -march=native
OBJS = args.o autotune.o matrix.o dictionary.o loss.o productquantizer.o densematrix.o quantmatrix.o vector.o model.o utils.o meter.o fasttext.o
INCLUDES = -I.

opt: CXXFLAGS += -O3 -funroll-loops -DNDEBUG
opt: fasttext

coverage: CXXFLAGS += -O0 -fno-inline -fprofile-arcs --coverage
coverage: fasttext

debug: CXXFLAGS += -g -O0 -fno-inline
debug: fasttext

wasm: webassembly/fasttext_wasm.js

wasmdebug: export EMCC_DEBUG=1
wasmdebug: webassembly/fasttext_wasm.js


args.o: src/args.cc src/args.h
	$(CXX) $(CXXFLAGS) -c src/args.cc

autotune.o: src/autotune.cc src/autotune.h
	$(CXX) $(CXXFLAGS) -c src/autotune.cc

matrix.o: src/matrix.cc src/matrix.h
	$(CXX) $(CXXFLAGS) -c src/matrix.cc

dictionary.o: src/dictionary.cc src/dictionary.h src/args.h
	$(CXX) $(CXXFLAGS) -c src/dictionary.cc

loss.o: src/loss.cc src/loss.h src/matrix.h src/real.h
	$(CXX) $(CXXFLAGS) -c src/loss.cc

productquantizer.o: src/productquantizer.cc src/productquantizer.h src/utils.h
	$(CXX) $(CXXFLAGS) -c src/productquantizer.cc

densematrix.o: src/densematrix.cc src/densematrix.h src/utils.h src/matrix.h
	$(CXX) $(CXXFLAGS) -c src/densematrix.cc

quantmatrix.o: src/quantmatrix.cc src/quantmatrix.h src/utils.h src/matrix.h
	$(CXX) $(CXXFLAGS) -c src/quantmatrix.cc

vector.o: src/vector.cc src/vector.h src/utils.h
	$(CXX) $(CXXFLAGS) -c src/vector.cc

model.o: src/model.cc src/model.h src/args.h
	$(CXX) $(CXXFLAGS) -c src/model.cc

utils.o: src/utils.cc src/utils.h
	$(CXX) $(CXXFLAGS) -c src/utils.cc

meter.o: src/meter.cc src/meter.h
	$(CXX) $(CXXFLAGS) -c src/meter.cc

fasttext.o: src/fasttext.cc src/*.h
	$(CXX) $(CXXFLAGS) -c src/fasttext.cc

fasttext: $(OBJS) src/fasttext.cc src/main.cc
	$(CXX) $(CXXFLAGS) $(OBJS) src/main.cc -o fasttext

clean:
	rm -rf *.o *.gcno *.gcda fasttext *.bc webassembly/fasttext_wasm.js webassembly/fasttext_wasm.wasm


EMCXX = em++
EMCXXFLAGS = --bind --std=c++11 -s WASM=1 -s ALLOW_MEMORY_GROWTH=1 -s "EXTRA_EXPORTED_RUNTIME_METHODS=['addOnPostRun', 'FS']" -s "DISABLE_EXCEPTION_CATCHING=0" -s "EXCEPTION_DEBUG=1" -s "FORCE_FILESYSTEM=1" -s "MODULARIZE=1" -s "EXPORT_ES6=1" -s 'EXPORT_NAME="FastTextModule"' -Isrc/
EMOBJS = args.bc autotune.bc matrix.bc dictionary.bc loss.bc productquantizer.bc densematrix.bc quantmatrix.bc vector.bc model.bc utils.bc meter.bc fasttext.bc main.bc


main.bc: webassembly/fasttext_wasm.cc
	$(EMCXX) $(EMCXXFLAGS)  webassembly/fasttext_wasm.cc -o main.bc

args.bc: src/args.cc src/args.h
	$(EMCXX) $(EMCXXFLAGS)  src/args.cc -o args.bc

autotune.bc: src/autotune.cc src/autotune.h
	$(EMCXX) $(EMCXXFLAGS)  src/autotune.cc -o autotune.bc

matrix.bc: src/matrix.cc src/matrix.h
	$(EMCXX) $(EMCXXFLAGS) src/matrix.cc -o matrix.bc

dictionary.bc: src/dictionary.cc src/dictionary.h src/args.h
	$(EMCXX) $(EMCXXFLAGS)  src/dictionary.cc -o dictionary.bc

loss.bc: src/loss.cc src/loss.h src/matrix.h src/real.h
	$(EMCXX) $(EMCXXFLAGS) src/loss.cc -o loss.bc

productquantizer.bc: src/productquantizer.cc src/productquantizer.h src/utils.h
	$(EMCXX) $(EMCXXFLAGS)  src/productquantizer.cc -o productquantizer.bc

densematrix.bc: src/densematrix.cc src/densematrix.h src/utils.h src/matrix.h
	$(EMCXX) $(EMCXXFLAGS) src/densematrix.cc -o densematrix.bc

quantmatrix.bc: src/quantmatrix.cc src/quantmatrix.h src/utils.h src/matrix.h
	$(EMCXX) $(EMCXXFLAGS) src/quantmatrix.cc -o quantmatrix.bc

vector.bc: src/vector.cc src/vector.h src/utils.h
	$(EMCXX) $(EMCXXFLAGS)  src/vector.cc -o vector.bc

model.bc: src/model.cc src/model.h src/args.h
	$(EMCXX) $(EMCXXFLAGS)  src/model.cc -o model.bc

utils.bc: src/utils.cc src/utils.h
	$(EMCXX) $(EMCXXFLAGS)  src/utils.cc -o utils.bc

meter.bc: src/meter.cc src/meter.h
	$(EMCXX) $(EMCXXFLAGS)  src/meter.cc -o meter.bc

fasttext.bc: src/fasttext.cc src/*.h
	$(EMCXX) $(EMCXXFLAGS)  src/fasttext.cc -o fasttext.bc

webassembly/fasttext_wasm.js: $(EMOBJS) webassembly/fasttext_wasm.cc Makefile
	$(EMCXX) $(EMCXXFLAGS) $(EMOBJS) -o webassembly/fasttext_wasm.js