MOD mineurs
[euphorik.git] / modules / Makefile
index 947a3c3..0a77892 100755 (executable)
@@ -1,46 +1,77 @@
-# Répertoire dans lequel se trouve les modules compilés (beam)\r
-rep_ebin = ebin\r
-\r
-# Répertoire dans lequel se trouve les fichiers sources\r
-rep_erl = erl\r
-\r
-# Répertoire dans lequel se trouve les fichier hrl (définition de record)\r
-rep_include = include\r
-\r
-# Paramètre du compilateur\r
-erlc_params = -I $(rep_include) -o $(rep_ebin) $<\r
-\r
-# Compilation de toute l'application euphorik\r
-all: $(rep_ebin)/euphorik_bd.beam \
-$(rep_ebin)/euphorik_minichat_conversation.beam \\r
-$(rep_ebin)/euphorik_requests.beam \\r
+# 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 fichiers sources
+rep_erl = erl
+
+# Répertoire dans lequel se trouve les fichier hrl (définition de record)
+rep_include = include
+
+# 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)/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_admin.beam \
+$(rep_ebin)/euphorik_common.beam \
+$(rep_ebin)/euphorik_test.beam
 \r
-# Module pour la gestion des données persistante la BD\r
-$(rep_ebin)/euphorik_bd.beam: $(rep_erl)/euphorik_bd.erl $(rep_include)/euphorik_bd.hrl $(rep_include)/euphorik_defines.hrl\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_admin.beam: $(rep_erl)/euphorik_bd_admin.erl $(rep_erl)/euphorik_bd.erl $(rep_include)/euphorik_bd.hrl $(rep_include)/euphorik_defines.hrl
+       erlc $(erlc_params)
+
 # Module permettant l'extraction des conversations du minichat
 $(rep_ebin)/euphorik_minichat_conversation.beam: $(rep_erl)/euphorik_minichat_conversation.erl $(rep_include)/euphorik_bd.hrl
-       erlc $(erlc_params)\r
-       \r
-# Module traitant les requêtes AJAX du client javascript d'euphorik\r
-$(rep_ebin)/euphorik_requests.beam: $(rep_erl)/euphorik_requests.erl\r
-       erlc $(erlc_params)\r
-       \r
-# Module interpretant les messages XML du client\r
-$(rep_ebin)/euphorik_protocole.beam: $(rep_erl)/euphorik_protocole.erl $(rep_include)/euphorik_defines.hrl\r
+       erlc $(erlc_params)
+       
+# Module traitant les requêtes AJAX du client javascript d'euphorik
+$(rep_ebin)/euphorik_requests.beam: $(rep_erl)/euphorik_requests.erl $(rep_include)/euphorik_defines.hrl
+       erlc $(erlc_params)
+       
+# Module interpretant les messages XML du client
+$(rep_ebin)/euphorik_protocole.beam: $(rep_erl)/euphorik_protocole.erl $(rep_include)/euphorik_defines.hrl
        erlc $(erlc_params)
    
-# Module pour la génération du captcha\r
-#$(rep_ebin)/captcha.beam: $(rep_erl)/captcha.erl\r
+# Module pour la génération du captcha
+#$(rep_ebin)/captcha.beam: $(rep_erl)/captcha.erl
 #      erlc $(erlc_params)
-      \r
-# Module effectuant periodiquement certaines tâches\r
-$(rep_ebin)/euphorik_daemon.beam: $(rep_erl)/euphorik_daemon.erl $(rep_include)/euphorik_defines.hrl\r
-       erlc $(erlc_params)\r
-\r
-# Suppression des modules compilés\r
-clean:\r
+      
+# Module effectuant periodiquement certaines tâches
+$(rep_ebin)/euphorik_daemon.beam: $(rep_erl)/euphorik_daemon.erl $(rep_include)/euphorik_defines.hrl $(rep_erl)/euphorik_bd_admin.erl
+       erlc $(erlc_params)
+   
+# Module avec plein de bordel dedant
+$(rep_ebin)/euphorik_common.beam: $(rep_erl)/euphorik_common.erl
+       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
+       erlc $(erlc_params)
+
+# Suppression des modules compilés
+clean:
        rm ebin/*.beam