SterlingEditor/Makefile
2026-03-19 21:40:57 +01:00

48 lines
762 B
Makefile
Executable File

NAME := sl_editor
CC := gcc
#-static -fsanitize=thread
CFLAGS := -g -ggdb -fsanitize=address -fsanitize=undefined -Og -Wall -Wextra -Werror -std=c99 -pedantic
LDFLAGS :=
LDLIBS := -lasan -lubsan -lpthread -lreadline -lncurses
SRC_DIR := source
OBJ_DIR := obj
BUILD_DIR := build
SRC := $(wildcard $(SRC_DIR)/*.c)
OBJ := $(SRC:$(SRC_DIR)/%.c=$(OBJ_DIR)/%.o)
all: $(NAME)
$(NAME): $(OBJ) | $(BUILD_DIR)
$(CC) $(OBJ) $(LDFLAGS) $(LDLIBS) -o $(BUILD_DIR)/$(NAME)
$(OBJ_DIR)/%.o : $(SRC_DIR)/%.c $(wildcard $(SRC_DIR)/*.h)
$(CC) $(CFLAGS) -c $< -o $@
$(OBJ_DIR):
mkdir $(OBJ_DIR)
$(BUILD_DIR):
mkdir $(BUILD_DIR)
$(OBJ): | $(OBJ_DIR)
clean:
rm -f myshell
fclean: clean
rm -rf $(OBJ_DIR)
re: fclean all
.PHONY: all clean fclean re $(NAME)