0a778921870b5e0d692690d7fa72bc7757641d59
[euphorik.git] / modules / Makefile
1 # coding: utf-8
2 # Répertoire dans lequel se trouve les modules compilés (beam)
3 rep_ebin = ebin
4
5 # Répertoire dans lequel se trouve les fichiers sources
6 rep_erl = erl
7
8 # Répertoire dans lequel se trouve les fichier hrl (définition de record)
9 rep_include = include
10
11 # Paramètres du compilateur
12 # il est possible de compiler en natif en executant :
13 # $ make NATIVE=true
14 # les différents tests on montrés que ca n'augmentait pas les performances
15 # car très lié à la base de données
16 # TODO : simplifier et éviter les répetitions
17 ifdef NATIVE
18 erlc_params = +native -I $(rep_include) -o $(rep_ebin) $<
19 else
20 erlc_params = -I $(rep_include) -o $(rep_ebin) $<
21 endif
22
23 # Compilation de toute l'application euphorik
24 all: $(rep_ebin)/smtp.beam \
25 $(rep_ebin)/euphorik_bd.beam \
26 $(rep_ebin)/euphorik_minichat_conversation.beam \
27 $(rep_ebin)/euphorik_requests.beam \
28 $(rep_ebin)/euphorik_protocole.beam \
29 $(rep_ebin)/euphorik_daemon.beam \
30 $(rep_ebin)/euphorik_bd.beam \
31 $(rep_ebin)/euphorik_bd_admin.beam \
32 $(rep_ebin)/euphorik_common.beam \
33 $(rep_ebin)/euphorik_test.beam
34
35 # Module pour l'envoie d'email
36 $(rep_ebin)/smtp.beam: $(rep_erl)/smtp.erl
37 erlc $(erlc_params)
38
39 # Module pour la gestion des données persistante la BD
40 $(rep_ebin)/euphorik_bd.beam: $(rep_erl)/euphorik_bd.erl $(rep_include)/euphorik_bd.hrl $(rep_include)/euphorik_defines.hrl
41 erlc $(erlc_params)
42
43 # Module pour la mise à jour de la BD
44 $(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
45 erlc $(erlc_params)
46
47 # Module permettant l'extraction des conversations du minichat
48 $(rep_ebin)/euphorik_minichat_conversation.beam: $(rep_erl)/euphorik_minichat_conversation.erl $(rep_include)/euphorik_bd.hrl
49 erlc $(erlc_params)
50
51 # Module traitant les requêtes AJAX du client javascript d'euphorik
52 $(rep_ebin)/euphorik_requests.beam: $(rep_erl)/euphorik_requests.erl $(rep_include)/euphorik_defines.hrl
53 erlc $(erlc_params)
54
55 # Module interpretant les messages XML du client
56 $(rep_ebin)/euphorik_protocole.beam: $(rep_erl)/euphorik_protocole.erl $(rep_include)/euphorik_defines.hrl
57 erlc $(erlc_params)
58
59 # Module pour la génération du captcha
60 #$(rep_ebin)/captcha.beam: $(rep_erl)/captcha.erl
61 # erlc $(erlc_params)
62
63 # Module effectuant periodiquement certaines tâches
64 $(rep_ebin)/euphorik_daemon.beam: $(rep_erl)/euphorik_daemon.erl $(rep_include)/euphorik_defines.hrl $(rep_erl)/euphorik_bd_admin.erl
65 erlc $(erlc_params)
66
67 # Module avec plein de bordel dedant
68 $(rep_ebin)/euphorik_common.beam: $(rep_erl)/euphorik_common.erl
69 erlc $(erlc_params)
70
71 # Module dédié au tests
72 $(rep_ebin)/euphorik_test.beam: $(rep_erl)/euphorik_test.erl $(rep_erl)/euphorik_bd.erl $(rep_include)/euphorik_bd.hrl
73 erlc $(erlc_params)
74
75 # Suppression des modules compilés
76 clean:
77 rm ebin/*.beam