This repository has been archived by the owner on Feb 3, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
64 lines (47 loc) · 2.01 KB
/
Makefile
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
OBJ := obj
SRC := src
INC := include
CFLAGS := -g -w -O3
EXE := bisca
# Cria objetos de todos os arquivos de código-fonte para então linká-los no programa final
main: $(OBJ)/Cartas.o $(OBJ)/MaosSimples.o $(OBJ)/BaralhoEncadeado.o $(OBJ)/IA2Jogadores.o $(OBJ)/IA4Jogadores.o $(OBJ)/PartidaCircular.o $(OBJ)/Jogo.o $(OBJ)/trab1.o
gcc $(OBJ)/*.o -o $(EXE) $(CFLAGS)
$(OBJ)/Cartas.o: $(SRC)/Cartas.c $(INC)/Cartas.h
gcc -c $(CFLAGS) "$(SRC)/Cartas.c" -o "$(OBJ)/Cartas.o"
$(OBJ)/MaosSimples.o: $(SRC)/MaosSimples.c $(INC)/MaosSimples.h
gcc -c $(CFLAGS) "$(SRC)/MaosSimples.c" -o "$(OBJ)/MaosSimples.o"
$(OBJ)/BaralhoEncadeado.o: $(SRC)/BaralhoEncadeado.c $(INC)/BaralhoEncadeado.h
gcc -c $(CFLAGS) "$(SRC)/BaralhoEncadeado.c" -o "$(OBJ)/BaralhoEncadeado.o"
$(OBJ)/IA2Jogadores.o: $(SRC)/IA2Jogadores.c $(INC)/IA2Jogadores.h
gcc -c $(CFLAGS) "$(SRC)/IA2Jogadores.c" -o "$(OBJ)/IA2Jogadores.o"
$(OBJ)/IA4Jogadores.o: $(SRC)/IA4Jogadores.c $(INC)/IA4Jogadores.h
gcc -c $(CFLAGS) "$(SRC)/IA4Jogadores.c" -o "$(OBJ)/IA4Jogadores.o"
$(OBJ)/PartidaCircular.o: $(SRC)/PartidaCircular.c $(INC)/PartidaCircular.h
gcc -c $(CFLAGS) "$(SRC)/PartidaCircular.c" -o "$(OBJ)/PartidaCircular.o"
$(OBJ)/Jogo.o: $(SRC)/Jogo.c $(INC)/Jogo.h
gcc -c $(CFLAGS) "$(SRC)/Jogo.c" -o "$(OBJ)/Jogo.o"
$(OBJ)/trab1.o: trab1.c
gcc -c $(CFLAGS) trab1.c -o "$(OBJ)/trab1.o"
# Roda o programa
run:
./$(EXE)
# Compila e roda o programa
play: main run
# Roda o programa com valgrind e flags úteis
val:
valgrind --leak-check=full -v --track-origins=yes \
--show-leak-kinds=all ./$(EXE)
# Roda o programa com valgrind sem flags
valzin:
valgrind ./$(EXE)
# Roda o programa com valgrind e salva resultados num .txt
valtxt:
valgrind --leak-check=full -v --show-leak-kinds=all --track-origins=yes --verbose --log-file="valgrind-out.txt" ./$(EXE)
# Limpa objetos e o executável do programa (para Windows)
cleanW:
del /F/Q/S "$(OBJ)\*.o"
del /F/Q/S $(EXE).exe
# Limpa objetos e o executável do programa (para Linux)
clean:
-rm $(OBJ)/*.o
-rm $(EXE)