-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
125 lines (92 loc) · 3.79 KB
/
Makefile
File metadata and controls
125 lines (92 loc) · 3.79 KB
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
objects_dft = complejo.o vector_t.o dft.o test_dft.o
objects_prog = complejo.o vector_t.o dft.o cmdline.o main.o
objects_diff = complejo.o vector_t.o test_diff.o
programa: $(objects_prog)
g++ -Wall -g -o programa $(objects_prog)
cmdline.o: cmdline.cpp cmdline.h
g++ -Wall -g -c cmdline.cpp
complejo.o : complejo.cpp complejo.h
g++ -Wall -g -c complejo.cpp
vector_t.o : vector_t.cpp vector_t.h complejo.h
g++ -Wall -g -c vector_t.cpp
dft.o : dft.cpp dft.h vector_t.h complejo.h
g++ -Wall -g -c dft.cpp
main.o : main.cpp cmdline.h complejo.h vector_t.h dft.h
g++ -Wall -g -c main.cpp
test_dft.o: test_dft.cpp
g++ -Wall -g -c test_dft.cpp
test_vector.o : test_vector.cpp
g++ -Wall -g -c test_vector.cpp
test_diff.o: test_diff.cpp complejo.h vector_t.h
g++ -Wall -g -c test_diff.cpp
#los archivos de prueba se deben llamar test y un numero
test_programa_dft: programa test_diff.o
@g++ -Wall -g -o test_diff $(objects_diff)
@echo "\n--------INICIA PRUEBA DE PROGRAMA--------\n"
@echo "Probando dft sin argumento -m: "
@set -e; for t in test_dft?; do \
echo Aplicando DFT a $$t; \
./programa -i $$t -o $$t.out; \
done
@echo "\n"
@set -e; for t in test_dft?; do \
echo Testing: $$t; \
./test_diff $$t dft; \
echo Test ok; \
done
@rm *.out
@echo "\nProbando dft con argumento -m: "
@set -e; for t in test_dft?; do \
echo Aplicando DFT a $$t; \
./programa -m "dft" -i $$t -o $$t.out; \
done
@echo "\n"
@set -e; for t in test_dft?; do \
echo Testing: $$t; \
./test_diff $$t dft; \
echo Test ok; \
done
@echo "\nTEST_DFT OK.\n"
@echo "Probando idft:"
@set -e; for t in test_idft?; do \
echo Aplicando IDFT a $$t; \
./programa -m "idft" -i $$t -o $$t.out; \
done
@echo "\n"
@set -e; for t in test_idft?; do \
echo Testing: $$t; \
./test_diff $$t idft; \
echo Test ok; \
done
@echo "\nTEST_IDFT OK.\n"
@rm *.out test_diff
#comprueba que no haya fugas de memoria en el programa
test_programa_valgrind: programa
@echo "\n--------INICIA PRUEBA DE MEMORIA--------\n"
@set -e; for t in test_dft?; do \
echo "\n" testing: $$t "\n"; \
valgrind --leak-check=full ./programa -m "dft" -i $$t -o $$t.out; \
done
@set -e; for t in test_idft?; do \
echo "\n" testing: $$t "\n"; \
valgrind --leak-check=full ./programa -m "idft" -i $$t -o $$t.out; \
done
@echo "\n" testing: argumento "--help" "\n"
@set -e; valgrind --leak-check=full ./programa -h;
@rm *.out
@echo "\n--------PRUEBA DE MEMORIA FINALIZADA--------\n"
#Prueba de la clase vector_t
test-vector_t: complejo.o vector_t.o test_vector.o
g++ -Wall -o test_vector_t complejo.o vector_t.o test_vector.o
#Empieza la ejecución de la prueba y compara los achivos
@./test_vector_t test_vector_t.txt
@printf "\n-----Prueba de Vector_t-----\n\n"
-@diff -T -s -b -w test_vector_t.txt out_test_vector_t.txt
@rm complejo.o vector_t.o test_vector.o test_vector_t
test-vector_t-memory: complejo.o vector_t.o test_vector.o
g++ -Wall -o test-vector_t-memory complejo.o vector_t.o test_vector.o
@printf "\n-----Prueba de memoria del Vector_t-----\n\n"
@valgrind --leak-check=yes ./test-vector_t-memory test_vector_t.txt
@rm complejo.o vector_t.o test_vector.o test-vector_t-memory
clean:
@rm -f *o *.out programa test_diff