git.maugern.fr Git - T7/blob - Makefile
First improvements
[T7] / Makefile
1 CC = gcc
2 LD = gcc
3 CFLAGS  = -Wall -W -Werror -ansi
4 LDFLAGS =
5 VFLAGS  = --quiet --tool=memcheck --leak-check=full --error-exitcode=1 --track-origins=yes
6
7 BIN = T7
8
9 HEADERS = $(wildcard *.h)
10 CFILES  = $(wildcard *.c)
11
12 OBJS = $(CFILES:.c=.o)
13
14 .PHONY: all clean mrproper docs memcheck
15
16 all: $(BIN)
17
18 $(BIN): $(OBJS)
19         $(LD) $^ $(LDFLAGS) -o $@
20
21 makefile.dep: $(CFILES) $(HEADERS)
22         $(CC) -MM $(CFILES) > $@
23
24 docs:
25         $(MAKE) -C docs
26
27 memcheck: $(BIN)
28         @valgrind $(VFLAGS) ./$(BIN)
29         @echo "Memory check passed"
30
31 clean:
32         $(RM) $(OBJS) makefile.dep
33
34 mrproper: clean
35         $(RM) $(BIN)
36         $(MAKE) clean -C docs
37
38 include makefile.dep
39