-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmakefile
More file actions
30 lines (22 loc) · 842 Bytes
/
makefile
File metadata and controls
30 lines (22 loc) · 842 Bytes
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
CXX = g++
CXXFLAGS = -std=c++17 -Wall -I./include
FLEX = flex
BISON = bison
all: src/goianinha
# Gera o arquivo de código do lexer usando Flex
src/lex.yy.cc: src/goianinha.l include/goianinha.tab.hh
$(FLEX) -+ -o src/lex.yy.cc src/goianinha.l
# Gera o arquivo do código do parser usando Bison
src/goianinha.tab.cc: src/goianinha.y
$(BISON) -d --defines=include/goianinha.tab.hh -o src/goianinha.tab.cc src/goianinha.y
# Regra para compilar o executável principal
src/goianinha: src/Main.cpp src/goianinha.tab.cc src/lex.yy.cc
$(CXX) $(CXXFLAGS) $^ -o $@
printer: src/printer.cpp
$(CXX) $(CXXFLAGS) $^ -o src/printer
print:
src/printer
run: src/goianinha
src/goianinha tests/goianinha.g
clean:
rm -f goianinha src/lex.yy.cc src/goianinha.tab.cc src/goianinha src/printer include/goianinha.tab.hh