diff --git a/groundStation/Makefile b/groundStation/Makefile
index 052f6bf8af89e079a93dd4c77711609316aead99..873685d62b5d7f3499fc6e3c0806f5475f67fd46 100644
--- a/groundStation/Makefile
+++ b/groundStation/Makefile
@@ -34,13 +34,16 @@ FECOBJECTS = $(FECSOURCES:$(FESRCDIR)/%.c=$(OBJDIR)/%.o)
 OBJECTS= $(CLIOBJECTS) $(BECOBJECTS) $(BECPPOBJECTS) $(FECOBJECTS)
 
 # Default target
-all: logs objdir backend cli $(SYMLINKS)
+all: logs objdir backend cli $(SYMLINKS) frontend.a
 
 $(SYMLINKS): $(CLIBINARY)
 	$(foreach symlink, $(SYMLINKS), ln -s $(CLIBINARY) $(symlink);)
 
 vrpn: vrpn/build
 
+frontend.a: $(FECOBJECTS)
+	ar rvs frontend.a $(wildcard $(OBJDIR)/frontend_*.o)
+
 cli:  $(CLIOBJECTS) $(FECOBJECTS)
 	$(GCC) $(CFLAGS) $^ -o $(CLIBINARY) $(INCLUDES) $(LIBS)
 
diff --git a/groundStation/src/frontend/frontend_common.h b/groundStation/src/frontend/frontend_common.h
index 60ee336269ee95388ed4f334ac1e3dfbe6e143bb..ee0e923bb8e55ab3b1fd48b4da63a7c985ac9845 100644
--- a/groundStation/src/frontend/frontend_common.h
+++ b/groundStation/src/frontend/frontend_common.h
@@ -2,6 +2,10 @@
 #define __FRONTEND_COMMON_H
 #include <stdlib.h>
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 struct backend_conn;
 
 /* Start connection to quad */
@@ -19,4 +23,8 @@ char * ucart_backendGetline(struct backend_conn * conn);
 /* Write a line to the backend */
 int ucart_backendWrite(struct backend_conn * backend, const char * line);
 
-#endif /* __FRONTEND_COMMON_H */
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __FRONTEND_COMMON_H */