diff options
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 34 |
1 files changed, 24 insertions, 10 deletions
@@ -6,21 +6,24 @@ # By: cacharle <marvin@42.fr> +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2019/10/08 15:45:53 by cacharle #+# #+# # -# Updated: 2020/01/17 10:51:24 by cacharle ### ########.fr # +# Updated: 2020/01/31 08:26:39 by cacharle ### ########.fr # # # # **************************************************************************** # LIB = ar rcs RM = rm -f +NORM = norminette +MAKE = make MAKE_ARGS = --no-print-directory -CC = gcc -CCFLAGS = -I$(INCLUDE_DIR) -Wall -Wextra -Werror - SRC_DIR = src INCLUDE_DIR = include OBJ_DIR = obj SCRIPT_DIR = script +TEST_DIR = test + +CC = gcc +CCFLAGS = -I$(INCLUDE_DIR) -Wall -Wextra -Werror IGNORE_FILE = .libftignore IGNORE_DEFAULT = ft_printf @@ -30,19 +33,30 @@ NAME = libft.a SRC = $(shell sh $(SCRIPT_DIR)/find_src.sh $(IGNORE_FILE)) OBJ = $(SRC:$(SRC_DIR)/%.c=$(OBJ_DIR)/%.o) -HEADER = $(shell find $(INCLUDE_DIR) -name "*.h") +INCLUDE = $(shell find $(INCLUDE_DIR) -name "*.h") all: prebuild $(NAME) +.PHONY: test +test: all + @echo "Testing" + @$(MAKE) $(MAKE_ARGS) -C $(TEST_DIR) run + +norm: + @if [ `command -v $(NORM)` ]; \ + then echo "Running norminette"; \ + $(NORM) $(SRC) $(INCLUDE); \ + else echo "$(NORM) not installed"; fi + prebuild: - @for dir in $$(find $(SRC_DIR)/* $(FIND_ARGS) -type d | \ - sed 's_$(SRC_DIR)/_$(OBJ_DIR)/_g'); \ - do \ - if [ ! -d "$$dir" ]; then \ + @for dir in $$(find $(SRC_DIR)/* $(FIND_ARGS) -type d | \ + sed 's_$(SRC_DIR)/_$(OBJ_DIR)/_g'); \ + do \ + if [ ! -d "$$dir" ]; then \ mkdir -p $$dir; echo "Making build dir: $$dir"; fi \ done -$(NAME): $(OBJ) $(HEADER) +$(NAME): $(OBJ) $(INCLUDE) @echo "Linking: $@" @$(LIB) $@ $(OBJ) |
