[project @ 2000-11-22 12:14:56 by simonmar]
authorsimonmar <unknown>
Wed, 22 Nov 2000 12:14:56 +0000 (12:14 +0000)
committersimonmar <unknown>
Wed, 22 Nov 2000 12:14:56 +0000 (12:14 +0000)
add stuff for building GHCi libraries automatically.

mk/target.mk

index 0a64f06..667cdc8 100644 (file)
@@ -309,7 +309,8 @@ _cbits := _cbits
 endif
 
 ifneq "$(HSLIB)" ""
-LIBRARY = libHS$(HSLIB)$(_cbits)$(_way).a
+LIBRARY      = libHS$(HSLIB)$(_cbits)$(_way).a
+GHCI_LIBRARY = HS$(HSLIB)$(_cbits)$(_way).o
 ifeq "$(LIBOBJS)" ""
   ifneq "$(IS_CBITS_LIB)" "YES"
   LIBOBJS = $(HS_OBJS)
@@ -400,6 +401,31 @@ $(LIBRARY) :: $(STUBOBJS) $(LIBOBJS)
        $(BUILD_LIB)
 endif
 
+#--------------------------------------------------------------
+#      Build dynamically-linkable libraries for GHCi
+#
+
+ifneq "$(GHCI_LIBRARY)" ""
+ifeq "$(GhcWithInterpreter)" "YES"
+
+all :: $(GHCI_LIBRARY)
+
+ifeq "$(GHCI_LIBOBJS)" ""
+GHCI_LIBOBJS = $(LIBOBJS)
+endif
+
+ifeq "$(SplitObjs)" "YES"
+$(GHCI_LIBRARY) :: $(GHCI_LIBOBJS)
+       ( echo $(STUBOBJS) ; $(FIND) $(patsubst %.$(way_)o,%,$(LIBOBJS)) -name '*.$(way_)o' -print ) | xargs ld -r -x -o $@
+else
+$(GHCI_LIBRARY) :: $(GHCI_LIBOBJS)
+       ld -r -x -o $@ $(GHCI_LIBOBJS)
+endif
+
+CLEAN_FILES += $(GHCI_LIBRARY)
+endif
+endif
+
 #----------------------------------------
 #      Building Win32 DLLs
 #