diff --git a/exemples/make/.gitignore b/exemples/make/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..f0c9b8122456fb3f2152d72e36d0628bba71fa97
--- /dev/null
+++ b/exemples/make/.gitignore
@@ -0,0 +1,2 @@
+*.o
+main
diff --git a/exemples/make/Makefile b/exemples/make/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..4389dc86e3e4757e8ddc10b3739d182f83e88cd5
--- /dev/null
+++ b/exemples/make/Makefile
@@ -0,0 +1,31 @@
+CC = gcc
+CFLAGS = -g -Wall -O0 -std=c11
+LDFLAGS = -lm
+
+# SOURCES = main.c foo.c bar.c
+# means *.c
+SOURCES = $(wildcard *.c)
+# OBJECTS contient SOURCES avec .c -> .o
+OBJECTS = $(SOURCES:.c=.o)
+
+# OBJECTS := $(patsubst %.c,%.o,$(wildcard *.c))
+
+# galaxy sera l'exécutable (galaxy.c contient le main)
+TARGET = main
+$(TARGET) : $(OBJECTS)
+	$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
+
+# main: main.o foo.o bar.o
+# 	cc -o $@ $^ $(CFLAGS) $(LDFLAGS)
+# 
+# foo.o: foo.h
+# bar.o: bar.h
+# main.o: foo.h
+
+.PHONY: clean
+
+clean:
+	rm -f $(TARGET) $(OBJECTS)
+
+# clean:
+# 	rm -f *.o main
\ No newline at end of file
diff --git a/exemples/make/bar.c b/exemples/make/bar.c
new file mode 100644
index 0000000000000000000000000000000000000000..bc147f6dde2f71781e973fbd40e5ab8426c2b300
--- /dev/null
+++ b/exemples/make/bar.c
@@ -0,0 +1,6 @@
+#include "bar.h"
+#include "foo.h"
+
+void bar() {
+    foo();
+}
\ No newline at end of file
diff --git a/exemples/make/bar.h b/exemples/make/bar.h
new file mode 100644
index 0000000000000000000000000000000000000000..eb8355cab28abac22a0d8502a1915735c86616ba
--- /dev/null
+++ b/exemples/make/bar.h
@@ -0,0 +1,6 @@
+#ifndef _BAR_H_
+#define _BAR_H_
+
+void bar();
+
+#endif
diff --git a/exemples/make/foo.c b/exemples/make/foo.c
new file mode 100644
index 0000000000000000000000000000000000000000..acfc6b0e1611be532090699a905bdb26d1c0c112
--- /dev/null
+++ b/exemples/make/foo.c
@@ -0,0 +1,5 @@
+#include "foo.h"
+
+void foo() {
+
+}
\ No newline at end of file
diff --git a/exemples/make/foo.h b/exemples/make/foo.h
new file mode 100644
index 0000000000000000000000000000000000000000..9da89d64072ef10757d42377c74786bf1bea4751
--- /dev/null
+++ b/exemples/make/foo.h
@@ -0,0 +1,6 @@
+#ifndef _FOO_H_
+#define _FOO_H_
+
+void foo();
+
+#endif
diff --git a/exemples/make/main.c b/exemples/make/main.c
new file mode 100644
index 0000000000000000000000000000000000000000..c0c1b2feb0359a401704ac23344b026c9e2930fe
--- /dev/null
+++ b/exemples/make/main.c
@@ -0,0 +1,6 @@
+#include "foo.h"
+
+int main() {
+    foo();
+    return 0;
+}
\ No newline at end of file