-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
38 lines (28 loc) · 966 Bytes
/
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
# Nome do executável
TARGET_INVESTOR = exchange.exe
TARGET_ADM = adm.exe
# Compilador
CC = gcc
# Flags
INCLUDE_DIR = ./source/include
CFLAGS = -Wall -I$(INCLUDE_DIR)
# Lista de arquivos fonte
INV_DIR = ./source/srcInvestidor
INV_C_SOURCE = $(wildcard ./source/srcInvestidor/*.c)
ADM_C_SOURCE = $(wildcard ./source/srcAdm/*.c)
DEFAULT_SOURCE = $(INV_DIR)/verificaCPF.c $(INV_DIR)/limpaBuffer.c $(INV_DIR)/atualizarCotacao.c $(INV_DIR)/cadastro.c
H_SOURCE = $(wildcard ./source/include/*.h)
# Variavel para limpeza
RM = rm -f
# Regra principal: compilar o programa
# Obs.: '$@' identifica o target
# '$^' identifica os pre-requisitos (sources)
all: $(TARGET_INVESTOR) $(TARGET_ADM)
$(TARGET_INVESTOR): $(INV_C_SOURCE) $(H_SOURCE)
$(CC) $(CFLAGS) -o $@ $^
$(TARGET_ADM): $(ADM_C_SOURCE) $(DEFAULT_SOURCE) $(H_SOURCE)
$(CC) $(CFLAGS) -o $@ $^
# Regra para limpar os arquivos gerados
clean:
@ $(RM) *.bin $(TARGET_INVESTOR) $(TARGET_ADM)
.PHONY: all clean