X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=mk%2Ftarget.mk;h=8b09305914385537b16442fbb57b8ab142e2179e;hb=e74ac5093615563190f8116727e5c9c2c13045cf;hp=5e8d60f06083a9720df59a8921ab365dc6d244cd;hpb=9f3b6ad3eb33cf1a0e9036d2ef9d78ac47a18973;p=ghc-hetmet.git diff --git a/mk/target.mk b/mk/target.mk index 5e8d60f..8b09305 100644 --- a/mk/target.mk +++ b/mk/target.mk @@ -155,7 +155,7 @@ ifneq "$(MKDEPENDC_SRCS)" "" $(MKDEPENDC) -f .depend $(MKDEPENDC_OPTS) $(foreach way,$(WAYS),-s $(way)) -- $(CC_OPTS) -- $(MKDEPENDC_SRCS) endif ifneq "$(MKDEPENDHS_SRCS)" "" - $(MKDEPENDHS) -M -optdep-f -optdep.depend $(foreach way,$(WAYS),-optdep-s -optdep$(way)) $(foreach obj,$(MKDEPENDHS_OBJ_SUFFICES),-osuf $(obj)) $(MKDEPENDHS_OPTS) $(HC_OPTS) $(MKDEPENDHS_SRCS) + $(MKDEPENDHS) -M -optdep-f -optdep.depend $(foreach way,$(WAYS),-optdep-s -optdep$(way)) $(foreach obj,$(MKDEPENDHS_OBJ_SUFFICES),-osuf $(obj)) $(MKDEPENDHS_OPTS) $(filter-out -split-objs, $(HC_OPTS)) $(MKDEPENDHS_SRCS) endif @@ -352,6 +352,8 @@ _cbits := _cbits STUBOBJS += $(HSC_C_OBJS) # Add _hsc.c files to the cbits library SRCS += $(wildcard ../*_hsc.c) +# Make .hsc.h include files from the directory above visible +SRC_CC_OPTS += -I.. endif LIBRARY = libHS$(PACKAGE)$(_cbits)$(_way).a @@ -372,7 +374,7 @@ endif SRC_CC_OPTS += -I$(GHC_INCLUDE_DIR) -I$(GHC_RUNTIME_DIR) ifeq "$(IS_CBITS_LIB)" "YES" -override datadir:=$(libdir)/includes +override datadir:=$(libdir)/include INSTALL_DATAS += Hs$(shell perl -e 'print ucfirst "$(PACKAGE)"').h else SRC_CC_OPTS += -Icbits @@ -416,11 +418,22 @@ ifneq "$(way)" "u" SRC_HC_OPTS += -split-objs +ifeq "$(ArSupportsInput)" "" define BUILD_LIB $(RM) $@ (echo $(STUBOBJS); $(FIND) $(patsubst %.$(way_)o,%,$(LIBOBJS)) -name '*.$(way_)o') | xargs ar q $@ $(RANLIB) $@ endef +else +define BUILD_LIB +$(RM) $@ +echo $(STUBOBJS) > $@.list +$(FIND) $(patsubst %.$(way_)o,%,$(LIBOBJS)) -name '*.$(way_)o' >> $@.list +$(AR) $(AR_OPTS) $@ $(ArSupportsInput) $@.list +$(RM) $@.list +$(RANLIB) $@ +endef +endif # Extra stuff for compiling Haskell files with $(SplitObjs): @@ -521,10 +534,13 @@ endif # GHCI_LIBRARY # ifeq "$(DLLized)" "YES" +SRC_CC_OPTS += -DDLLized ifneq "$(PACKAGE)" "" SRC_BLD_DLL_OPTS += --export-all --output-def=HS$(PACKAGE)$(_cbits)$(_way).def DllVersionInfo.$(way_)o + +ifneq "$(PACKAGE) $(IS_CBITS_LIB)" "std YES" ifneq "$(PACKAGE)" "rts" SRC_BLD_DLL_OPTS += -lHSstd_cbits_imp -L$(GHC_LIB_DIR)/std/cbits SRC_BLD_DLL_OPTS += -lHSrts_$(way_)imp -L$(GHC_RUNTIME_DIR) @@ -534,6 +550,8 @@ ifneq "$(PACKAGE)" "std" endif endif endif +endif + SRC_BLD_DLL_OPTS += -lgmp -L. -L$(GHC_RUNTIME_DIR)/gmp ifeq "$(IS_CBITS_LIB)" "" SRC_BLD_DLL_OPTS += $(patsubst %,-lHS%_$(way_)imp, $(PACKAGE_DEPS))