libasm/Makefile

51 lines
798 B
Makefile

NAME = libasm
MAKE = make --no-print-directory
SRC = \
ft_strlen.s \
ft_strcpy.s \
ft_strcmp.s \
ft_write.s \
ft_read.s \
ft_strdup.s \
SRCBONUS = \
ft_list_size_bonus.s \
ft_list_push_front_bonus.s \
ft_list_sort_bonus.s \
ft_list_remove_if_bonus.s \
ft_atoi_base_bonus.s \
OBJ = $(SRC:.s=.o)
OBJBONUS = $(SRCBONUS:.s=.o)
%.o:%.s
nasm -f elf64 $< -o $@
all: $(NAME)
bonus: $(OBJ) $(OBJBONUS)
ar rcs libasm.a $(OBJ) $(OBJBONUS)
test: all
gcc -Wall -Werror -Wextra -pie main.c -L . -lasm -o test
test_bonus: bonus
gcc -Wall -Werror -Wextra -pie main_bonus.c -L . -lasm -o test_bonus
$(NAME): $(OBJ)
ar rcs libasm.a $(OBJ)
clean:
rm -fv $(OBJ) $(OBJBONUS)
fclean: clean
rm -fv libasm.a
rm -fv test
rm -fv test_bonus
re: fclean all
.PHONY: all bonus clean fclean re