-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
37 lines (30 loc) · 845 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
# Makefile para corrector ortografico
# Compilador y banderas
CC = gcc
CFLAGS = -Wall -Wextra -Werror -std=c99
ifdef CHECK_DUP
CFLAGS += -DCHECK_DUP
endif
BIN = main
# Archivos fuente
SOURCE = $(wildcard src/*.c)
SOURCE := $(filter-out src/main.c, $(SOURCE))
SOURCE_O = $(SOURCE:c=o)
STRUCTURES = $(wildcard structures/*.c)
STRUCTURES_O = $(STRUCTURES:c=o)
# Compilar el programa
all: src/main.o $(SOURCE_O) $(STRUCTURES_O)
$(CC) $(CFLAGS) $^ utils.c -o $(BIN)
# Crear .o desde archivos .c
%.o: %.c
$(CC) -c $(CFLAGS) $^ -o $@
# Compilar para depuracion
.PHONY: debug
debug: src/main.o
$(CC) -g $(CFLAGS) src/main.o $(SOURCE) $(STRUCTURES) utils.c -o $(BIN)
# Remover archivos .o, ejecutables, etc
.PHONY: clean
clean:
@rm -r *.dSYM 2>/dev/null || true
@rm src/*.o structures/*.o 2>/dev/null || true
@rm $(BIN) 2>/dev/null || true