@@ -23,16 +23,18 @@ YACC_FLAGS = -t --verbose
2323# --- FAIRE UN FICHIER CPP POUR CHAQUE FICHIER H S'IL Y A UNE CLASSE DEDANS ---
2424
2525# Core
26- MOD_CPP = Node.cpp Program.cpp TranslatedNode.cpp EmptyNode.cpp
26+ MOD_CPP = Node.cpp Program.cpp TranslatedNode.cpp EmptyNode.cpp ConvertNode.cpp
2727# Conditional expression
2828MOD_CPP += Expression.cpp BooleanExpression.cpp BooleanValue.cpp ConditionalExpression.cpp
2929# Divers
30- MOD_CPP += ArrayAccess.cpp Operator.cpp
30+ MOD_CPP += ArrayAccess.cpp Operator.cpp FunctionCall.cpp FunctionCallExpression.cpp
3131
3232# Instructions
33- INSTR_CPP = If.cpp Else.cpp
34- INSTR_CPP += For.cpp Repeat.cpp While.cpp
35- INSTR_CPP += Return.cpp FunctionCall.cpp Affectation.cpp
33+ INSTR_CPP = Instruction.cpp If.cpp Else.cpp
34+ INSTR_CPP += For.cpp Repeat.cpp While.cpp Return.cpp
35+ INSTR_CPP += FunctionCallInstruction.cpp Affectation.cpp Print.cpp CppCode.cpp Input.cpp
36+
37+ LIBS_CPP = StringFunction.cpp
3638
3739# Declarations
3840DEC_CPP = CommonDeclaration.cpp CommonVar.cpp
@@ -48,16 +50,17 @@ HT_CPP = HashElement.cpp HashTable.cpp ScopeHashTable.cpp ClassHashTable.cpp
4850# Hash elements corresponding to declarations
4951HT_CPP += ClassHashed.cpp FunctionHashed.cpp VariableHashed.cpp
5052
51- ALL_CPP = ${MOD_CPP} ${DEC_CPP} ${INSTR_CPP} ${ADDONS_CPP} ${HT_CPP}
53+ ALL_CPP = ${MOD_CPP} ${DEC_CPP} ${INSTR_CPP} ${LIBS_CPP} ${ ADDONS_CPP} ${HT_CPP}
5254
5355# Object files
5456MOD_OBJ = $(MOD_CPP:%.cpp=obj/%.o )
5557DEC_OBJ = $(DEC_CPP:%.cpp=obj/%.o )
5658INSTR_OBJ = $(INSTR_CPP:%.cpp=obj/%.o )
59+ LIBS_OBJ = $(LIBS_CPP:%.cpp=obj/%.o )
5760ADDONS_OBJ = $(ADDONS_CPP:%.cpp=obj/%.o )
5861HT_OBJ = $(HT_CPP:%.cpp=obj/%.o )
5962
60- ALL_OBJ = ${MOD_OBJ} ${DEC_OBJ} ${INSTR_OBJ} ${ADDONS_OBJ} ${HT_OBJ}
63+ ALL_OBJ = ${MOD_OBJ} ${DEC_OBJ} ${INSTR_OBJ} ${LIBS_OBJ} ${ ADDONS_OBJ} ${HT_OBJ}
6164
6265# Dependency files
6366ALL_DPDCY = $(ALL_OBJ:%.o=%.d )
@@ -70,7 +73,7 @@ EXEC = EZ_language_compiler
7073# compiler
7174all : $(EXEC )
7275
73- EZ_language_compiler : obj/lex.yy.c obj/EZ_language_compiler.tab.cpp obj/EZ_language_compiler.tab.hpp $(ALL_OBJ )
76+ EZ_language_compiler : obj/lex.yy.c obj/EZ_language_compiler.tab.cpp obj/EZ_language_compiler.tab.hpp $(ALL_OBJ )
7477 @echo -e " \033[1;33mCréation du compilateur en compilant les sources\033[0m"
7578 $(CC ) -o bin/$@ obj/EZ_language_compiler.tab.cpp obj/lex.yy.c $(ALL_OBJ ) -lfl $(CC_FLAGS )
7679
@@ -96,6 +99,11 @@ obj/%.d: src/instructions/%.cpp
9699 $(CC ) $< -MT $@ -MT obj/$* .o -o $@ $(CC_MOD_FLAGS )
97100 @echo " "
98101
102+ obj/% .d : src/libraries/% .cpp
103+ @echo -e " \033[1;33mDépendance pour le fichier $< créée : \033[0m"
104+ $(CC ) $< -MT $@ -MT obj/$* .o -o $@ $(CC_MOD_FLAGS )
105+ @echo " "
106+
99107obj/% .d : src/modules/% .cpp
100108 @echo -e " \033[1;33mDépendance pour le fichier $< créée : \033[0m"
101109 $(CC ) $< -MT $@ -MT obj/$* .o -o $@ $(CC_MOD_FLAGS )
@@ -125,6 +133,12 @@ obj/%.o: src/instructions/%.cpp
125133 $(CC ) -c $< -o $@ $(CC_FLAGS )
126134 @echo " "
127135
136+
137+ obj/% .o : src/libraries/% .cpp
138+ @echo -e " \033[1;33mFichier objet pour le fichier $< créé : \033[0m"
139+ $(CC ) -c $< -o $@ $(CC_FLAGS )
140+ @echo " "
141+
128142obj/% .o : src/modules/% .cpp
129143 @echo -e " \033[1;33mFichier objet pour le fichier $< créé : \033[0m"
130144 $(CC ) -c $< -o $@ $(CC_FLAGS )
0 commit comments