29 lines
522 B
Makefile
29 lines
522 B
Makefile
NAME := seyshell
|
|
DRIVE := disk
|
|
CC := gcc
|
|
CFLAGS := -Wall -Wextra -Werror -g
|
|
OBJ_DIR := obj
|
|
SRC_DIR := src
|
|
|
|
SOURCES := $(shell find $(SRC_DIR) -name "*.c")
|
|
OBJECTS := $(SOURCES:$(SRC_DIR)/%.c=$(OBJ_DIR)/%.o)
|
|
|
|
all: $(NAME)
|
|
|
|
$(NAME): $(OBJECTS)
|
|
@$(CC) $(CFLAGS) $(OBJECTS) -o $(NAME)
|
|
|
|
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c
|
|
@mkdir -p $(dir $@)
|
|
@$(CC) $(CFLAGS) -c $< -o $@
|
|
|
|
clean:
|
|
@rm -rf $(OBJ_DIR)
|
|
|
|
fclean: clean
|
|
@rm -f $(NAME) $(DRIVE)
|
|
|
|
re: fclean all
|
|
|
|
.PHONY: all clean fclean re
|