-
Notifications
You must be signed in to change notification settings - Fork 0
/
makefile
36 lines (27 loc) · 868 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
CHECK := $(shell which clang)
ifeq ($(CHECK),)
$(warning no clang found, consider apt-get install clang, using gcc now)
CC = gcc
else
$(info using clang over gcc)
CC = clang
endif
IDIR=include
ODIR=obj
SRCDIR=src
test: $(ODIR)/test.o $(ODIR)/Node.o $(ODIR)/Btree.o $(ODIR)/utils.o
$(CC) -Dt=$(T) -g -o test -g $(ODIR)/test.o $(ODIR)/Btree.o $(ODIR)/Node.o $(ODIR)/utils.o
$(ODIR)/test.o: test.c
$(CC) -Dt=$(T) -g -w -o $(ODIR)/test.o -c test.c
$(ODIR)/Node.o: $(SRCDIR)/Node.c $(IDIR)/Node.h
$(CC) -Dt=$(T) -g -w -o $(ODIR)/Node.o -c $(SRCDIR)/Node.c
$(ODIR)/Btree.o: $(SRCDIR)/Btree.c $(IDIR)/Btree.h
$(CC) -Dt=$(T) -g -w -o $(ODIR)/Btree.o -c $(SRCDIR)/Btree.c
$(ODIR)/utils.o: $(SRCDIR)/utils.c $(IDIR)/utils.h
$(CC) -Dt=$(T) -g -w -o $(ODIR)/utils.o -c $(SRCDIR)/utils.c
remdat:
rm *.dat
touch tree.dat
clean:
rm -f $(ODIR)/*.o
rm test