+# coding: utf-8\r
# Répertoire dans lequel se trouve les modules compilés (beam)
rep_ebin = ebin
# Répertoire dans lequel se trouve les fichier hrl (définition de record)
rep_include = include
-# Paramètre du compilateur
-erlc_params = -I $(rep_include) -o $(rep_ebin) $<
+# Paramètres du compilateur
+# il est possible de compiler en natif en executant :
+# $ make NATIVE=true
+# les différents tests on montrés que ca n'augmentait pas les performances
+# car très lié à la base de données
+# TODO : simplifier et éviter les répetitions
+ifdef NATIVE
+ erlc_params = +native -I $(rep_include) -o $(rep_ebin) $<
+else
+ erlc_params = -I $(rep_include) -o $(rep_ebin) $<
+endif
# Compilation de toute l'application euphorik
-all: $(rep_ebin)/euphorik_bd.beam \
+all: $(rep_ebin)/smtp.beam \\r
+$(rep_ebin)/euphorik_bd.beam \
$(rep_ebin)/euphorik_minichat_conversation.beam \
$(rep_ebin)/euphorik_requests.beam \
$(rep_ebin)/euphorik_protocole.beam \
$(rep_ebin)/euphorik_daemon.beam \
$(rep_ebin)/euphorik_bd.beam \
-$(rep_ebin)/euphorik_bd_update.beam \
+$(rep_ebin)/euphorik_bd_admin.beam \
$(rep_ebin)/euphorik_common.beam \
$(rep_ebin)/euphorik_test.beam
+\r
+# Module pour l'envoie d'email\r
+$(rep_ebin)/smtp.beam: $(rep_erl)/smtp.erl\r
+ erlc $(erlc_params)\r
# Module pour la gestion des données persistante la BD
$(rep_ebin)/euphorik_bd.beam: $(rep_erl)/euphorik_bd.erl $(rep_include)/euphorik_bd.hrl $(rep_include)/euphorik_defines.hrl
erlc $(erlc_params)
# Module pour la mise à jour de la BD
-$(rep_ebin)/euphorik_bd_update.beam: $(rep_erl)/euphorik_bd_update.erl $(rep_erl)/euphorik_bd.erl $(rep_include)/euphorik_bd.hrl $(rep_include)/euphorik_defines.hrl
+$(rep_ebin)/euphorik_bd_admin.beam: $(rep_erl)/euphorik_bd_admin.erl $(rep_include)/euphorik_bd.hrl $(rep_include)/euphorik_defines.hrl
erlc $(erlc_params)
# Module permettant l'extraction des conversations du minichat
erlc $(erlc_params)
# Module dédié au tests
-$(rep_ebin)/euphorik_test.beam: $(rep_erl)/euphorik_test.erl $(rep_erl)/euphorik_bd.erl $(rep_include)/euphorik_bd.hrl
+$(rep_ebin)/euphorik_test.beam: $(rep_erl)/euphorik_test.erl $(rep_include)/euphorik_bd.hrl
erlc $(erlc_params)
# Suppression des modules compilés