33 lines
718 B
Makefile
33 lines
718 B
Makefile
# The interesting part
|
|
NAME = test
|
|
SRCS = src/
|
|
INCLUDES = includes/
|
|
CODE = main
|
|
LIBRARIES = mlx
|
|
LINK=Xext X11 m z
|
|
|
|
# It works and I probably won't change it for the rest of my life
|
|
C_FILES = $(addsuffix .c,$(addprefix $(SRCS),$(CODE)))
|
|
O_FILES = $(addsuffix .o,$(addprefix $(SRCS),$(CODE)))
|
|
CC = cc -Wall -Wextra -Werror
|
|
|
|
all : $(NAME)
|
|
|
|
$(NAME) : $(O_FILES) $(LIBRARIES)
|
|
$(CC) -o $(NAME) $(O_FILES) $(addprefix -L ,$(LIBRARIES)) $(addprefix -l ,$(LIBRARIES) $(LINK))
|
|
|
|
$(LIBRARIES) :
|
|
true $(addprefix && make -C ,$(LIBRARIES))
|
|
|
|
%.o : %.c
|
|
$(CC) $(addprefix -I ,$(INCLUDES) $(LIBRARIES)) -c $< -o $@
|
|
|
|
clean :
|
|
rm -f $(O_FILES)
|
|
|
|
fclean : clean
|
|
rm -f $(NAME)
|
|
|
|
re : fclean all
|
|
|
|
.PHONY : all clean fclean re $(LIBRARIES)
|