-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
executable file
·72 lines (49 loc) · 1.21 KB
/
Makefile
File metadata and controls
executable file
·72 lines (49 loc) · 1.21 KB
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
70
71
72
ifeq ($(HOSTTYPE),)
HOSTTYPE := $(shell uname -m)_$(shell uname -s)
endif
NAME = libft_malloc_$(HOSTTYPE).so
CC = gcc
CFLAGS = -Wall -Wextra -Werror -D_REENTRANT
MFLAGS =
INCLUDE_DIR = ./includes
DIR_OBJ = ./obj/
SRC_DIR = ./srcs/
MAIN =
LIEN = libft_malloc.so
FILES = malloc.c \
free.c \
realloc.c \
show_alloc_mem.c \
show_alloc_mem_ex.c \
print_fcts.c \
malloc_debug.c \
calloc.c
OBJS = $(patsubst %.c, $(DIR_OBJ)%.o, $(FILES)) $(patsubst %.c, $(DIR_OBJ)%.o, $(MAIN))
DEP_OBJ = src_msg \
$(OBJS)
RM = /bin/rm -rf
all: $(NAME)
$(NAME): mkdirobj $(DEP_OBJ)
@ $(shell ln -s $(NAME) $(LIEN))
@ /bin/echo -n "Archiving object in $(NAME):"
@ $(CC) -shared -o $(NAME) $(OBJS) $(MFLAGS)
@ echo " \033[32mAll done!\033[0m"
$(DIR_OBJ)%.o: $(SRC_DIR)%.c
@ /bin/echo -n " $(notdir $@)"
@ $(CC) $(CFLAGS) -c -o $@ $< -I $(INCLUDE_DIR)
@ echo " \033[32mOK\033[0m"
mkdirobj:
@ mkdir -p $(DIR_OBJ)
clean:
@ /bin/echo -n "Removing object files:"
@ $(RM) $(DIR_OBJ)
@ echo " \033[32mdone\033[0m"
fclean: clean
@ /bin/echo -n "Removing library:"
@ $(RM) $(NAME)
@ $(RM) $(LIEN)
@ echo " \033[32mdone\033[0m"
re: fclean all
src_msg:
@ echo " src functions:"
.PHONY : all clean fclean re