-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
33 lines (24 loc) · 1.45 KB
/
Copy pathMakefile
File metadata and controls
33 lines (24 loc) · 1.45 KB
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
CXX = g++
CXXFLAGS = -std=c++17 -Wall -I.
SCALPEL_DIR = ../Scalpel
SCALPEL_SRC = $(SCALPEL_DIR)/tokenizer.cpp \
$(SCALPEL_DIR)/sentence_segmenter.cpp \
$(SCALPEL_DIR)/char_classes.cpp
MORPH_SRC = SYMBOLS/symbol.cpp \
PIPELINE/text_pipeline.cpp
.PHONY: all clean
all: analyzer test_infra test_lex test_analyzer
# ── Main analyzer (Scalpel + morphology) ────────────────────────────────────
analyzer: main.cpp $(MORPH_SRC) $(SCALPEL_SRC)
$(CXX) $(CXXFLAGS) -o $@ $^
# ── Infrastructure tests (FSA, FST, SymbolTable) ─────────────────────────────
test_infra: test_infrastructure.cpp SYMBOLS/symbol.cpp
$(CXX) $(CXXFLAGS) -o $@ $^
# ── Lexicon + rules tests ─────────────────────────────────────────────────────
test_lex: test_lexicon_rules.cpp SYMBOLS/symbol.cpp $(PIPELINE_SRC)
$(CXX) $(CXXFLAGS) -o $@ test_lexicon_rules.cpp SYMBOLS/symbol.cpp
# ── Comprehensive integration tests ──────────────────────────────────────────
test_analyzer: test_analyzer.cpp SYMBOLS/symbol.cpp
$(CXX) $(CXXFLAGS) -o $@ test_analyzer.cpp SYMBOLS/symbol.cpp
clean:
rm -f analyzer test_infra test_lex test_analyzer