diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..eb5f17c --- /dev/null +++ b/Makefile @@ -0,0 +1,28 @@ +CC = gcc +CFLAGS = -Wall -Wextra -Werror + +NAME = zzsh +SRC_DIR = src +OBJ_DIR = obj +SOURCES = $(shell find $(SRC_DIR) -type f -name '*.c') +OBJECTS = $(patsubst $(SRC_DIR)/%.c,$(OBJ_DIR)/%.o,$(SOURCES)) +DEPS = $(OBJECTS:.o=.d) + +all: $(NAME) + +$(NAME): $(OBJECTS) + $(CC) $(NAME) $(OBJECTS) + +-include $(DEPS) + +$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c + @mkdir -p $(@D) + $(CC) $(CFLAGS) -c $< -o $@ + +clean: + rm -rf $(OBJ_DIR) + +fclean: clean + rm -f $(NAME) + +re: fclean $(NAME) diff --git a/cmd/cmd.h b/src/cmd/cmd.h similarity index 100% rename from cmd/cmd.h rename to src/cmd/cmd.h diff --git a/env/env.h b/src/env/env.h similarity index 100% rename from env/env.h rename to src/env/env.h diff --git a/src/env/envs.c b/src/env/envs.c new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/src/env/envs.c @@ -0,0 +1 @@ + diff --git a/exec/exec.c b/src/exec/exec.c similarity index 100% rename from exec/exec.c rename to src/exec/exec.c