-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile_TP6_serverLinda
81 lines (73 loc) · 2.96 KB
/
Makefile_TP6_serverLinda
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#*****************************************************************
# File: Makefile_TP6_serverLinda
# Author: Jorge Rodrigo Pérez, ...
# Date: Diciembre de 2020
# Coms: Makefile para compilación del servidor Linda del tp6
# ....
# Es necesario descomentar la línea 28 para poder compilar en hendrix
#*****************************************************************
#---------------------------------------------------------
CC=g++
CD=cd
myPWD=$PWD
SERVER_DIR=ServerLinda
SERVER=${SERVER_DIR}/serverLinda
DESPLIEGUE_DIR=ServerDespliegue
DESPLIEGUE=${DESPLIEGUE_DIR}/serverDespliegue
MONITORIZACION_DIR=ServerMonitorizacion
MONITORIZACION=${MONITORIZACION_DIR}/serverMonitorizacion
SOCKET_DIR=Socket
SOCKET=${SOCKET_DIR}/Socket
MONITOR_DIR=monitorLinda
MONITOR=${MONITOR_DIR}/monitorLinda
TUPLA_DIR=Tupla
TUPLA=${TUPLA_DIR}/Tupla
CPPFLAGS=-I. -I${SOCKET_DIR} -I${MONITOR_DIR} -I${TUPLA_DIR} -O2 -std=c++11 -lsockets # Flags compilacion
LDFLAGS=-pthread # Flags linkado threads
all: ${SERVER} ${DESPLIEGUE} ${MONITORIZACION}
#----------------------------------------------------------------------------
#Para gestionar opciones de compilación según la máquina: hendrix tiene sus manías
#Descomentar la siguiente línea para compilar en hendrix
#SOCKETSFLAGS=-lsocket -lnsl
#-----------------------------------------------------------
# SERVIDOR
# Compilacion
${SERVER}.o: ${SERVER}.cpp
${CC} -c ${CPPFLAGS} ${SERVER}.cpp
# Linkado
${SERVER}: ${SOCKET}.o ${SERVER}.o ${MONITOR}.o ${TUPLA}.o
${CC} ${LDFLAGS} ${SOCKET}.o ${SERVER}.o ${MONITOR}.o ${TUPLA}.o -o ${SERVER} ${SOCKETSFLAGS}
#-----------------------------------------------------------
# DESPLIEGUE
# Compilacion
${DESPLIEGUE}.o: ${DESPLIEGUE}.cpp
${CC} -c ${CPPFLAGS} ${DESPLIEGUE}.cpp
# Linkado
${DESPLIEGUE}: ${SOCKET}.o ${DESPLIEGUE}.o
${CC} ${LDFLAGS} ${SOCKET}.o ${DESPLIEGUE}.o -o ${DESPLIEGUE} ${SOCKETSFLAGS}
#-----------------------------------------------------------
# MONITORIZACION
# Compilacion
${MONITORIZACION}.o: ${MONITORIZACION}.cpp
${CC} -c ${CPPFLAGS} ${MONITORIZACION}.cpp
# Linkado
${MONITORIZACION}: ${SOCKET}.o ${MONITORIZACION}.o
${CC} ${LDFLAGS} ${SOCKET}.o ${MONITORIZACION}.o -o ${MONITORIZACION} ${SOCKETSFLAGS}
#-----------------------------------------------------------
# SOCKETS
# Compilacion libreria de Sockets
${SOCKET}.o: ${SOCKET}.hpp ${SOCKET}.cpp
${CC} -c ${CPPFLAGS} ${SOCKET}.cpp -o ${SOCKET}.o
#-----------------------------------------------------------
# Compilacion libreria MonitorServ
${MONITOR}.o: ${MONITOR}.hpp ${MONITOR}.cpp
${CC} -c ${CPPFLAGS} ${MONITOR}.cpp -o ${MONITOR}.o
#-----------------------------------------------------------
#Compilacion libreria Tupla
${TUPLA}.o: ${TUPLA}.hpp ${TUPLA}.cpp
${CC} -c ${CPPFLAGS} ${TUPLA}.cpp -o ${TUPLA}.o
#-----------------------------------------------------------
# LIMPIEZA
clean:
$(RM) ${SOCKET}.o ${MONITOR}.o ${TUPLA}.o
$(RM) ${SERVER} ${SERVER}.o ${DESPLIEGUE} ${DESPLIEGUE}.o ${MONITORIZACION} ${MONITORIZACION}.o