diff --git a/1986/marshall/Makefile b/1986/marshall/Makefile index 44dbc46bc..13ac7b81f 100644 --- a/1986/marshall/Makefile +++ b/1986/marshall/Makefile @@ -69,7 +69,9 @@ CINCLUDE= # Optimization # -OPT= +# We DISABLE the optimiser due to funny problems in different compilers and +# systems. See compilers.md for more details on this problem. +OPT= -O0 # Default flags for ANSI C compilation # @@ -132,8 +134,10 @@ all: data ${TARGET} clean clobber install love haste waste maker easter_egg \ sandwich supernova deep_magic magic charon pluto +# We FORCE disable the optimiser due to funny problems in different compilers +# and systems. See compilers.md for details. ${PROG}: ${PROG}.c - ${CC} ${CFLAGS} $< -o $@ ${LDFLAGS} + ${CC} ${CFLAGS} -O0 $< -o $@ ${LDFLAGS} # alternative executable # diff --git a/1986/marshall/README.md b/1986/marshall/README.md index 2fe2ce2fb..dd98343e8 100644 --- a/1986/marshall/README.md +++ b/1986/marshall/README.md @@ -4,6 +4,10 @@ make all ``` + +NOTE: we FORCE disable the optimiser due to a funny problem with different +compilers and systems. See below and [compilers.md](compilers.md) for details. + There is an [alternate version](#alternate-code). The reason is a funny problem: in modern systems, depending on the platform, compiler and the optimiser, it would work with one compiler with the optimiser but it would not work with the