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)
 | 
