aboutsummaryrefslogtreecommitdiffstats
path: root/tests/Makefile
blob: 28a9741857d849ebfe1299716ae19acf443fcc6f (plain)
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
CC = cc
CFLAGS = -Wall -Wextra -Werror $(EXTRA)

SRCDIR = src
OBJDIR = obj
BINDIR = bin

NAME_PRELOAD = $(BINDIR)/test_preload
NAME_SHOW = $(BINDIR)/test_show
NAME_RANDOM = $(BINDIR)/test_random

SRCS = test_preload.c

OBJS = $(SRCS:%.c=$(OBJDIR)/%.o)

MALLOC_LIB = ../lib/libft_malloc.so
MALLOC_INC = ../inc

$(NAME_PRELOAD): $(OBJS) | $(BINDIR)
	$(CC) $(CFLAGS) -o $@ $(OBJS)

$(NAME_SHOW): $(OBJDIR)/test_show.o $(MALLOC_LIB) | $(BINDIR)
	$(CC) $(CFLAGS) -o $@ $(OBJDIR)/test_show.o -L ../lib -lft_malloc -Wl,-rpath,'$$ORIGIN/../../lib'

$(OBJDIR)/test_show.o: $(SRCDIR)/test_show.c | $(OBJDIR)
	$(CC) $(CFLAGS) -I $(MALLOC_INC) -c $< -o $@

$(NAME_RANDOM): $(OBJDIR)/test_random.o | $(BINDIR)
	$(CC) $(CFLAGS) -o $@ $(OBJDIR)/test_random.o

all: $(NAME_PRELOAD) $(NAME_SHOW) $(NAME_RANDOM)

$(OBJDIR)/%.o: $(SRCDIR)/%.c | $(OBJDIR)
	$(CC) $(CFLAGS) -c $< -o $@

$(OBJDIR):
	mkdir -p $(OBJDIR)

$(BINDIR):
	mkdir -p $(BINDIR)

SEED ?= 42
COUNT ?= 10

test: $(NAME_PRELOAD) $(NAME_SHOW) $(NAME_RANDOM)
	@echo "=== system malloc ==="
	@$(NAME_PRELOAD)
	@echo ""
	@echo "=== ft_malloc ==="
	@LD_PRELOAD=$(MALLOC_LIB) $(NAME_PRELOAD)
	@echo ""
	@echo "=== show_alloc_mem ==="
	@$(NAME_SHOW)
	@echo ""
	@echo "=== random (system, seed=$(SEED) count=$(COUNT)) ==="
	@$(NAME_RANDOM) $(SEED) $(COUNT)
	@echo ""
	@echo "=== random (ft_malloc, seed=$(SEED) count=$(COUNT)) ==="
	@LD_PRELOAD=$(MALLOC_LIB) $(NAME_RANDOM) $(SEED) $(COUNT)

clean:
	rm -rf $(OBJDIR) $(BINDIR)

.PHONY: all test clean