X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=Makefile;h=3124d4aaa920924ccd513970fc375553ec903727;hb=d5171194499f85cf153a0804625100579a0d1289;hp=196b56647884dc76faa947e1f88e66d516cbc2ef;hpb=1116ea787eb5c848ac16c7561bb8134c61395676;p=haskell-directory.git diff --git a/Makefile b/Makefile index 196b566..3124d4a 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # ----------------------------------------------------------------------------- -# $Id: Makefile,v 1.12 2002/02/11 17:10:56 simonmar Exp $ +# $Id: Makefile,v 1.21 2002/03/25 05:25:27 sof Exp $ TOP=.. include $(TOP)/mk/boilerplate.mk @@ -37,13 +37,22 @@ ALL_DIRS = \ Text/Regex \ Text/Show -PKG = base +PACKAGE = base SRC_HC_OPTS += -fglasgow-exts -cpp -Iinclude SRC_HSC2HS_OPTS += -Iinclude +# Make sure we can get hold of regex.h +ifneq "$(HavePosixRegex)" "YES" +SRC_HC_OPTS += -Icbits/regex +SRC_HSC2HS_OPTS += -Icbits/regex +endif + +# ----------------------------------------------------------------------------- +# Per-module flags + # ESSENTIAL, for getting reasonable performance from the I/O library: -GHC/IOBase_HC_OPTS = -funbox-strict-fields +SRC_HC_OPTS += -funbox-strict-fields # ----------------------------------------------------------------------------- # PrimOpWrappers @@ -56,23 +65,31 @@ boot :: GHC/PrimopWrappers.hs CLEAN_FILES += GHC/PrimopWrappers.hs -# ----------------------------------------------------------------------------- -# GHC/Prim.hi-boot +#----------------------------------------------------------------------------- +# Building the library for GHCi +# +# The procedure differs from that in fptools/mk/target.mk in one way: +# (*) on Win32 we must split it into two, because a single .o file can't +# have more than 65536 relocations in it. -GHC/Prim.$(way_)hi : GHC/Prim.hi-boot - cp $< $@ +ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32" -ALL_PRIMS = GHC/Prim.hi $(foreach way, $(WAYS), GHC/Prim.$(way)_hi) +# Turn off standard rule which creates HSbase.o from LIBOBJS. +DONT_WANT_STD_GHCI_LIB_RULE=YES -lib : $(ALL_PRIMS) +GHCI_LIBOBJS = $(HS_OBJS) -boot :: $(ALL_PRIMS) +INSTALL_LIBS += HSbase1.o HSbase2.o -CLEAN_FILES += $(ALL_PRIMS) +endif # TARGETPLATFORM = i386-unknown-mingw32 -SRC_CPP_OPTS += -I$(GHC_INCLUDE_DIR) -traditional # ----------------------------------------------------------------------------- include $(TOP)/mk/target.mk +HSbase.o : $(GHCI_LIBOBJS) + $(LD) -r $(LD_X) -o HSbase1.o $(filter GHC/%, $(GHCI_LIBOBJS)) + $(LD) -r $(LD_X) -o HSbase2.o $(filter-out GHC/%, $(GHCI_LIBOBJS)) + @touch HSbase.o +