[project @ 1997-05-18 19:56:00 by sof]
[ghc-hetmet.git] / ghc / runtime / Makefile.libHSrts
index 10c8bf5..b04541f 100644 (file)
@@ -1,5 +1,5 @@
 #-----------------------------------------------------------------------------
-# $Id: Makefile.libHSrts,v 1.2 1996/11/21 16:48:19 simonm Exp $
+# $Id: Makefile.libHSrts,v 1.4 1997/01/21 09:15:23 sof Exp $
 
 # The is the makefile for libHSrts, invoked once for each different build.
 
@@ -147,6 +147,10 @@ RTS_GHC = $(GHC) -c -o $@ $(GHCFLAGS) $($*_flags)
        @$(RM) $@
        $(RTS_GHC) $(GHC_OPTS_$(suffix)) $*.c
 
+%.o : %.hc
+       @$(RM) $@
+       $(RTS_GHC) $*.hc
+
 %.$(suffix)_o : %.hc
        @$(RM) $@
        $(RTS_GHC) $(GHC_OPTS_$(suffix)) $*.hc
@@ -175,14 +179,21 @@ endif
 
 #-----------------------------------------------------------------------------
 # creating and installing libHSrts.a (in its many flavors)
-
+#
+# Special pleading for way `norm', archive does not have _way appended, nor
+# do the object files.  -- SOF 1/97
+#
 ifeq ($(suffix), norm)
-RTS_LIB = libHSrts.a           # this one is special
+ARCHIVE = libHSrts.a           # this one is special
 else
-RTS_LIB = libHSrts_$(suffix).a
+ARCHIVE = libHSrts_$(suffix).a
 endif 
 
+ifeq ($(suffix), norm)
+RTS_OBJS = $(RTS_LC:.lc=.o)  $(RTS_LHC:.lhc=.o)
+else
 RTS_OBJS = $(RTS_LC:.lc=.$(suffix)_o)  $(RTS_LHC:.lhc=.$(suffix)_o)
+endif
 
 all :: $(RTS_LIB) 
 
@@ -190,14 +201,15 @@ install :: $(RTS_LIB)
        $(INSTALL) $(INSTLIBFLAGS) $(RTS_LIB) $(INSTLIBDIR_GHC)/$(RTS_LIB)
        $(RANLIB) $(INSTLIBDIR_GHC)/$(RTS_LIB)
 
-cleanobj ::
-       $(RM) $(RTS_OBJS)
-       $(RM) $(RTS_LIB)
+LIBOBJS = $(RTS_LC:.lc=.$(suffix)_o)  $(RTS_LHC:.lhc=.$(suffix)_o)
+DESTDIR = $(INSTLIBDIR_GHC)
 
-$(RTS_LIB) :: $(H_FILES) $(RTS_OBJS)
-       $(RM) $@
-       $(AR) $@ $(RTS_OBJS)
-       $(RANLIB) $@
+MKDEPENDC_OPTS= -I$(GHC_INCLUDES)
+C_DEP_SRCS = $(RTS_LC) $(RTS_LHC) $(CLIB_LC)
+
+include $(TOP)/mk/lib.mk
+
+#-----------------------------------------------------------------------------
 
 c-as-asm/PerformIO_flags       = -optc-DIN_GHC_RTS=1
 gum/FetchMe_flags              = -optc-DIN_GHC_RTS=1
@@ -210,11 +222,3 @@ storage/SMmark_flags               = -optc-DIN_GHC_RTS=1 -optc-DMARK_REG_MAP
 # /* this is not the way we should do this [WDP [lazy] 94/09] */
 # CTagsTarget( $(RTS_LC) $($RTS_LHC) $(CLIB_LC) )
 # CTagsTarget( gmp/[a-z]*.c )
-
-#-----------------------------------------------------------------------------
-# Do dependencies
-
-MKDEPENDC_OPTS= -I$(GHC_INCLUDES)
-
-C_DEP_SRCS = $(RTS_LC) $(RTS_LHC) $(CLIB_LC)
-include $(TOP)/mk/cdepend.mk