diff --git a/src/build/Common.gmake b/src/build/Common.gmake
index 2242fa61191620f7ecd815bb8352686e7dd90998..86d5ec0ebcb2b8cda706339723f305aa9f3cefc0 100644
--- a/src/build/Common.gmake
+++ b/src/build/Common.gmake
@@ -52,6 +52,7 @@
 #					  different options of the same source file				#
 #																			#
 # Common Build Macros Defined:												#
+#  DELETE			- Delete files (Preferrably verbose)					#
 #  OBJODIR			- Object output dir										#
 #  LIBODIR			- Library output dir									#
 #  EXEODIR			- Executable output dir									#
diff --git a/src/build/rules.mk b/src/build/rules.mk
new file mode 100644
index 0000000000000000000000000000000000000000..d23346c1445febd461d38576075db3f3b659e423
--- /dev/null
+++ b/src/build/rules.mk
@@ -0,0 +1,16 @@
+$(OBJODIR):
+	$(QUIET)$(IFNOTEXIST) mkdir $(OBJODIR)
+
+$(LIBODIR):
+	$(QUIET)$(IFNOTEXIST) mkdir $(LIBODIR)
+
+$(EXEODIR):
+	$(QUIET)$(IFNOTEXIST) mkdir $(EXEODIR)
+
+clean:
+	@echo Deleting $(OBJODIR)$(SLASH)
+	$(QUIET)$(DELETE) $(OBJODIR)$(SLASH)*
+	@echo Deleting $(LIBODIR)$(SLASH)
+	$(QUIET)$(DELETE) $(LIBODIR)$(SLASH)*
+	@echo Deleting $(EXEODIR)$(SLASH)
+	$(QUIET)$(DELETE) $(EXEODIR)$(SLASH)*