diff --git a/.gitattributes b/.gitattributes
index 4046fc922d79c813e35b094074847e6190087e69..2aa9af1ddf4fd16710d474787fb1f1d3c8d7696f 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,3 +1,3 @@
 c/** gitlab-language=c linguist-language=c linguist-detectable=true
 h/** gitlab-language=c linguist-language=c linguist-detectable=true
-CMHG/** gitlab-language=cmhg linguist-language=cmhg linguist-detectable=true
+cmhg/** gitlab-language=cmhg linguist-language=cmhg linguist-detectable=true
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..219ae8ba791ecf150dc928a5c2ae4642aadddd0a
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,9 @@
+/aif/
+/aof/
+/gpa/
+/i/
+/linked/
+/o/
+/objs/
+/od/
+/rm/
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..6303b95a26d9eeb5cad53dd804b1269363edd4ce
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,3 @@
+include:
+  - project: 'Support/CI'
+    file: '/BootCmds.yml'
diff --git a/Makefile b/Makefile
index deaa8e735f9fcf2a7139ed9cea8a98e69d633be4..6adbb5cb0b8ba353594ea5b5888aa69ab29262a4 100644
--- a/Makefile
+++ b/Makefile
@@ -17,15 +17,15 @@
 
 COMPONENT    = BootCmds
 CMHGFILE     = header
-CINCLUDES   += -IOS:,<Lib$Dir>.ConfigLib.
+CINCLUDES    = ${OSINC} ${CONINC}
 CDEFINES    += -DTRACE=0
 OBJS         = main
 LIBS        += ${OSLIB} ${CONLIB}
 HDRS         =
 RES_AREA     = files_messages
 RAMCDEFINES += -DSTANDALONE=1
-INSTRES_FILES   = aif.Repeat
-INSTRES_DEPENDS = aif.Repeat
+INSTRES_FILES   = Repeat
+INSTRES_DEPENDS = Repeat${SUFFIX_ABSOLUTE}
 
 ifeq ("${CMDHELP}","None")
 CMHGDEFINES += -DNO_INTERNATIONAL_HELP
@@ -36,7 +36,10 @@ include CModule
 #
 # Static dependencies
 #
-aif.Repeat: ${DIRS} repeatcmd.c
+Repeat${SUFFIX_ABSOLUTE}: repeatcmd.c
 	${CC} ${CINCLUDES} -o $@ repeatcmd.c ${CLIB} ${OSLIB}
 
+clean::
+	${RM} Repeat${SUFFIX_ABSOLUTE}
+
 # Dynamic dependencies:
diff --git a/RM/.gitignore b/RM/.gitignore
deleted file mode 100644
index d6b7ef32c8478a48c3994dcadc86837f4371184d..0000000000000000000000000000000000000000
--- a/RM/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*
-!.gitignore
diff --git a/aof/.gitignore b/aof/.gitignore
deleted file mode 100644
index d6b7ef32c8478a48c3994dcadc86837f4371184d..0000000000000000000000000000000000000000
--- a/aof/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*
-!.gitignore
diff --git a/CMHG/header b/cmhg/header
similarity index 100%
rename from CMHG/header
rename to cmhg/header
diff --git a/debug/.gitignore b/debug/.gitignore
deleted file mode 100644
index d6b7ef32c8478a48c3994dcadc86837f4371184d..0000000000000000000000000000000000000000
--- a/debug/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*
-!.gitignore
diff --git a/l/.gitignore b/l/.gitignore
deleted file mode 100644
index d6b7ef32c8478a48c3994dcadc86837f4371184d..0000000000000000000000000000000000000000
--- a/l/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*
-!.gitignore
diff --git a/linked/.gitignore b/linked/.gitignore
deleted file mode 100644
index d6b7ef32c8478a48c3994dcadc86837f4371184d..0000000000000000000000000000000000000000
--- a/linked/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*
-!.gitignore
diff --git a/map/.gitignore b/map/.gitignore
deleted file mode 100644
index d6b7ef32c8478a48c3994dcadc86837f4371184d..0000000000000000000000000000000000000000
--- a/map/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*
-!.gitignore
diff --git a/o/.gitignore b/o/.gitignore
deleted file mode 100644
index d6b7ef32c8478a48c3994dcadc86837f4371184d..0000000000000000000000000000000000000000
--- a/o/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*
-!.gitignore
diff --git a/od/.gitignore b/od/.gitignore
deleted file mode 100644
index d6b7ef32c8478a48c3994dcadc86837f4371184d..0000000000000000000000000000000000000000
--- a/od/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*
-!.gitignore
diff --git a/oz/.gitignore b/oz/.gitignore
deleted file mode 100644
index d6b7ef32c8478a48c3994dcadc86837f4371184d..0000000000000000000000000000000000000000
--- a/oz/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*
-!.gitignore