39 lines
585 B
Makefile
39 lines
585 B
Makefile
NAME ?= libasm.a
|
|
|
|
SRCS_DIR = srcs
|
|
OBJS_DIR = .objs
|
|
|
|
SRCS_NAMES = ft_strlen.s\
|
|
ft_strcpy.s\
|
|
ft_strcmp.s\
|
|
ft_write.s\
|
|
ft_read.s\
|
|
ft_strdup.s
|
|
|
|
SRCS = $(addprefix $(SRCS_DIR)/, $(SRCS_NAMES))
|
|
|
|
OBJS = $(addprefix $(OBJS_DIR)/, $(SRCS_NAMES:.s=.o))
|
|
|
|
all: $(NAME)
|
|
|
|
test: test.c $(NAME)
|
|
gcc -o test.o -c test.c
|
|
ld tests.c -L. -lasm
|
|
|
|
$(NAME): $(OBJS_DIR) $(OBJS)
|
|
ar rcs $@ $(OBJS)
|
|
|
|
$(OBJS_DIR):
|
|
mkdir -p $(OBJS_DIR)
|
|
|
|
$(OBJS_DIR)/%.o: $(SRCS_DIR)/%.s
|
|
nasm -o $@ $<
|
|
|
|
clean:
|
|
rm -rf $(OBJS_DIR)
|
|
|
|
fclean: clean
|
|
rm -f $(NAME) test
|
|
|
|
.PHONY: fclean clean all
|