Skip to content

Commit

Permalink
update Makefile
Browse files Browse the repository at this point in the history
  • Loading branch information
rask24 committed Jan 22, 2024
1 parent ee0ad37 commit 8aa1568
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 25 deletions.
66 changes: 42 additions & 24 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,12 +1,17 @@
NAME = push_swap
CFLAGS = -Werror -Wextra -Wall
CXXFLAGS = -std=c++17 -Wall -Wextra -Werror
PROD_FLAGS = -O3
DEV_FLAGS = -g -O0 -D DEV
INCLUDE = -I $(INC_DIR)

SRC_DIR = src
BUILD_DIR = build
INC_DIR = include
LIBFT_DIR = libft
TEST_DIR = test
GTEST_DIR = test/gtest

SRC_DIR = ./src
BUILD_DIR = ./build
INC_DIR = ./include
LIBFT_DIR = ./libft
SRC = $(SRC_DIR)/main.c \
$(SRC_DIR)/check_args.c \
$(SRC_DIR)/generate_stack.c \
Expand All @@ -22,22 +27,25 @@ SRC = $(SRC_DIR)/main.c \
$(SRC_DIR)/utils/exit_with_error.c
OBJ = $(patsubst $(SRC_DIR)/%.c, $(BUILD_DIR)/%.o, $(SRC))
DEP = $(patsubst $(SRC_DIR)/%.c, $(BUILD_DIR)/%.d, $(SRC))
DEPFLAGS = -MMD -MP
INCLUDE = -I $(INC_DIR)

CXXFLAGS = -std=c++20 -Wall -Wextra -Werror
TEST_DIR = ./test
OBJ_FILTER_MAIN = $(filter-out $(BUILD_DIR)/main.o, $(patsubst $(SRC_DIR)/%.c, $(BUILD_DIR)/%.o, $(SRC)))
TEST_NAME = tester
TEST_SRC = $(TEST_DIR)/test_check_args.cpp \
$(TEST_DIR)/test_push_stack.cpp \
$(TEST_DIR)/test_reverse_rotate_stack.cpp \
$(TEST_DIR)/test_rotate_stack.cpp \
$(TEST_DIR)/test_swap_stack.cpp \
$(TEST_DIR)/test_sort.cpp
TEST_OBJ = $(filter-out $(BUILD_DIR)/main.o, $(patsubst $(SRC_DIR)/%.c, $(BUILD_DIR)/%.o, $(SRC)))
$(TEST_DIR)/test_sort.cpp \
$(TEST_DIR)/test_ft_lst_before.cpp
TEST_OBJ = $(patsubst $(TEST_DIR)/%.cpp, $(BUILD_DIR)/$(TEST_DIR)/%.o, $(TEST_SRC))
DEPFLAGS = -MMD -MP
GTEST_SRC = $(GTEST_DIR)/gtest_main.cc $(GTEST_DIR)/gtest-all.cc
GTEST_OBJ = $(patsubst $(GTEST_DIR)/%.cc, $(BUILD_DIR)/$(GTEST_DIR)/%.o, $(GTEST_SRC))

GTEST_VERSION = 1.14.0
GTEST_DIR = ./test/gtest
GTEST_ARCHIVE = v$(GTEST_VERSION).tar.gz
GTEST_REPO_URL = https://github.com/google/googletest/archive/refs/tags/$(GTEST_ARCHIVE)
GTEST_SRC_DIR = googletest-$(GTEST_VERSION)
GTEST_FUSE_URL = https://raw.githubusercontent.com/google/googletest/ec44c6c1675c25b9827aacd08c02433cccde7780/googletest/scripts/$(GTEST_FUSE)
GTEST_FUSE = fuse_gtest_files.py

NORM = norminette
Expand All @@ -48,12 +56,13 @@ RED = \033[0;31m
RESET = \033[0m

all: CFLAGS += $(PROD_FLAGS)
all: title $(NAME)
all: title
all: $(NAME)

$(NAME): $(OBJ)
@printf "\n"
@make -C $(LIBFT_DIR)
@$(CC) $^ -L $(LIBFT_DIR) -lft -o $@
@$(CC) $(CFLAGS) $^ -L $(LIBFT_DIR) -lft -o $@

$(BUILD_DIR)/%.o: $(SRC_DIR)/%.c
@mkdir -p $(@D)
Expand All @@ -74,18 +83,27 @@ dev: CFLAGS += $(DEV_FLAGS)
dev: title
dev: $(NAME)

test: $(GTEST_DIR)
@echo "$(BLUE)test$(RESET)"
@$(CXX) $(CXXFLAGS) -I $(TEST_DIR) $(INCLUDE) -L $(LIBFT_DIR) -l ft -lpthread -o tester \
$(TEST_SRC) $(GTEST_DIR)/gtest_main.cc $(GTEST_DIR)/gtest-all.cc $(TEST_OBJ)
@./tester # --gtest_filter=Vector.other
@$(RM) tester
redev: fclean dev

test: all $(GTEST_DIR) $(TEST_OBJ) $(GTEST_OBJ)
@echo "test"
$(CXX) -L $(LIBFT_DIR) -lft -lpthread $(OBJ_FILTER_MAIN) $(TEST_OBJ) $(GTEST_OBJ) -o $(TEST_NAME)
./$(TEST_NAME)
@$(RM) $(TEST_NAME)

$(BUILD_DIR)/$(TEST_DIR)/%.o: $(TEST_DIR)/%.cpp
@mkdir -p $(@D)
$(CXX) $(CXXFLAGS) -I $(TEST_DIR) $(INCLUDE) -c $< -o $@

$(BUILD_DIR)/$(GTEST_DIR)/%.o: $(GTEST_DIR)/%.cc
@mkdir -p $(@D)
$(CXX) $(CXXFLAGS) -I $(TEST_DIR) $(INCLUDE) -c $< -o $@

$(GTEST_DIR):
@echo "$(BLUE)fetching google test$(RESET)"
@curl -#OL https://github.com/google/googletest/archive/refs/tags/$(GTEST_ARCHIVE)
@echo "$(BLUE)fetching fuse_gtest_files.py$(RESET)"
@curl -#OL https://raw.githubusercontent.com/google/googletest/ec44c6c1675c25b9827aacd08c02433cccde7780/googletest/scripts/$(GTEST_FUSE)
@echo "fetching google test"
@curl -#OL $(GTEST_REPO_URL)
@echo "fetching fuse_gtest_files.py"
@curl -#OL $(GTEST_FUSE_URL)
@tar -xzf $(GTEST_ARCHIVE) $(GTEST_SRC_DIR)
@python3 $(GTEST_FUSE) $(GTEST_SRC_DIR)/googletest $(GTEST_DIR)
@mv $(GTEST_SRC_DIR)/googletest/src/gtest_main.cc $(GTEST_DIR)
Expand Down
2 changes: 1 addition & 1 deletion src/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
/* By: reasuke <[email protected]> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/01/10 12:37:36 by reasuke #+# #+# */
/* Updated: 2024/01/16 13:13:30 by reasuke ### ########.fr */
/* Updated: 2024/01/22 13:52:02 by reasuke ### ########.fr */
/* */
/* ************************************************************************** */

Expand Down

0 comments on commit 8aa1568

Please sign in to comment.