# **************************************************************************** # # # # ::: :::::::: # # Makefile :+: :+: :+: # # +:+ +:+ +:+ # # By: cacharle +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2019/11/22 02:56:22 by cacharle #+# #+# # # Updated: 2020/04/12 19:53:58 by charles ### ########.fr # # # # **************************************************************************** # RM = rm -f LIB = ar rcs UNAME = $(shell uname) CC = gcc CCFLAGS = -Wall -Wextra -fomit-frame-pointer -fPIC NASM = nasm ifeq ($(UNAME),Linux) NASMFLAGS = -f elf64 else NASMFLAGS = -f macho64 endif NAME = libasm.a ASMSRC = ft_strlen.s ft_strcpy.s ft_strcmp.s ft_write.s ft_read.s \ ft_strdup.s ft_atoi_base.s ft_list_push_front.s \ ft_list_size.s ft_list_sort.s ft_list_remove_if.s ASMOBJ = $(ASMSRC:.s=.o) TESTNAME = runtest all: $(NAME) $(NAME): $(ASMOBJ) $(LIB) $(NAME) $(ASMOBJ) test: all $(CC) main.c $(NAME) -o $(TESTNAME) %.o: %.s $(NASM) $(NASMFLAGS) -o $@ $< clean: $(RM) $(ASMOBJ) fclean: clean $(RM) $(NAME) re: fclean all