summaryrefslogtreecommitdiff
path: root/makefiledir/Makefile.config_writer
blob: fa627cfa94f82b30917033e9c874154d8114c5d9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
# 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,\# Display_Warnings: when off it hides some warnings while compiling)
	$(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,\# MAX_NUM_AUTOSAVES: sets the max number of autosaves the game keeps before overwriting old ones)
	$(call CONFIG_LINE,STATIC:=$(STATIC))
	$(call CONFIG_LINE,TRANSLATOR:=$(TRANSLATOR))
	$(call CONFIG_LINE,DISPLAY_WARNINGS:=$(DISPLAY_WARNINGS))
	$(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,MAX_NUM_AUTOSAVES:=$(MAX_NUM_AUTOSAVES))
	$(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,)

	$(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,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,STATIC_ZLIB_PATH:=$(STATIC_ZLIB_PATH))
	$(call CONFIG_LINE,WITH_COCOA:=$(WITH_COCOA))
	$(call CONFIG_LINE,)

	$(call CONFIG_LINE,\# Lib paths for OSX. Read os/MacOSX/Makefile for more info)
	$(call CONFIG_LINE,OSX_LIB_PATH:=$(OSX_LIB_PATH))
	$(call CONFIG_LINE,OSX_LOCAL_LIB_PATH:=$(OSX_LOCAL_LIB_PATH))
	$(call CONFIG_LINE,OSX_CHANGE_LIB_PATH:=$(OSX_CHANGE_LIB_PATH))
	$(call CONFIG_LINE,x86_SDL_LIB:=$(x86_SDL_LIB))
	$(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,\# Universal binary setup)
	$(call CONFIG_LINE,\# use these settings for building universal binaries. Most systems should work with the default settings)
	$(call CONFIG_LINE,SDL_PPC_CONFIG:=$(SDL_PPC_CONFIG))
	$(call CONFIG_LINE,SDL_x86_CONFIG:=$(SDL_x86_CONFIG))

	$(call CONFIG_LINE,\# if you got a fat libpng you should not need to change this. It is recommended to get a fat libpng lib)
	$(call CONFIG_LINE,LIBPNG_PPC_CONFIG:=$(LIBPNG_PPC_CONFIG))
	$(call CONFIG_LINE,LIBPNG_x86_CONFIG:=$(LIBPNG_x86_CONFIG))

	$(call CONFIG_LINE,\# autodetected SDL lib path, but it is not detected in a reliable way, so verify it. It needs to be the x86 lib)
	$(call CONFIG_LINE,x86_SDL_LIB:=$(x86_SDL_LIB))

	$(call CONFIG_LINE,\# default values should be good enough for the rest of the universal binary flags, but check them anyway)
	$(call CONFIG_LINE,SKIP_LIB_TEST:=$(SKIP_LIB_TEST))
	$(call CONFIG_LINE,PPC_CC:=$(PPC_CC))
	$(call CONFIG_LINE,CFLAGS_PPC:=$(CFLAGS_PPC))
	$(call CONFIG_LINE,LDFLAGS_PPC:=$(LDFLAGS_PPC))

	$(call CONFIG_LINE,x86_CC:=$(x86_CC))
	$(call CONFIG_LINE,CFLAGS_x86:=$(CFLAGS_x86))
	$(call CONFIG_LINE,LDFLAGS_x86:=$(LDFLAGS_x86))
	$(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,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))