From 04776b08250dc9ceb4540b987e66ce76123d11ea Mon Sep 17 00:00:00 2001
From: Tom Ryser <rysertom@gmail.com>
Date: Wed, 24 Nov 2021 09:52:01 +0100
Subject: [PATCH] #3 add makefile with structure.

---
 .gitignore      | 51 +++++++++++++++++++++++++++++++++++++++++++++++++
 README.md       | 13 ++++++++++++-
 Sources/main.c  |  7 +++++++
 Sources/stack.c |  6 ++++++
 include/stack.h |  7 +++++++
 makefile        | 30 +++++++++++++++++++++++++++++
 6 files changed, 113 insertions(+), 1 deletion(-)
 create mode 100644 .gitignore
 create mode 100644 Sources/main.c
 create mode 100644 Sources/stack.c
 create mode 100644 include/stack.h
 create mode 100644 makefile

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..bf9cabf
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,51 @@
+# Prerequisites
+*.d
+
+# Object files
+*.o
+*.ko
+*.obj
+*.elf
+
+# Linker output
+*.ilk
+*.map
+*.exp
+
+# Precompiled Headers
+*.gch
+*.pch
+
+# Libraries
+*.lib
+*.la
+*.lo
+
+# Shared objects (inc. Windows DLLs)
+*.dll
+*.so
+*.so.*
+*.dylib
+
+# Executables
+*.exe
+*.out
+*.app
+*.i*86
+*.x86_64
+*.hex
+
+# Debug files
+*.dSYM/
+*.su
+*.idb
+*.pdb
+
+# Kernel Module Compile Results
+*.mod*
+*.cmd
+.tmp_versions/
+modules.order
+Module.symvers
+Mkfile.old
+dkms.conf
diff --git a/README.md b/README.md
index 2296846..c0af782 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,13 @@
-# stack
+# Stack
 
+```
+📦project
+ ┣ 📂include
+ ┃ ┗ 📜.h
+ ┣ 📂Sources
+ ┃ ┣ 📜main.c
+ ┃ ┗ 📜.c
+ ┣ 📜.gitignore
+ ┣ 📜makefile
+ ┗ 📜README.md
+ ```
\ No newline at end of file
diff --git a/Sources/main.c b/Sources/main.c
new file mode 100644
index 0000000..7bc6096
--- /dev/null
+++ b/Sources/main.c
@@ -0,0 +1,7 @@
+#include <stdio.h>
+#include "../include/pile.h"
+
+int main(void) {
+	helloworld();
+	return 0;
+}
\ No newline at end of file
diff --git a/Sources/stack.c b/Sources/stack.c
new file mode 100644
index 0000000..6649abe
--- /dev/null
+++ b/Sources/stack.c
@@ -0,0 +1,6 @@
+#include "../include/pile.h"
+#include <stdio.h>
+
+void helloworld(){
+	printf("helloworld\n");
+}
\ No newline at end of file
diff --git a/include/stack.h b/include/stack.h
new file mode 100644
index 0000000..24b2c11
--- /dev/null
+++ b/include/stack.h
@@ -0,0 +1,7 @@
+#ifndef PILE_H
+#define PILE_H
+
+void helloworld();
+
+
+#endif
\ No newline at end of file
diff --git a/makefile b/makefile
new file mode 100644
index 0000000..f3c5682
--- /dev/null
+++ b/makefile
@@ -0,0 +1,30 @@
+SRC_DIR := Sources
+OBJ_DIR := obj
+BIN_DIR := bin
+
+EXE := $(BIN_DIR)/stack.exe #exe name
+SRC := $(wildcard $(SRC_DIR)/*.c)
+OBJ := $(SRC:$(SRC_DIR)/%.c=$(OBJ_DIR)/%.o)
+
+CPPFLAGS := -Iinclude -MMD -MP
+CFLAGS   := -Wall
+LDFLAGS  := -Llib
+LDLIBS   := -lm
+
+.PHONY: all clean
+
+all: $(EXE)
+
+$(EXE): $(OBJ) | $(BIN_DIR)
+	$(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@
+
+$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c | $(OBJ_DIR)
+	$(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@
+
+$(BIN_DIR) $(OBJ_DIR):
+	mkdir -p $@
+
+clean:
+	@$(RM) -rv $(BIN_DIR) $(OBJ_DIR)
+
+-include $(OBJ:.o=.d)
\ No newline at end of file
-- 
GitLab