add Makefile
This commit is contained in:
parent
9cd2f6e29e
commit
f04587cd62
1 changed files with 63 additions and 0 deletions
63
Makefile
Normal file
63
Makefile
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
NAME = cub3D
|
||||||
|
CPP = gcc -Wall -Wextra -Werror $(FLAGS)
|
||||||
|
C_FILES = $(wildcard *.c)
|
||||||
|
O_FILES = $(patsubst %.c,%.o,$(C_FILES))
|
||||||
|
|
||||||
|
ECHO = echoo(){ \
|
||||||
|
if [ -t 1 ]; then \
|
||||||
|
echo "$$*"; \
|
||||||
|
else \
|
||||||
|
echo "$$*" | sed -E "s/\x1B[[][0-9;]+m//g"; \
|
||||||
|
fi; \
|
||||||
|
};echoo
|
||||||
|
|
||||||
|
all : $(NAME)
|
||||||
|
|
||||||
|
clean :
|
||||||
|
@$(ECHO)
|
||||||
|
@$(ECHO) "\e[30;47;1m $(NAME): clean... \e[0m"
|
||||||
|
-rm -f $(O_FILES)
|
||||||
|
|
||||||
|
fclean : clean
|
||||||
|
@$(ECHO)
|
||||||
|
@$(ECHO) "\e[30;47;1m $(NAME): fclean... \e[0m"
|
||||||
|
-rm -f $(NAME)
|
||||||
|
|
||||||
|
re : fclean all
|
||||||
|
|
||||||
|
$(NAME) : $(O_FILES)
|
||||||
|
@$(ECHO)
|
||||||
|
@$(ECHO) "\e[30;47;1m $(NAME): linking... \e[0m"
|
||||||
|
$(CPP) $(FLAGS_2) -o $(NAME) $(O_FILES)
|
||||||
|
@$(ECHO)
|
||||||
|
@$(ECHO) "\t\t \e[0;92m\(^o^)/ \e[0;102;30;1m $(NAME) made! \e[0;92m \(^o^)/\e[0m"
|
||||||
|
@$(ECHO)
|
||||||
|
|
||||||
|
%.o : %.cpp
|
||||||
|
@$(ECHO)
|
||||||
|
@$(ECHO) "\e[30;47;1m $(NAME): making '$@'... \e[0m"
|
||||||
|
$(CPP) $(FLAGS_1) -c $< -o $@
|
||||||
|
|
||||||
|
check_headers :
|
||||||
|
@ERROR=0; \
|
||||||
|
echo $(wildcard **/*.h); \
|
||||||
|
for HEADER in $(wildcard **/*.h); \
|
||||||
|
do \
|
||||||
|
echo "check header $$HEADER..."; \
|
||||||
|
> __tmp_check_header.c echo "#include \"$$HEADER\""; \
|
||||||
|
>> __tmp_check_header.c echo "#include \"$$HEADER\""; \
|
||||||
|
>> __tmp_check_header.c echo "int main(void) {}"; \
|
||||||
|
$(CPP) -o __tmp_check_header.out __tmp_check_header.c; \
|
||||||
|
if [ $$? -ne 0 ]; \
|
||||||
|
then \
|
||||||
|
ERROR=1; \
|
||||||
|
echo error \
|
||||||
|
break; \
|
||||||
|
fi; \
|
||||||
|
echo "good :)"; \
|
||||||
|
2> /dev/null rm -- "__tmp_check_header.out" "__tmp_check_header.c"; \
|
||||||
|
done; \
|
||||||
|
2> /dev/null rm __tmp_check_header.out __tmp_check_header.c; \
|
||||||
|
if [ $$ERROR -eq 0 ]; then true; else false; fi;
|
||||||
|
|
||||||
|
.PHONY : all clean fclean re check_headers
|
Loading…
Add table
Reference in a new issue