CC := gcc LD := $(CC) LDFLAGS := CFLAGS := $(shell cat compile_flags.txt | sed -z "s/\n/ /g") SRC := $(wildcard src/*.c) OBJ_DIR := build OBJ := $(addprefix $(OBJ_DIR)/, $(patsubst %.c,%.o,$(SRC))) DIR := . RAW_NAME:= ft_ls NAME := $(RAW_NAME) all: $(NAME) $(NAME): $(OBJ) $(LD) $(LDFLAGS) -o $(DIR)/$(NAME) $(OBJ) $(LIBS) $(OBJ_DIR)/%.o: %.c @mkdir -p $(@D) $(CC) $(CFLAGS) -c -o $@ $< clean: @rm -f $(NAME) $(NAME).exe @rm -rf $(OBJ_DIR) re: @make --no-print clean @make --no-print all .PHONY: all clean re