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