aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--Makefile44
1 files changed, 31 insertions, 13 deletions
diff --git a/Makefile b/Makefile
index c0773e3..8540a0e 100644
--- a/Makefile
+++ b/Makefile
@@ -15,7 +15,8 @@ MLX_DIR = minilibx/
#==================================================================================================#
#---------------------------------------------- Files ---------------------------------------------#
#==================================================================================================#
-INCS = cub3d.h
+INCS = cub3d.h
+INCS += cub3d_defines.h
INCS += cub3d_structs.h
#--------------------------------------------------------------------------------------------------#
SRCS_NAME = main.c
@@ -58,11 +59,15 @@ SRCS_NAME += ft_draw_textures.c
SRCS_NAME += ft_key_release.c
SRCS_NAME += ft_convert_keycode.c
SRCS_NAME += ft_key_loop.c
+SRCS_NAME += ft_draw_hud.c
+SRCS_NAME += ft_music.c
SRCS_NAME += ft_draw_sprite.c
#--------------------------------------------------------------------------------------------------#
SRCS = $(addprefix ${SRCS_DIR},${SRCS_NAME})
#--------------------------------------------------------------------------------------------------#
OBJS = $(patsubst ${SRCS_DIR}%.c,${OBJS_DIR}%.o,${SRCS})
+#--------------------------------------------------------------------------------------------------#
+LFT_SRCS = $(shell find libft/src -name "*.c")
#==================================================================================================#
#--------------------------------------------- UNIX -----------------------------------------------#
#==================================================================================================#
@@ -73,6 +78,7 @@ 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-)
else
+ USER = $(shell w | grep tty7 | awk '{print $$1}')
SCR_SZE = $(shell xdpyinfo | grep dimensions | awk '{print $$2}')
endif
#==================================================================================================#
@@ -94,7 +100,20 @@ ifdef ASAN
CFLAGS += ${FSANITIZE}
endif
#--------------------------------------------------------------------------------------------------#
+ifdef OPTI
+ ifeq (${USER}, salad)
+ CFLAGS += -march=broadwell
+ else ifeq (${USER}, jozan)
+ CFLAGS += -march=ivybridge
+ else
+ CFLAGS += -march=native
+ endif
+ CFLAGS += -O2
+ CFLAGS += -pipe
+endif
+#--------------------------------------------------------------------------------------------------#
CDEFS = -DFT_SCR_SIZE=\"${SCR_SZE}\"
+CDEFS += -DFT_OS=\"${OS}\"
ifneq (${OS}, Darwin)
CDEFS += -DFT_W_KEY=119
CDEFS += -DFT_A_KEY=97
@@ -123,27 +142,26 @@ else
${CC} -c ${CFLAGS} ${CDEFS} -I${LFT_DIR}${INCS_DIR} -I${INCS_DIR} -o $@ $<
endif
#--------------------------------------------------------------------------------------------------#
-${NAME}: ${OBJS}
+${NAME}: ${OBJS} ${LFT_SRCS} ${LFT_DIR}${INCS_DIR}libft.h
ifeq (${OS}, Darwin)
- ${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 -lbsd
+ @$(MAKE) --no-print-directory -C ${MLX_DIR} all
endif
-#--------------------------------------------------------------------------------------------------#
-lft:
ifdef ASAN
@$(MAKE) --no-print-directory -C ${LFT_DIR} all ASAN=1
+endif
+ifdef POWER
+ @$(MAKE) --no-print-directory -C ${LFT_DIR} all OPTI=1
else
@$(MAKE) --no-print-directory -C ${LFT_DIR} all
endif
-#--------------------------------------------------------------------------------------------------#
-mlx:
ifeq (${OS}, Darwin)
- @$(MAKE) --no-print-directory -C ${MLX_DIR} all
+ ${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 -lbsd
endif
#--------------------------------------------------------------------------------------------------#
-all: mlx lft ${NAME}
+all: ${NAME}
#--------------------------------------------------------------------------------------------------#
clean:
ifeq (${OS}, Darwin)
@@ -157,7 +175,7 @@ fclean: clean
${RM} ${NAME}
${RM} ${NAME}.dSYM
#--------------------------------------------------------------------------------------------------#
-re: fclean all
+re: fclean all
#--------------------------------------------------------------------------------------------------#
run: all
@./${NAME} "map/map_one.cub"