aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorJozanLeClerc <bousset.rudy@gmail.com>2020-02-13 23:49:12 +0100
committerJozanLeClerc <bousset.rudy@gmail.com>2020-02-13 23:49:12 +0100
commita55b485eaca84870e7bab4730cfcbab1e7971cf0 (patch)
treec8ca277060effdeaae6b83925dd7c910ead8c929 /Makefile
parentSecured segv the better way (diff)
download42-cub3d-a55b485eaca84870e7bab4730cfcbab1e7971cf0.tar.gz
42-cub3d-a55b485eaca84870e7bab4730cfcbab1e7971cf0.tar.bz2
42-cub3d-a55b485eaca84870e7bab4730cfcbab1e7971cf0.tar.xz
42-cub3d-a55b485eaca84870e7bab4730cfcbab1e7971cf0.tar.zst
42-cub3d-a55b485eaca84870e7bab4730cfcbab1e7971cf0.zip
Less retarded Makefile
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile81
1 files changed, 41 insertions, 40 deletions
diff --git a/Makefile b/Makefile
index 4870dfd..2df3c1b 100644
--- a/Makefile
+++ b/Makefile
@@ -1,22 +1,22 @@
default: all
-#==============================================================================#
-#--------------------------------- Shell --------------------------------------#
-#==============================================================================#
+#==================================================================================================#
+#-------------------------------------------- Shell -----------------------------------------------#
+#==================================================================================================#
SHELL := /bin/sh
-#==============================================================================#
-#------------------------------ Directories -----------------------------------#
-#==============================================================================#
+#==================================================================================================#
+#-------------------------------------------- Directories -----------------------------------------#
+#==================================================================================================#
INCS_DIR = inc/
SRCS_DIR = src/
OBJS_DIR = obj/
LFT_DIR = libft/
MLX_DIR = minilibx/
-#==============================================================================#
-#--------------------------------- Files --------------------------------------#
-#==============================================================================#
+#==================================================================================================#
+#---------------------------------------------- Files ---------------------------------------------#
+#==================================================================================================#
INCS = cub3d.h
INCS += cub3d_structs.h
-#------------------------------------------------------------------------------#
+#--------------------------------------------------------------------------------------------------#
SRCS_NAME = main.c
SRCS_NAME += ft_init_lists.c
SRCS_NAME += ft_hooks_and_loops.c
@@ -49,36 +49,39 @@ SRCS_NAME += ft_raycasting.c
SRCS_NAME += ft_init_s_ray.c
SRCS_NAME += ft_init_map.c
SRCS_NAME += ft_detect.c
-#------------------------------------------------------------------------------#
+#--------------------------------------------------------------------------------------------------#
SRCS = $(addprefix ${SRCS_DIR},${SRCS_NAME})
-#------------------------------------------------------------------------------#
+#--------------------------------------------------------------------------------------------------#
OBJS = $(patsubst ${SRCS_DIR}%.c,${OBJS_DIR}%.o,${SRCS})
-#==============================================================================#
-#--------------------------------- UNIX ---------------------------------------#
-#==============================================================================#
+#==================================================================================================#
+#--------------------------------------------- UNIX -----------------------------------------------#
+#==================================================================================================#
MKDIR = mkdir -p
RM = rm -rf
OS = $(shell uname)
ifeq (${OS}, Darwin)
- SCR_SZE = $(shell osascript -e 'tell application "Finder" to get bounds of\
- window of desktop' | tr ',' 'x' | tr -d '\n' | tr -d ' ' | cut -c 5-)
+ SCR_SZE = $(shell osascript -e 'tell application "Finder" to get bounds of window of desktop' \
+| tr ',' 'x' | tr -d '\n' | tr -d ' ' | cut -c 5-)
else
SCR_SZE = $(shell xdpyinfo | grep dimensions | awk '{print $$2}')
endif
-#==============================================================================#
-#-------------------------------- Compiler ------------------------------------#
-#==============================================================================#
+#==================================================================================================#
+#------------------------------------------ Compiler ----------------------------------------------#
+#==================================================================================================#
CC = clang
-CFLAGS = -std=c89
+#--------------------------------------------------------------------------------------------------#
+CFLAGS = -std=c89
CFLAGS += -Wall
CFLAGS += -Wextra
CFLAGS += -Werror
CFLAGS += -pedantic
+#--------------------------------------------------------------------------------------------------#
ifdef ASAN
CFLAGS += ${DEBUG}
CFLAGS += ${FSANITIZE}
endif
-CDEFS = -DFT_SCR_SIZE=\"${SCR_SZE}\"
+#--------------------------------------------------------------------------------------------------#
+CDEFS = -DFT_SCR_SIZE=\"${SCR_SZE}\"
ifneq (${OS}, Darwin)
CDEFS += -DFT_W_KEY=119
CDEFS += -DFT_A_KEY=97
@@ -87,36 +90,34 @@ ifneq (${OS}, Darwin)
CDEFS += -DFT_F1_KEY=65470
CDEFS += -DFT_ESC_KEY=65307
endif
-#------------------------------------------------------------------------------#
+#--------------------------------------------------------------------------------------------------#
DEBUG = -glldb
FSANITIZE = -fsanitize=address
-#------------------------------------------------------------------------------#
+#--------------------------------------------------------------------------------------------------#
ifeq (${OS}, Darwin)
NAME = cub3d
else
NAME = a.out
endif
-#==============================================================================#
-#--------------------------------- Rules --------------------------------------#
-#==============================================================================#
+#==================================================================================================#
+#------------------------------------------ Rules -------------------------------------------------#
+#==================================================================================================#
${OBJS_DIR}%.o: ${SRCS_DIR}%.c ${INCS_DIR}
@${MKDIR} ${OBJS_DIR}
ifeq (${OS}, Darwin)
${CC} -c ${CFLAGS} ${CDEFS} -I${LFT_DIR}${INCS_DIR} -I${MLX_DIR} -I${INCS_DIR} -o $@ $<
else
- ${CC} -c ${CFLAGS} ${CDEFS} -I${LFT_DIR}${INCS_DIR} -I${INCS_DIR} \
- \
--o $@ $<
+ ${CC} -c ${CFLAGS} ${CDEFS} -I${LFT_DIR}${INCS_DIR} -I${INCS_DIR} -o $@ $<
endif
-#------------------------------------------------------------------------------#
+#--------------------------------------------------------------------------------------------------#
${NAME}: ${OBJS}
ifeq (${OS}, Darwin)
- ${CC} ${CFLAGS} -o $@ ${OBJS} -L${LFT_DIR} -L${MLX_DIR} -lft -lmlx -lm \
--framework OpenGL -framework AppKit
+ ${CC} ${CFLAGS} -o $@ ${OBJS} -L${LFT_DIR} -L${MLX_DIR} -lft -lmlx -lm -framework OpenGL \
+-framework AppKit
else
${CC} ${CFLAGS} -o $@ ${OBJS} -L${LFT_DIR} -lft -lX11 -lXext -lmlx -lm
endif
-#------------------------------------------------------------------------------#
+#--------------------------------------------------------------------------------------------------#
all:
ifeq (${OS}, Darwin)
@$(MAKE) --no-print-directory -C ${MLX_DIR} all
@@ -127,23 +128,23 @@ else
@$(MAKE) --no-print-directory -C ${LFT_DIR} all
endif
@$(MAKE) ${NAME}
-#------------------------------------------------------------------------------#
+#--------------------------------------------------------------------------------------------------#
clean:
ifeq (${OS}, Darwin)
@$(MAKE) --no-print-directory -C ${MLX_DIR} clean
endif
@$(MAKE) --no-print-directory -C ${LFT_DIR} clean
${RM} ${OBJS_DIR}
-#------------------------------------------------------------------------------#
+#--------------------------------------------------------------------------------------------------#
fclean: clean
@$(MAKE) --no-print-directory -C ${LFT_DIR} fclean
${RM} ${NAME}
${RM} ${NAME}.dSYM
-#------------------------------------------------------------------------------#
+#--------------------------------------------------------------------------------------------------#
re: fclean all
-#------------------------------------------------------------------------------#
+#--------------------------------------------------------------------------------------------------#
run: all
@./${NAME} "map/map_one.cub"
-#------------------------------------------------------------------------------#
+#--------------------------------------------------------------------------------------------------#
.PHONY: all clean clean fclean re run default
-#==================================== EOF =====================================#
+#============================================== EOF ===============================================#