-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
48 lines (36 loc) · 1.61 KB
/
Makefile
File metadata and controls
48 lines (36 loc) · 1.61 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
# **************************************************************************** #
# #
# ::: :::::::: #
# Makefile :+: :+: :+: #
# +:+ +:+ +:+ #
# By: inskim <inskim@student.42seoul.kr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2022/07/08 17:45:42 by inskim #+# #+# #
# Updated: 2022/08/14 19:55:13 by inskim ### ########.fr #
# #
# **************************************************************************** #
NAME = libasm.a
ASSEMBLER = nasm
SRCS_DIR = src
SRCS = $(shell find $(SRCS_DIR) -name "*.s")
OBJS_DIR = obj
OBJS = $(subst $(SRCS_DIR)/, $(OBJS_DIR)/, $(SRCS:.s=.o))
COLOUR_GREEN=\033[0;32m
COLOUR_RED=\033[0;31m
COLOUR_BLUE=\033[0;34m
COLOUR_END=\033[0m
all: $(NAME)
$(OBJS_DIR)/%.o: $(SRCS_DIR)/%.s
@$(ASSEMBLER) -felf64 -o $@ $<
@echo "$(COLOUR_BLUE)OBJECT CREATE COMPLETE [$(notdir $@)]$(COLOUR_END)"
$(NAME): $(OBJS)
@ar -rcs $@ $^
@echo "$(COLOUR_BLUE)LIBRARY CREATE COMPLETE [$(NAME)]$(COLOUR_END)"
clean:
@rm -f $(OBJS) $(BONUS_OBJS)
@echo "$(COLOUR_RED)OBJECT REMOVE COMPLETE$(COLOUR_END)"
fclean: clean
@rm -f $(NAME)
@echo "$(COLOUR_RED)LIB REMOVE COMPLETE$(COLOUR_END)"
re: fclean all
.PHONY: all clean fclean re bonus