X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FMakefile;h=8b344b0aad82ee0e797633a60f708fe98904b1c5;hb=538cf5105b079fa779b612c6154db2bb4febb586;hp=c0dcae59930f52e3e7744176c483ce7b6e91044c;hpb=b9a7c850ddba3ca6ac8c12753a869c48425a8435;p=ghc-hetmet.git diff --git a/ghc/rts/Makefile b/ghc/rts/Makefile index c0dcae5..8b344b0 100644 --- a/ghc/rts/Makefile +++ b/ghc/rts/Makefile @@ -36,6 +36,11 @@ NON_HS_PACKAGE = YES # grab sources from these subdirectories ALL_DIRS = hooks parallel +ifeq "$(HOSTPLATFORM)" "i386-unknown-mingw32" +ALL_DIRS += win32 +EXCLUDED_SRCS += Itimer.c Select.c Signals.c +endif + ifneq "$(DLLized)" "YES" EXCLUDED_SRCS += RtsDllMain.c else @@ -82,6 +87,10 @@ STANDARD_OPTS += -I../includes -I. -Iparallel # COMPILING_RTS is only used when building Win32 DLL support. STANDARD_OPTS += -DCOMPILING_RTS +ifeq "$(HOSTPLATFORM)" "i386-unknown-mingw32" +STANDARD_OPTS += -Iwin32 +endif + # HC_OPTS is included in both .c and .hc compilations, whereas CC_OPTS is # only included in .c compilations. HC_OPTS included the WAY_* opts, which # must be included in both types of compilations. @@ -124,6 +133,21 @@ ifeq "$(HaveLibMingwEx)" "YES" PACKAGE_CPP_OPTS += -DHAVE_LIBMINGWEX endif +ifeq "$(DotnetSupport)" "YES" + +# +# Would like to just use SUBDIRS here, but need to +# descend into dotnet/ earlier than that. +# +all :: + $(MAKE) -C dotnet all + +# But use SUBDIRS for other recursive targets. +SUBDIRS += dotnet + +LIBOBJS += dotnet/Invoke.o +endif + #----------------------------------------------------------------------------- # Include the Front panel code? @@ -132,6 +156,7 @@ ifneq "$(GTK_CONFIG)" "" ifeq "$(GhcRtsWithFrontPanel)" "YES" SRC_HC_OPTS += `$(GTK_CONFIG) --cflags` -optc-DRTS_GTK_FRONTPANEL VisCallbacks_CC_OPTS += -Wno-unused +SRC_MKDEPENDC_OPTS += `$(GTK_CONFIG) --cflags` else # GhcRtsWithFrontPanel EXCLUDED_SRCS += $(wildcard Vis*.c) endif @@ -146,6 +171,22 @@ MKDEPENDC_SRCS = $(C_SRCS) $(HC_SRCS) SRC_MKDEPENDC_OPTS += -I. -I../includes # ----------------------------------------------------------------------------- +# The auto-generated apply code + +AUTO_APPLY = AutoApply.hc + +gen_apply : GenApply.hs + $(GHC) -o $@ -I$(GHC_INCLUDE_DIR) GenApply.hs + +$(AUTO_APPLY): $(GHC_GENAPPLY) + @$(RM) $@ + $(GHC_GENAPPLY) >$@ + +EXTRA_SRCS += $(AUTO_APPLY) + +CLEAN_FILES += $(AUTO_APPLY) + +# ----------------------------------------------------------------------------- # # Building DLLs is only supported on mingw32 at the moment. # @@ -177,6 +218,7 @@ endif # and not worth re-implementing in our Makefile framework. ifneq "$(HaveLibGmp)" "YES" +ifneq "$(HaveFrameworkHaskellSupport)" "YES" ifneq "$(HOSTPLATFORM)" "i386-unknown-mingw32" boot :: cd gmp && ./configure --enable-shared=no \ @@ -208,6 +250,7 @@ clean distclean maintainer-clean :: INSTALL_LIBS += gmp/libgmp.a endif +endif gmp/libgmp.a :: $(MAKE) -C gmp MAKEFLAGS=