-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
53 lines (38 loc) · 1.45 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
CC = gcc46
CFLAGS = -Wall -pedantic -ansi
BINDIR := bin
OBJDIR := obj
OBJS := $(addprefix $(OBJDIR)/, errors.o list.o symtab.o getline.o paragraph.o scanner.o dlist_test.o symtab_test.o getline_test.o parag_test.o scanner_test.o)
TESTS := $(addprefix $(BINDIR)/, dlist_test symtab_test getline_test parag_test scanner_test)
vpath %.c src src/test
vpath %.o $(OBJDIR)
vpath %.h headers
tests : $(OBJS) $(TESTS)
$(OBJDIR)/%.o : %.c
$(CC) -c $(CFLAGS) -Iheaders $^ -o $@
$(OBJS) : | $(OBJDIR)
$(OBJDIR) :
mkdir $(OBJDIR)
$(TESTS) : dlist_test symtab_test getline_test parag_test scanner_test
dlist_test : dlist_test.o list.o errors.o
$(CC) $^ -o $(BINDIR)/$@
symtab_test : symtab_test.o symtab.o getline.o errors.o
$(CC) $^ -o $(BINDIR)/$@
getline_test : getline_test.o getline.o errors.o
$(CC) $^ -o $(BINDIR)/$@
parag_test : parag_test.o paragraph.o list.o errors.o getline.o
$(CC) $^ -o $(BINDIR)/$@
scanner_test : scanner_test.o scanner.o getline.o paragraph.o list.o symtab.o errors.o
$(CC) $^ -o $(BINDIR)/$@
$(BINDIR) :
mkdir $(BINDIR)
scanner_test.o : scanner.h getline.h paragraph.h list.h symtab.h
scanner.o : scanner.h getline.h paragraph.h list.h symtab.h
parag_test.o : paragraph.h list.h errors.h getline.h
paragraph.o : paragraph.h list.h errors.h
getline_test.o : getline.h errors.h
getline.o : getline.h errors.h
symtab_test.o : symtab.h getline.h errors.h
symtab.o : symtab.h errors.h
dlist_test.o : list.h getline.h errors.h
list.o : list.h errors.h