1- # compiler used
1+ # Compiler used
22CC = g++-5
3- # compilation flags
3+ # Compilation flags
44CC_FLAGS = -Wall -std=c++11 -ggdb
55EXT_SRC =
66CC_MOD_FLAGS = -MM # -MP
77
8- # lex file extensions (.XXX)
8+ # Lex file extensions (.XXX)
99LEX_EXT = lex
10- # lex file interpreter : lexical analysis
10+ # Lex file interpreter : lexical analysis
1111LEX = flex
1212LEX_FlAGS =
1313
14-
15- # extension des fichiers yacc (.XXX)
14+ # Yacc files extension (.XXX)
1615YACC_EXT = ypp
1716# interpréteur des fichiers Yacc : analyse syntaxique et sémantique
1817YACC = bison -t
1918YACC_FLAGS =
2019
20+
2121# cpp sources
2222# --- RAJOUTER CHAQUE FICHIER CPP DE MODULES ICI ! ---
2323# --- FAIRE UN FICHIER CPP POUR CHAQUE FICHIER H S'IL Y A UNE CLASSE DEDANS ---
2424
2525# Core
26- MOD_CPP = src/modules/ Node.cpp src/modules/ Program.cpp src/modules/ TranslatedNode.cpp
26+ MOD_CPP = Node.cpp Program.cpp TranslatedNode.cpp EmptyNode .cpp
2727# Conditional expression
28- MOD_CPP += src/modules/ Expression.cpp src/modules/ BooleanExpression.cpp src/modules/ BooleanValue.cpp src/modules/ ConditionalExpression.cpp
28+ MOD_CPP += Expression.cpp BooleanExpression.cpp BooleanValue.cpp ConditionalExpression.cpp
2929# Divers
30- MOD_CPP += src/modules/ ArrayAccess.cpp
30+ MOD_CPP += ArrayAccess.cpp Affectation.cpp Operator .cpp
3131
3232# Instructions
33- INSTR_CPP = src/instructions/ If.cpp src/instructions/ Else.cpp src/instructions/Operation .cpp
34- INSTR_CPP += src/instructions/ For.cpp src/instructions/ Repeat.cpp src/instructions/ While.cpp
35- INSTR_CPP += src/instructions/ Return.cpp
33+ INSTR_CPP = If.cpp Else.cpp
34+ INSTR_CPP += For.cpp Repeat.cpp While.cpp
35+ INSTR_CPP += Return.cpp
3636
37- ADDONS_CPP = src/addons/String_addon.cpp src/addons/log.cpp
37+ # Declarations
38+ DEC_CPP = CommonDeclaration.cpp
39+ DEC_CPP += Container.cpp Function.cpp Procedure.cpp Class.cpp Variable.cpp MultipleVariable.cpp Parameter.cpp
3840
39- # declarations
40- DEC_CPP = src/declarations/CommonDeclaration.cpp
41- DEC_CPP += src/declarations/Container.cpp src/declarations/Function.cpp src/declarations/Procedure.cpp
42- DEC_CPP += src/declarations/Class.cpp src/declarations/Variable.cpp src/declarations/MultipleVariable.cpp
43- DEC_CPP += src/declarations/Parameter.cpp
41+ # Addons
42+ ADDONS_CPP = src/addons/String_addon.cpp src/addons/log.cpp
4443
4544# hash table sources
4645HT_CPP = src/hash_table/HashElement.cpp src/hash_table/HashTable.cpp src/hash_table/ScopeHashTable.cpp src/hash_table/ClassHashTable.cpp
@@ -49,19 +48,19 @@ HT_CPP += src/hash_table/ClassHashed.cpp src/hash_table/FunctionHashed.cpp src/h
4948
5049ALL_CPP = ${MOD_CPP} ${DEC_CPP} ${INSTR_CPP} ${ADDONS_CPP} ${HT_CPP}
5150
52- # object files
53- MOD_OBJ = $(MOD_CPP:src/modules/ %.cpp=obj/%.o )
54- DEC_OBJ = $(DEC_CPP:src/declarations/ %.cpp=obj/%.o )
55- INSTR_OBJ = $(INSTR_CPP:src/instructions/ %.cpp=obj/%.o )
51+ # Object files
52+ MOD_OBJ = $(MOD_CPP:%.cpp=obj/%.o )
53+ DEC_OBJ = $(DEC_CPP:%.cpp=obj/%.o )
54+ INSTR_OBJ = $(INSTR_CPP:%.cpp=obj/%.o )
5655ADDONS_OBJ = $(ADDONS_CPP:src/addons/%.cpp=obj/%.o )
5756HT_OBJ = $(HT_CPP:src/hash_table/%.cpp=obj/%.o )
5857
5958ALL_OBJ = ${MOD_OBJ} ${DEC_OBJ} ${INSTR_OBJ} ${ADDONS_OBJ} ${HT_OBJ}
6059
61- # dependency files
60+ # Dependency files
6261ALL_DPDCY = $(ALL_OBJ:%.o=%.d )
6362
64- # executables
63+ # Executables
6564# exe name, must have the same name as lex file
6665EXEC = EZ_language_compiler
6766
0 commit comments