diff --git a/Makefile b/Makefile index ac865d757b..5997ef5d12 100644 --- a/Makefile +++ b/Makefile @@ -778,10 +778,14 @@ OSX_MIDI_PLAYER_FILE:=os/macosx/OpenTTDMidi.class endif -all: endian.h $(UPDATECONFIG) $(LANGS) $(TTD) $(OSX) $(endwarnings) +all: endian_target.h endian_host.h $(UPDATECONFIG) $(LANGS) $(TTD) $(OSX) $(endwarnings) -endian.h: $(ENDIAN_CHECK) - @echo '===> Testing endianness' +endian_host.h: $(ENDIAN_CHECK) + @echo '===> Testing endianness for host' + $(Q)./$(ENDIAN_CHECK) > $@ + +endian_target.h: $(ENDIAN_CHECK) + @echo '===> Testing endianness for target' $(Q)./$(ENDIAN_CHECK) $(ENDIAN_FORCE) > $@ $(ENDIAN_CHECK): endian_check.c @@ -814,7 +818,7 @@ $(64_bit_warnings): $(warning 64 bit CPUs will get some 64 bit specific bugs!) $(warning If you see any bugs, include in your bug report that you use a 64 bit CPU) -$(STRGEN): strgen/strgen.c endian.h +$(STRGEN): strgen/strgen.c endian_host.h $(call cmd,compile_link) table/strings.h: lang/english.txt $(STRGEN) @@ -919,7 +923,8 @@ FORCE: clean: @echo '===> Cleaning up' - $(Q)rm -rf .deps *~ $(TTD) $(STRGEN) core table/strings.h $(LANGS) $(OBJS) $(OSX_MIDI_PLAYER_FILE) endian.h $(ENDIAN_CHECK) +# endian.h is out-dated and no longer in use, so it can be removed soon + $(Q)rm -rf .deps *~ $(TTD) $(STRGEN) core table/strings.h $(LANGS) $(OBJS) $(OSX_MIDI_PLAYER_FILE) endian.h endian_host.h endian_target.h $(ENDIAN_CHECK) mrproper: clean $(Q)rm -rf $(MAKE_CONFIG) @@ -999,11 +1004,11 @@ DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :) # first compilation round as we just build everything at that time anyway, # therefore we do not need to watch deps. -%.o: %.c $(MAKE_CONFIG) endian.h table/strings.h +%.o: %.c $(MAKE_CONFIG) endian_target.h table/strings.h $(call cmd,c_compile) @mv $(<:%.c=%.d) $(<:%.c=.deps/%.d) -%.o: %.cpp $(MAKE_CONFIG) endian.h table/strings.h +%.o: %.cpp $(MAKE_CONFIG) endian_target.h table/strings.h $(call cmd,cxx_compile) @mv $(<:%.cpp=%.d) $(<:%.cpp=.deps/%.d) diff --git a/stdafx.h b/stdafx.h index 982c71cf4d..22c7024c17 100644 --- a/stdafx.h +++ b/stdafx.h @@ -116,8 +116,12 @@ int CDECL vsnprintf(char *str, size_t size, const char *format, va_list ap); #if defined(WIN32) || defined(__OS2__) #define TTD_LITTLE_ENDIAN #else -// Else include endian.h, which has the endian-type, autodetected by the Makefile - #include "endian.h" +// Else include endian[target/host].h, which has the endian-type, autodetected by the Makefile + #if defined(STRGEN) + #include "endian_host.h" + #else + #include "endian_target.h" + #endif #endif #if defined(UNIX) diff --git a/strgen/strgen.c b/strgen/strgen.c index 805da67557..52540110b9 100644 --- a/strgen/strgen.c +++ b/strgen/strgen.c @@ -1,3 +1,5 @@ +#define STRGEN + #include "../stdafx.h" #include #include