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)) FLAGS = -felf64 all: $(NAME) test: test.c $(NAME) clang -z noexecstack test.c $(NAME) -o test $(NAME): $(OBJS_DIR) $(OBJS) ar rcs $@ $(OBJS) $(OBJS_DIR): mkdir -p $(OBJS_DIR) $(OBJS_DIR)/%.o: $(SRCS_DIR)/%.s nasm $(FLAGS) -o $@ $< clean: rm -rf $(OBJS_DIR) fclean: clean rm -f $(NAME) test .PHONY: fclean clean all