# This file generates Makefile.config
# Create default config from autodetected values
# Magic at work, note that you can't use commas in arguments for this
CONFIG_LINE=@$(SHELL) -c 'echo $(1)' >> $(MAKE_CONFIG) 2> /dev/null

$(MAKE_CONFIG):

	touch $(MAKE_CONFIG)

	$(call CONFIG_LINE,\# OpenTTD config file for makefile)
	$(call CONFIG_LINE,\# Set your options here - 1 for use and empty for disable)
	$(call CONFIG_LINE,)

	$(call CONFIG_LINE,\# User setup flags)
	$(call CONFIG_LINE,\# Translator: adds TODO to any untranslated strings)
	$(call CONFIG_LINE,\# MIDI: sets path to midi player)
	$(call CONFIG_LINE,\# MIDI_ARG: sets an argument which is used when calling the midi player. Default off)
	$(call CONFIG_LINE,\# SUPRESS_LANG_ERRORS: supresses output about missing and mismatched strings)
	$(call CONFIG_LINE,\# WITH_NETWORK: makes OpenTTD able to play multiplayer using TCP and UDP)
	$(call CONFIG_LINE,\# DEDICATED: compiles a dedicated server. This one can only host using a CLI, but do not need SDL)
	$(call CONFIG_LINE,STATIC:=$(STATIC))
	$(call CONFIG_LINE,TRANSLATOR:=$(TRANSLATOR))
	$(call CONFIG_LINE,DEBUG:=$(DEBUG))
	$(call CONFIG_LINE,PROFILE:=$(PROFILE))
	$(call CONFIG_LINE,MIDI:=$(MIDI))
	$(call CONFIG_LINE,MIDI_ARG:=$(MIDI_ARG))
	$(call CONFIG_LINE,SUPRESS_LANG_ERRORS:=$(SUPRESS_LANG_ERRORS))
	$(call CONFIG_LINE,WITH_DIRECTMUSIC:=$(WITH_DIRECTMUSIC))
	$(call CONFIG_LINE,WITH_NETWORK:=$(WITH_NETWORK))
	$(call CONFIG_LINE,DEDICATED:=$(DEDICATED))
	$(call CONFIG_LINE,)

	$(call CONFIG_LINE,\# Disable asserts. Leave them on for easier bug finding)
	$(call CONFIG_LINE,DISABLE_ASSERTS:=$(DISABLE_ASSERTS))
	$(call CONFIG_LINE,\# Disable threads. Useful if you do not like it and for testing)
	$(call CONFIG_LINE,NO_THREADS:=$(NO_THREADS))
	$(call CONFIG_LINE,)

	$(call CONFIG_LINE,\# See Makefile for details on these paths)
	$(call CONFIG_LINE,\# Folders should not end with /)
	$(call CONFIG_LINE,INSTALL:=$(INSTALL))
	$(call CONFIG_LINE,PREFIX:=$(PREFIX))
	$(call CONFIG_LINE,BINARY_DIR:=$(BINARY_DIR))
	$(call CONFIG_LINE,DATA_DIR:=$(DATA_DIR))
	$(call CONFIG_LINE,ICON_DIR:=$(ICON_DIR))
	$(call CONFIG_LINE,USE_HOMEDIR:=$(USE_HOMEDIR))
	$(call CONFIG_LINE,PERSONAL_DIR:=$(PERSONAL_DIR))
	$(call CONFIG_LINE,SECOND_DATA_PATH:=$(SECOND_DATA_PATH))
	$(call CONFIG_LINE,CUSTOM_LANG_PATH:=$(CUSTOM_LANG_PATH))
	$(call CONFIG_LINE,)

	$(call CONFIG_LINE,\# Flag to skip test for OS when building static)
	$(call CONFIG_LINE,\# OpenTTD have only been succesfully tested with static builds on MorphOS and MacOSX)
	$(call CONFIG_LINE,\# If you want to try anyway on other OSes, set this flag)
	$(call CONFIG_LINE,\# Inform us if you have success)
	$(call CONFIG_LINE,SKIP_STATIC_CHECK:=$(SKIP_STATIC_CHECK))
	$(call CONFIG_LINE,)
	$(call CONFIG_LINE,)

	$(call CONFIG_LINE,\# Everything below this line is autogenerated)
	$(call CONFIG_LINE,\#)
	$(call CONFIG_LINE,\# If you need to change anything below, you should run "make upgradeconf")
	$(call CONFIG_LINE,\# If that does not fix the problem, you should make a bug report.)
	$(call CONFIG_LINE,\# It would really help if you could tell how to autodetect the missing setting)
	$(call CONFIG_LINE,\# That info could be where the missing lib is placed)
	$(call CONFIG_LINE,)

	$(call CONFIG_LINE,\# Libs)
	$(call CONFIG_LINE,WITH_ZLIB:=$(WITH_ZLIB))
	$(call CONFIG_LINE,WITH_SDL:=$(WITH_SDL))
	$(call CONFIG_LINE,WITH_PNG:=$(WITH_PNG))
	$(call CONFIG_LINE,WITH_ICONV:=$(WITH_ICONV))
	$(call CONFIG_LINE,WITH_ICONV_PATH:=$(WITH_ICONV_PATH))
	$(call CONFIG_LINE,STATIC_ZLIB_PATH:=$(STATIC_ZLIB_PATH))
	$(call CONFIG_LINE,WITH_COCOA:=$(WITH_COCOA))
	$(call CONFIG_LINE,)

	$(call CONFIG_LINE,\# OS flags)
	$(call CONFIG_LINE,WIN32:=$(WIN32))
	$(call CONFIG_LINE,UNIX:=$(UNIX))
	$(call CONFIG_LINE,OSX:=$(OSX))
	$(call CONFIG_LINE,FREEBSD:=$(FREEBSD))
	$(call CONFIG_LINE,MORPHOS:=$(MORPHOS))
	$(call CONFIG_LINE,BEOS:=$(BEOS))
	$(call CONFIG_LINE,SUNOS:=$(SUNOS))
	$(call CONFIG_LINE,CYGWIN:=$(CYGWIN))
	$(call CONFIG_LINE,MINGW:=$(MINGW))
	$(call CONFIG_LINE,)

	$(call CONFIG_LINE,\# For cross-compiling)
	$(call CONFIG_LINE,CC_TARGET:=$(CC_TARGET))
	$(call CONFIG_LINE,CC_HOST:=$(CC_HOST))
	$(call CONFIG_LINE,CXX_TARGET:=$(CXX_TARGET))
	$(call CONFIG_LINE,CXX_HOST:=$(CXX_HOST))
	$(call CONFIG_LINE,CFLAGS_HOST:=$(CFLAGS_HOST))
	$(call CONFIG_LINE,WINDRES:=$(WINDRES))
	$(call CONFIG_LINE,ENDIAN_FORCE:=$(ENDIAN_FORCE))
	$(call CONFIG_LINE,)

	$(call CONFIG_LINE,\# misc)
	$(call CONFIG_LINE,SDL_CONFIG:=$(SDL_CONFIG))
	$(call CONFIG_LINE,LIBPNG_CONFIG:=$(LIBPNG_CONFIG))
	$(call CONFIG_LINE,BEOS_NET_SERVER:=$(BEOS_NET_SERVER))
	$(call CONFIG_LINE,CONFIG_INCLUDED:=yes)
	$(call CONFIG_LINE,PATH_SET:=$(PATH_SET))
	$(call CONFIG_LINE,CONFIG_VERSION:=$(MAKEFILE_VERSION))
