# coding: utf-8 # 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 \ $(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 # Module pour l'envoie d'email $(rep_ebin)/smtp.beam: $(rep_erl)/smtp.erl erlc $(erlc_params) # 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) # 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 #$(rep_ebin)/captcha.beam: $(rep_erl)/captcha.erl # erlc $(erlc_params) # 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