-
Notifications
You must be signed in to change notification settings - Fork 1
/
Makefile
69 lines (54 loc) · 1.6 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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
CC = clang++
CFLAGS = -Wall -Wextra -Werror -std=c++98
INC_DIR = ./includes
TESTER_DIR = ./mainTester
TESTER_LOG_DIR = ./mainTester/log
RM = rm -f
STD = std
FT = ft
CONT = vector_test
TIME = time
ifeq ($(TESTED_NAMESPACE),)
TESTED_NAMESPACE = ft
endif
all :
@make start
@make test
start :
@$(TESTER_DIR)/mainTest.sh
test :
@make mainTest CONT=vector_test
@make mainTest CONT=stack_test
@make mainTest CONT=map_test
@make mainTest CONT=set_test
mainTest :
@mkdir -p $(TESTER_LOG_DIR)
@$(CC) $(CFLAGS) $(TESTER_DIR)/$(CONT).cpp -o $(CONT) -I$(INC_DIR) -DTESTED_NAMESPACE=$(FT)
@./$(CONT) > $(TESTER_LOG_DIR)/$(FT)_$(CONT)
@$(CC) $(CFLAGS) $(TESTER_DIR)/$(CONT).cpp -o $(CONT) -I$(INC_DIR) -DTESTED_NAMESPACE=$(STD)
@./$(CONT) > $(TESTER_LOG_DIR)/$(STD)_$(CONT)
@diff $(TESTER_LOG_DIR)/$(STD)_$(CONT) $(TESTER_LOG_DIR)/$(FT)_$(CONT)
@rm $(CONT)
@$(TESTER_DIR)/compare.sh $(CONT)
print :
@$(CC) $(CFLAGS) $(TESTER_DIR)/print_RBtree.cpp -o map -I$(INC_DIR)
@./map
@rm map
time :
@make time_unit CONT=vector_test
@make time_unit CONT=stack_test
@make time_unit CONT=set_test
time_unit :
@$(CC) $(CFLAGS) $(TESTER_DIR)/$(CONT).cpp -o $(CONT) -I$(INC_DIR) -DTESTED_NAMESPACE=$(FT)
@printf "\n=====\t$(CONT)\t====="
@printf "\ntime 'FT'"
@$(TIME) ./$(CONT) > $(TESTER_LOG_DIR)/$(FT)_$(CONT)
@$(CC) $(CFLAGS) $(TESTER_DIR)/$(CONT).cpp -o $(CONT) -I$(INC_DIR) -DTESTED_NAMESPACE=$(STD)
@printf "time 'STD'"
@$(TIME) ./$(CONT) > $(TESTER_LOG_DIR)/$(STD)_$(CONT)
@rm $(CONT)
clean :
@$(RM) -r $(TESTER_LOG_DIR)
fclean : clean
re : fclean all
.PHONY: all clean fclean re start test mainTest time time_unit