H_FILES = $(filter-out gmp.h,$(wildcard *.h)) gmp.h
#
-# Options -- if we're building unregisterised, add a couple of -D's
+# Options
#
ifeq "$(GhcUnregisterised)" "YES"
SRC_CC_OPTS += -DNO_REGS -DUSE_MINIINTERPRETER
endif
+ifeq "$(GhcEnableTablesNextToCode) $(GhcUnregisterised)" "YES NO"
+SRC_CC_OPTS += -DTABLES_NEXT_TO_CODE
+endif
+
SRC_CC_OPTS += -I. -I../rts
+ifneq "$(GhcWithSMP)" "YES"
+SRC_CC_OPTS += -DNOSMP
+endif
+
#
# Header file built from the configure script's findings
#
$(H_CONFIG) : $(FPTOOLS_TOP)/mk/config.h $(FPTOOLS_TOP)/mk/config.mk
$(H_CONFIG) : Makefile
+ @echo "Creating $@..."
@echo "#ifndef __GHCAUTOCONF_H__" >$@
@echo "#define __GHCAUTOCONF_H__" >>$@
# Turn '#define PACKAGE_FOO "blah"' into '/* #undef PACKAGE_FOO */'.
# ---------------------------------------------------------------------------
# boot setup:
#
-# Need config.h to make dependencies in the runtime system source.
-#
-boot :: all
-
#
# Install all header files
#
# Finally, slurp in the standard targets.
#
include $(TOP)/mk/target.mk
+
+# We need DerivedConstants.h in order to make dependencies in the RTS
+# sources, so 'make boot' here should behave like 'make all'.
+#
+# However, note that we should do this only *after* 'make boot' has
+# created .depend in here; otherwise an out-of-date .depend file can
+# prevent 'make boot' from working, requiring manual removal of
+# .depend (see #1095). This is why the following target comes *after*
+# target.mk is included above (target.mk contains "boot :: depend").
+#
+boot :: all