SRC_CPP_OPTS += ${GhcCppOpts}
ifeq "$(BootingFromHc)" "YES"
-GHC/PrimopWrappers.hs:
+GHC/PrimopWrappers.hs: GHC/Prim.hs
touch GHC/PrimopWrappers.hs
else
-GHC/PrimopWrappers.hs: $(GHC_COMPILER_DIR)/prelude/primops.txt
+GHC/PrimopWrappers.hs: $(GHC_COMPILER_DIR)/prelude/primops.txt GHC/Prim.hs
@$(RM) $@
$(GHC_GENPRIMOP) --make-haskell-wrappers < $< > $@
endif
+GHC/Prim.hs: $(GHC_COMPILER_DIR)/prelude/primops.txt
+ @$(RM) $@
+ $(GHC_GENPRIMOP) --make-haskell-source < $< > $@
+
+EXCLUDED_SRCS = GHC/Prim.hs
+EXTRA_HADDOCK_SRCS = GHC/Prim.hs
+
boot :: GHC/PrimopWrappers.hs
EXTRA_SRCS += GHC/PrimopWrappers.hs
ifeq "$(OBJECT_FILEFORMAT)" "PEi"
# Turn off standard rule which creates HSbase.o from LIBOBJS.
-DONT_WANT_STD_GHCI_LIB_RULE=YES
+#DONT_WANT_STD_GHCI_LIB_RULE=YES
GHCI_LIBOBJS = $(HS_OBJS)
-INSTALL_LIBS += HSbase1.o HSbase2.o HSbase3.o
+INSTALL_LIBS += HSbase.o
endif # OBJECT_FILEFORMAT = PEi
# -----------------------------------------------------------------------------
-DIST_CLEAN_FILES += base.buildinfo config.cache config.status
-LATE_DIST_CLEAN_FILES += config.mk
+DIST_CLEAN_FILES += base.buildinfo config.cache config.status config.mk
include $(TOP)/mk/target.mk
-
-ifeq "$(OBJECT_FILEFORMAT)" "PEi"
-HSbase.o : $(GHCI_LIBOBJS)
- $(LD) -r $(LD_X) -o HSbase1.o $(filter GHC/%, $(GHCI_LIBOBJS))
- $(LD) -r $(LD_X) -o HSbase2.o $(filter Text/%, $(GHCI_LIBOBJS))
- $(LD) -r $(LD_X) -o HSbase3.o $(filter-out GHC/% Text/%, $(GHCI_LIBOBJS) $(STUBOBJS))
- @touch HSbase.o
-endif # OBJECT_FILEFORMAT = PEi
-