diff --git a/ghc/compiler/Makefile b/ghc/compiler/Makefile
index 3fae31f96086487fb2bd48c0951e97dde0f7d7bc..97cd2c62a1676bbb894c5a335fe6bd675a8b6793 100644
--- a/ghc/compiler/Makefile
+++ b/ghc/compiler/Makefile
@@ -755,6 +755,9 @@ VERSION = $(ProjectVersion)
 PKG_DEPENDS += base haskell98
 PACKAGE_CPP_OPTS += -DPKG_DEPENDS='$(PKG_DEPENDS)'
 
+# Omit Main from the library, the client will want to plug their own Main in
+LIBOBJS = $(filter-out $(odir)/main/Main.o, $(OBJS))
+
 # disable splitting: it won't really help with GHC, and the specialised
 # build system for ghc/compiler isn't set up to handle it.
 SplitObjs = NO