Skip to content
Snippets Groups Projects
Commit 6d453e53 authored by sof's avatar sof
Browse files

[project @ 1997-06-06 22:13:12 by sof]

junked - not used anymore
parent b965a36a
No related merge requests found
#-----------------------------------------------------------------------------
# $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.
# The variable $(suffix) defines the current build.
# To make libHSrts for a specific build, you can do
# make -f Makefile.libHSrts suffix=<build>
#-----------------------------------------------------------------------------
TOP=../..
SuffixRules_WantStdOnes = NO
UnlitSuffixRules = YES_PLEASE
include $(TOP)/ghc/mk/ghc.mk
# If you use EXTRA_HC_OPTS on the command line (which you shouldn't,
# strictly speaking), it will probably work -- it is pinned onto
# GHC_OPTS, just for fun.
GHC_OPTS = $(EXTRA_HC_OPTS)
# per-build options: shared with libraries
DoingRTS = YES
include ../mk/buildflags.mk
#-----------------------------------------------------------------------------
# what it is we are compiling;
# these are long and tedious lists, but c'est la guerre
RTS_LH = \
storage/SMmarkDefs.lh \
storage/SMcopying.lh \
storage/SMcompacting.lh \
storage/SMextn.lh \
storage/SMinternal.lh
RTS_LC = \
c-as-asm/CallWrap_C.lc \
c-as-asm/HpOverflow.lc \
c-as-asm/StablePtr.lc \
c-as-asm/StablePtrOps.lc \
c-as-asm/StgDebug.lc \
c-as-asm/StgMiniInt.lc \
gum/GlobAddr.lc \
gum/HLComms.lc \
gum/Hash.lc \
gum/LLComms.lc \
gum/Pack.lc \
gum/ParInit.lc \
gum/RBH.lc \
gum/Sparks.lc \
gum/Unpack.lc \
main/GranSim.lc \
main/Itimer.lc \
main/Ticky.lc \
main/SMRep.lc \
main/Select.lc \
main/Signals.lc \
main/StgOverflow.lc \
main/Threads.lc \
main/RtsFlags.lc \
main/main.lc \
prims/PrimArith.lc \
prims/PrimMisc.lc \
profiling/CostCentre.lc \
profiling/Hashing.lc \
profiling/HeapProfile.lc \
profiling/Indexing.lc \
profiling/Timer.lc \
storage/SM1s.lc \
storage/SM2s.lc \
storage/SMap.lc \
storage/SMcheck.lc \
storage/SMcompacting.lc \
storage/SMcopying.lc \
storage/SMdu.lc \
storage/SMevac.lc \
storage/SMextn.lc \
storage/SMinit.lc \
storage/SMmarking.lc \
storage/SMscan.lc \
storage/SMscav.lc \
storage/SMstacks.lc \
storage/SMstatic.lc \
storage/SMstats.lc \
storage/mprotect.lc
# LATER?: storage/SMgen.lc
RTS_LHC = \
main/StgStartup.lhc \
main/StgUpdate.lhc \
main/StgThreads.lhc \
c-as-asm/PerformIO.lhc \
storage/SMmark.lhc \
gum/FetchMe.lhc
CLIB_LC = \
hooks/ErrorHdr.lc \
hooks/FreeForeignObj.lc \
hooks/OutOfHeap.lc \
hooks/OutOfStk.lc \
hooks/OutOfVM.lc \
hooks/NoRunnableThrds.lc \
hooks/PatErrorHdr.lc \
hooks/TraceHooks.lc \
hooks/SizeHooks.lc \
hooks/InitEachPE.lc \
main/Mallocs.lc
CLIB_LC = \
hooks/ErrorHdr.lc \
hooks/FreeForeignObj.lc \
hooks/OutOfHeap.lc \
hooks/OutOfStk.lc \
hooks/OutOfVM.lc \
hooks/NoRunnableThrds.lc \
hooks/PatErrorHdr.lc \
hooks/TraceHooks.lc \
hooks/SizeHooks.lc \
hooks/InitEachPE.lc \
main/Mallocs.lc
H_FILES = $(RTS_LH:.lh=.h)
C_FILES = $(RTS_LC:.lc=.c) $(RTS_LHC:.lhc=.hc) $(CLIB_LC:.lc=.c)
# Header files
all depend :: $(H_FILES)
clean ::
$(RM) $(H_FILES)
$(RM) $(C_FILES)
#-----------------------------------------------------------------------------
# Rules for building various types of objects from C files
RTS_GHC = $(GHC) -c -o $@ $(GHCFLAGS) $($*_flags)
%.o : %.c
@$(RM) $@
$(RTS_GHC) $*.c
%.$(suffix)_o : %.c
@$(RM) $@
$(RTS_GHC) $(GHC_OPTS_$(suffix)) $*.c
%.o : %.hc
@$(RM) $@
$(RTS_GHC) $*.hc
%.$(suffix)_o : %.hc
@$(RM) $@
$(RTS_GHC) $(GHC_OPTS_$(suffix)) $*.hc
#-----------------------------------------------------------------------------
ifeq ($(suffix), mp)
ifdef solaris2_TARGET_OS
__socket_libs = -lsocket -lnsl
else
__socket_libs =
endif
all :: gum/SysMan
gum/SysMan : gum/SysMan.mp_o gum/LLComms.mp_o main/Mallocs.o hooks/OutOfVM.o
$(RM) $@
$(CC) -o $@ gum/SysMan.mp_o gum/LLComms.mp_o main/Mallocs.o hooks/OutOfVM.o -L$$PVM_ROOT/lib/$$PVM_ARCH -lpvm3 -lgpvm3 $(__socket_libs)
clean ::
$(RM) gum/SysMan.mp_o gum/SysMan
install :: gum/SysMan
$(INSTALL) -c $(INSTBINFLAGS) gum/SysMan $(INSTLIBDIR_GHC)/SysMan
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)
ARCHIVE = libHSrts.a # this one is special
else
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)
install :: $(RTS_LIB)
$(INSTALL) $(INSTLIBFLAGS) $(RTS_LIB) $(INSTLIBDIR_GHC)/$(RTS_LIB)
$(RANLIB) $(INSTLIBDIR_GHC)/$(RTS_LIB)
LIBOBJS = $(RTS_LC:.lc=.$(suffix)_o) $(RTS_LHC:.lhc=.$(suffix)_o)
DESTDIR = $(INSTLIBDIR_GHC)
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
main/StgStartup_flags = -optc-DIN_GHC_RTS=1
main/StgThreads_flags = -optc-DIN_GHC_RTS=1
main/StgUpdate_flags = -optc-DIN_GHC_RTS=1
storage/SMmark_flags = -optc-DIN_GHC_RTS=1 -optc-DMARK_REG_MAP
# ToDo:
# /* 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 )
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment