rts/dist/build/libHSrtsmain.a
all_rts : $(ALL_RTS_LIBS)
-# The per-dir options
-$(eval $(call distdir-opts,rts,dist))
-
# -----------------------------------------------------------------------------
# Defining the sources
$(rts_AUTO_APPLY_CMM): $(GENAPPLY_INPLACE)
"$(GENAPPLY_INPLACE)" >$@
-rts/dist/build/sm/Evac_thr.c : rts/sm/Evac.c
- "$(MKDIRHIER)" $(dir $@)
+rts/dist/build/sm/Evac_thr.c : rts/sm/Evac.c | $$(dir $$@)/.
cp $< $@
-rts/dist/build/sm/Scav_thr.c : rts/sm/Scav.c
- "$(MKDIRHIER)" $(dir $@)
+rts/dist/build/sm/Scav_thr.c : rts/sm/Scav.c | $$(dir $$@)/.
cp $< $@
rts_H_FILES = $(wildcard includes/*.h) $(wildcard rts/*.h)
rts_CC_OPTS += -DUSE_LIBFFI_FOR_ADJUSTORS
endif
-ifeq "$(Windows)" "YES"
-# SDM: when compiled with -fasm the RTS currently has bogus references to
-# __imp_base_ things, so working around for now:
-rts_HC_OPTS += -fvia-C
-endif
-
ifneq "$(DYNAMIC_RTS)" "YES"
rts_HC_OPTS += -static
else
rts_LD_OPTS += $(addprefix -optl, $(MACOSX_DEPLOYMENT_LD_OPTS))
# Otherwise the stack-smash handler gets triggered.
-ifeq "$(TargetOS_CPP)" "openbsd"
+ifneq "$(findstring $(TargetOS_CPP), darwin openbsd)" ""
rts_HC_OPTS += -optc-fno-stack-protector
endif
# a different set of dependencies for each way. Further hack: PROFILING and
# TICKY_TICKY can't be used together, so we omit TICKY_TICKY for now.
rts_MKDEPENDC_OPTS += -DPROFILING -DTHREADED_RTS -DDEBUG
+rts_MKDEPENDC_OPTS += -Irts/sm
rts_WAYS_DASHED = $(subst $(space),,$(patsubst %,-%,$(strip $(rts_WAYS))))
rts_dist_depfile = rts/dist/build/.depend$(rts_WAYS_DASHED)
-rts_dist_C_SRCS = $(rts_C_SRCS)
+rts_dist_C_SRCS = $(rts_C_SRCS) $(rts_thr_EXTRA_C_SRCS)
rts_dist_S_SRCS = $(rts_S_SRCS)
-rts_dist_C_FILES = $(rts_C_SRCS) $(rts_S_SRCS)
+rts_dist_C_FILES = $(rts_C_SRCS) $(rts_thr_EXTRA_C_SRCS) $(rts_S_SRCS)
$(eval $(call build-dependencies,rts,dist))