diff --git a/Makefile b/Makefile
index 6970c3011d7bdac70fc347029dcbea2104a817c1..15a846705a8ac7031951af5bfd2f253b0fa74642 100644
--- a/Makefile
+++ b/Makefile
@@ -10,3 +10,8 @@ main: ${SRC}
 
 exec: main
 	./main
+
+.PHONY: clean
+
+clean:
+	rm -rf *.o main a.out
diff --git a/ex1/Makefile b/ex1/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..15a846705a8ac7031951af5bfd2f253b0fa74642
--- /dev/null
+++ b/ex1/Makefile
@@ -0,0 +1,17 @@
+CC := gcc
+CFLAGS := -std=c11 -Wall -Wextra -fsanitize=address -fsanitize=leak -g
+SRC = $(wildcard *.c)
+
+
+all: exec
+
+main: ${SRC}
+	${CC} ${CFLAGS} ${SRC} -o $@
+
+exec: main
+	./main
+
+.PHONY: clean
+
+clean:
+	rm -rf *.o main a.out
diff --git a/ex2/Makefile b/ex2/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..15a846705a8ac7031951af5bfd2f253b0fa74642
--- /dev/null
+++ b/ex2/Makefile
@@ -0,0 +1,17 @@
+CC := gcc
+CFLAGS := -std=c11 -Wall -Wextra -fsanitize=address -fsanitize=leak -g
+SRC = $(wildcard *.c)
+
+
+all: exec
+
+main: ${SRC}
+	${CC} ${CFLAGS} ${SRC} -o $@
+
+exec: main
+	./main
+
+.PHONY: clean
+
+clean:
+	rm -rf *.o main a.out
diff --git a/ex3/Makefile b/ex3/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..15a846705a8ac7031951af5bfd2f253b0fa74642
--- /dev/null
+++ b/ex3/Makefile
@@ -0,0 +1,17 @@
+CC := gcc
+CFLAGS := -std=c11 -Wall -Wextra -fsanitize=address -fsanitize=leak -g
+SRC = $(wildcard *.c)
+
+
+all: exec
+
+main: ${SRC}
+	${CC} ${CFLAGS} ${SRC} -o $@
+
+exec: main
+	./main
+
+.PHONY: clean
+
+clean:
+	rm -rf *.o main a.out
diff --git a/ex4/Makefile b/ex4/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..15a846705a8ac7031951af5bfd2f253b0fa74642
--- /dev/null
+++ b/ex4/Makefile
@@ -0,0 +1,17 @@
+CC := gcc
+CFLAGS := -std=c11 -Wall -Wextra -fsanitize=address -fsanitize=leak -g
+SRC = $(wildcard *.c)
+
+
+all: exec
+
+main: ${SRC}
+	${CC} ${CFLAGS} ${SRC} -o $@
+
+exec: main
+	./main
+
+.PHONY: clean
+
+clean:
+	rm -rf *.o main a.out
diff --git a/ex5/Makefile b/ex5/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..15a846705a8ac7031951af5bfd2f253b0fa74642
--- /dev/null
+++ b/ex5/Makefile
@@ -0,0 +1,17 @@
+CC := gcc
+CFLAGS := -std=c11 -Wall -Wextra -fsanitize=address -fsanitize=leak -g
+SRC = $(wildcard *.c)
+
+
+all: exec
+
+main: ${SRC}
+	${CC} ${CFLAGS} ${SRC} -o $@
+
+exec: main
+	./main
+
+.PHONY: clean
+
+clean:
+	rm -rf *.o main a.out