109 lines
3.7 KiB
Makefile
109 lines
3.7 KiB
Makefile
# **************************************************************************** #
|
|
# #
|
|
# ::: :::::::: #
|
|
# Makefile :+: :+: :+: #
|
|
# +:+ +:+ +:+ #
|
|
# By: jfleury <jfleury@student.42.fr> +#+ +:+ +#+ #
|
|
# +#+#+#+#+#+ +#+ #
|
|
# Created: 2019/05/30 14:54:49 by jfleury #+# #+# #
|
|
# Updated: 2019/07/17 11:19:50 by jfleury ### ########.fr #
|
|
# #
|
|
# **************************************************************************** #
|
|
|
|
NAME1 = asm
|
|
NAME2 = corewar
|
|
CC = gcc
|
|
RM = rm -f
|
|
INCLUDE = -I ./include
|
|
IN_LIB = -I libft/include
|
|
IN_PRT = -I libft/printf
|
|
CFLAGS += -Wall -Wextra -Werror $(INCLUDE) $(IN_LIB) $(IN_PRT)
|
|
NCURS = -lncurses
|
|
|
|
SRC_ASM = srcs/srcs_asm/main_asm.c \
|
|
srcs/srcs_asm/op.c \
|
|
srcs/srcs_asm/convert/convert.c \
|
|
srcs/srcs_asm/convert/conv_instru.c \
|
|
srcs/srcs_asm/convert/conv_utils.c \
|
|
srcs/srcs_asm/lexer/src_variable/var_automaton.c \
|
|
srcs/srcs_asm/lexer/ft_lexer.c \
|
|
srcs/srcs_asm/lexer/ft_automaton.c \
|
|
srcs/srcs_asm/lexer/lib_lexer/ft_append_token_label.c \
|
|
srcs/srcs_asm/lexer/lib_lexer/ft_cut_line.c \
|
|
srcs/srcs_asm/lexer/lib_lexer/ft_line_strchr.c \
|
|
srcs/srcs_asm/lexer/lib_lexer/ft_create_string.c \
|
|
srcs/srcs_asm/lexer/lib_lexer/ft_check_line.c \
|
|
srcs/srcs_asm/lexer/lib_lexer/ft_append_lst_tk.c \
|
|
srcs/srcs_asm/lexer/lib_lexer/ft_empty_line.c \
|
|
srcs/srcs_asm/lexer/lib_lexer/ft_free_list.c \
|
|
srcs/srcs_asm/lexer/lib_lexer/ft_create_token_label.c \
|
|
srcs/srcs_asm/parser/ft_parser.c \
|
|
srcs/srcs_asm/parser/parse_utils.c \
|
|
srcs/srcs_asm/parser/ft_parse_command.c \
|
|
srcs/srcs_asm/parser/ft_parse_instruc.c \
|
|
srcs/srcs_asm/parser/ft_cal_progsize.c
|
|
|
|
SRC_VM = srcs/srcs_vm/cw_parser.c \
|
|
srcs/srcs_vm/cw_read_mem.c \
|
|
srcs/srcs_vm/cw_write_mem.c \
|
|
srcs/srcs_vm/cw_process.c \
|
|
srcs/srcs_vm/cw_vm.c \
|
|
srcs/srcs_vm/cw_live.c \
|
|
srcs/srcs_vm/cw_add_sub.c \
|
|
srcs/srcs_vm/cw_aff.c \
|
|
srcs/srcs_vm/cw_and_or_xor.c \
|
|
srcs/srcs_vm/cw_fork_lfork.c \
|
|
srcs/srcs_vm/cw_ld_lld.c \
|
|
srcs/srcs_vm/cw_ldi_lldi.c \
|
|
srcs/srcs_vm/cw_st.c \
|
|
srcs/srcs_vm/cw_sti.c \
|
|
srcs/srcs_vm/cw_zjump.c \
|
|
srcs/srcs_vm/check_args.c \
|
|
srcs/srcs_vm/main.c \
|
|
srcs/srcs_vm/cw_visual.c \
|
|
srcs/srcs_vm/cw_init_ncurs.c \
|
|
srcs/srcs_vm/cw_error.c \
|
|
srcs/srcs_vm/cw_print_usage.c \
|
|
srcs/srcs_vm/cw_ops_tools.c \
|
|
srcs/srcs_vm/cw_args.c \
|
|
srcs/srcs_vm/cw_visual_win.c
|
|
|
|
LIB = libft/libft.a
|
|
PRT = libft/printf/libftprintf.a
|
|
|
|
INCP = $(foreach dir, $(INCDIR), -I$(dir))
|
|
|
|
OBJ_ASM = $(SRC_ASM:.c=.o)
|
|
OBJ_VM = $(SRC_VM:.c=.o)
|
|
|
|
all: libft $(NAME1) $(NAME2)
|
|
|
|
libft :
|
|
make -C libft -f Makefile
|
|
make -C libft/printf -f Makefile
|
|
|
|
$(NAME1): $(OBJ_ASM)
|
|
make -C libft -f Makefile
|
|
make -C libft/printf -f Makefile
|
|
$(CC) -o $(NAME1) $(CFLAGS) $(OBJ_ASM) $(LIB) $(PRT)
|
|
|
|
$(NAME2): $(OBJ_VM)
|
|
make -C libft -f Makefile
|
|
make -C libft/printf -f Makefile
|
|
$(CC) -o $(NAME2) $(CFLAGS) $(OBJ_VM) $(LIB) $(PRT) -lncurses
|
|
|
|
|
|
clean:
|
|
make -C libft -f Makefile clean
|
|
make -C libft/printf -f Makefile clean
|
|
$(RM) $(OBJ_ASM) $(OBJ_VM)
|
|
|
|
fclean: clean
|
|
make -C libft -f Makefile fclean
|
|
make -C libft/printf -f Makefile fclean
|
|
$(RM) $(NAME1) $(NAME2)
|
|
|
|
re: fclean all
|
|
|
|
.PHONY: all clean fclean re
|