diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 62075a45844a4fbd6e5f07004218b4e204261ea9..1ed9f560aed84bd12ba6b779463260dbc51b5265 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,14 +1,18 @@
 image: archlinux/base
 
+stages: build
+
 before_script:
     - pacman -Sy
     - pacman -S --noconfirm nasm gcc make
 
 build32:
+    stage: build
     script:
         - make BITS=32
 
 build64:
+    stage: build
     script:
         - make BITS=64
 
diff --git a/Makefile b/Makefile
index 6347967452ce73e5b78ab4ba72ef6966f9dca814..131681ece9daed38ffab54d40aa321bc6ca43c8e 100644
--- a/Makefile
+++ b/Makefile
@@ -24,4 +24,9 @@ assemble-uefi: build
 run-legacy: assemble-legacy
 	qemu-system-x86_64 legacy.img
 
+clean:
+	$(MAKE) -C bootloader-legacy clean
+	# $(MAKE) -C bootloader-uefi clean
+	$(MAKE) -C kernel clean
+