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