0
|
1 |
CFILES = ai.c aircraft_cmd.c aircraft_gui.c airport_gui.c
|
|
2 |
bridge_gui.c clear_cmd.c command.c disaster_cmd.c
|
|
3 |
dock_gui.c dummy_land.c economy.c engine.c engine_gui.c
|
|
4 |
fileio.c gfx.c graph_gui.c industry_cmd.c industry_gui.c
|
|
5 |
intro_gui.c landscape.c main_gui.c minilzo.c misc.c
|
|
6 |
misc_cmd.c misc_gui.c music_gui.c namegen.c network.c
|
|
7 |
news_gui.c oldloader.c order_cmd.c order_gui.c pathfind.c
|
|
8 |
player_gui.c players.c rail_cmd.c rail_gui.c road_cmd.c
|
|
9 |
road_gui.c roadveh_cmd.c roadveh_gui.c saveload.c sdl.c
|
|
10 |
settings.c settings_gui.c ship_cmd.c ship_gui.c smallmap_gui.c
|
|
11 |
sound.c spritecache.c station_cmd.c station_gui.c
|
|
12 |
strings.c subsidy_gui.c texteff.c town_cmd.c town_gui.c
|
|
13 |
train_cmd.c train_gui.c tree_cmd.c ttd.c
|
|
14 |
tunnelbridge_cmd.c unmovable_cmd.c vehicle.c
|
|
15 |
viewport.c water_cmd.c widget.c window.c screenshot.c
|
|
16 |
airport.c grfspecial.c terraform_gui.c ;
|
|
17 |
|
|
18 |
|
|
19 |
LANGFILES = english.txt swedish.txt french.txt german.txt italian.txt slovak.txt hungarian.txt norwegian.txt danish.txt czech.txt galician.txt polish.txt;
|
|
20 |
|
|
21 |
####################
|
|
22 |
# On UNIX we use gcc
|
|
23 |
####################
|
|
24 |
if $(UNIX) {
|
|
25 |
SDL_CONFIG_CFLAGS = `XX_SDL_CONFIG_PLACEHOLDER_XX --cflags` ;
|
|
26 |
SDL_CONFIG_LIBS = `XX_SDL_CONFIG_PLACEHOLDER_XX --libs` ;
|
|
27 |
|
|
28 |
LINKFLAGS += $(SDL_CONFIG_LIBS) ;
|
|
29 |
CC = gcc ;
|
|
30 |
CCFLAGS += -Wall -Wno-multichar -DUNIX -DWITH_SDL ;
|
|
31 |
|
|
32 |
OPTIMFLAGS = -O2 -fomit-frame-pointer ;
|
|
33 |
DEBUGFLAGS = -g ;
|
|
34 |
|
|
35 |
# also include extmidi
|
|
36 |
CFILES += extmidi.c unix.c ;
|
|
37 |
|
|
38 |
# compile in PNG support?
|
|
39 |
if $(WITH_PNG) {
|
|
40 |
CCFLAGS += -DWITH_PNG -I$(WITH_PNG) ;
|
|
41 |
LINKFLAGS += -lpng ;
|
|
42 |
}
|
|
43 |
|
|
44 |
# compile in zlib support?
|
|
45 |
if $(WITH_ZLIB) {
|
|
46 |
CCFLAGS += -DWITH_ZLIB ;
|
|
47 |
LINKFLAGS += -lz ;
|
|
48 |
}
|
|
49 |
# compile for BeOS 5.1 and higher
|
|
50 |
if $(WITH_BONE_NETWORKING) {
|
|
51 |
CCFLAGS += -DENABLE_NETWORK ;
|
|
52 |
LINKFLAGS += -lsocket -lbind ;
|
|
53 |
}
|
|
54 |
# link in BeOS MIDI and Be API libraries
|
|
55 |
if $(BEOS_MIDI) {
|
|
56 |
CCFLAGS += -DBEOS_MIDI ;
|
|
57 |
LINKFLAGS += -lbe -lmidi ;
|
|
58 |
CFILES += bemidi.cpp ;
|
|
59 |
}
|
|
60 |
}
|
|
61 |
|
|
62 |
####################
|
|
63 |
# MSVC on Win32
|
|
64 |
####################
|
|
65 |
|
|
66 |
actions ActWin32Res {
|
|
67 |
$(VISUALC)\\..\\common\\msdev98\\bin\\rc /r /i $(STDHDRS) /fo $(<) $(>)
|
|
68 |
}
|
|
69 |
|
|
70 |
rule Win32Res { ActWin32Res $(<) : $(>) ; DEPENDS $(<) : $(>) ; }
|
|
71 |
|
|
72 |
if $(TOOLSET) = VISUALC {
|
|
73 |
OPTIMFLAGS = /Oa /Os /Ow /Oy /Oi /Og /Ox /Gr /Gf /Gy /Zp4 /J /WX /W3 -DNDEBUG ;
|
|
74 |
|
|
75 |
CCFLAGS += -DWIN32 -DWIN32_EXCEPTION_TRACKER ;
|
|
76 |
CFILES += win32.c ;
|
|
77 |
LINKFLAGS += /opt:nowin98 /LIBPATH:$(VISUALC)\\lib ;
|
|
78 |
|
|
79 |
LINKLIBS = ws2_32.lib winmm.lib user32.lib gdi32.lib ;
|
|
80 |
|
|
81 |
# compile resources too
|
|
82 |
EOBJ = ttd.res ;
|
|
83 |
Win32Res ttd.res : ttd.rc ;
|
|
84 |
|
|
85 |
# png screenshots?
|
|
86 |
if $(WITH_PNG) {
|
|
87 |
CCFLAGS += -DWITH_PNG -I$(WITH_PNG) ;
|
|
88 |
LINKLIBS += libpng.lib ;
|
|
89 |
}
|
|
90 |
|
|
91 |
# zlib savegames?
|
|
92 |
if $(WITH_ZLIB) {
|
|
93 |
CCFLAGS += -DWITH_ZLIB ;
|
|
94 |
LINKLIBS += zlibstat.lib ;
|
|
95 |
}
|
|
96 |
|
|
97 |
# build release by default
|
|
98 |
RELEASE = 1 ;
|
|
99 |
}
|
|
100 |
|
|
101 |
|
|
102 |
####################
|
|
103 |
# Common
|
|
104 |
####################
|
|
105 |
rule MyObjects {
|
|
106 |
local _i _t _s ;
|
|
107 |
|
|
108 |
_t = $(OUTDIR)/$(>:S=$(SUFOBJ)) ;
|
|
109 |
OPTIM on $(_t) = $(3) ;
|
|
110 |
|
|
111 |
MkDir $(OUTDIR) ;
|
|
112 |
Depends $(_t) : $(OUTDIR) ;
|
|
113 |
|
|
114 |
for _i in $(>) {
|
|
115 |
_s = $(OUTDIR)/$(_i:S=$(SUFOBJ)) ;
|
|
116 |
Object $(_s) : $(_i) ;
|
|
117 |
|
|
118 |
# special handling for sdl.c and unix.c
|
|
119 |
if $(_i) = sdl.c || $(_i) = unix.c { CCFLAGS on $(_s) += $(SDL_CONFIG_CFLAGS) ; }
|
|
120 |
}
|
|
121 |
MainFromObjects $(OUTDIR)/$(<) : $(_t) $(EOBJ) ;
|
|
122 |
}
|
|
123 |
|
|
124 |
rule MyMain {
|
|
125 |
if $(RELEASE) {
|
|
126 |
OUTDIR = release ;
|
|
127 |
MyObjects ttd : $(>) : $(OPTIMFLAGS) ;
|
|
128 |
} else {
|
|
129 |
OUTDIR = debug ;
|
|
130 |
MyObjects ttd : $(>) : -D_DEBUG $(DEBUGFLAGS) ;
|
|
131 |
}
|
|
132 |
}
|
|
133 |
|
|
134 |
actions CompileLang {
|
|
135 |
strgen$(SLASH)strgen $(>)
|
|
136 |
}
|
|
137 |
|
|
138 |
rule LangFile {
|
|
139 |
if $(>) = lang/english.txt {
|
|
140 |
CompileLang $(<) table/strings.h : ;
|
|
141 |
DEPENDS table/string.h : $(>) ;
|
|
142 |
} else {
|
|
143 |
CompileLang $(<) : $(>) ;
|
|
144 |
}
|
|
145 |
|
|
146 |
Clean clean : $(<) ;
|
|
147 |
DEPENDS $(<) : $(>) ;
|
|
148 |
DEPENDS all : $(<) ;
|
|
149 |
DEPENDS $(<) : strgen/strgen ;
|
|
150 |
}
|
|
151 |
|
|
152 |
rule LangFiles {
|
|
153 |
local _i ;
|
|
154 |
for _i in $(<) { LangFile $(_i:S=.lng) : $(_i) ; }
|
|
155 |
Clean clean : table/strings.h ;
|
|
156 |
}
|
|
157 |
|
|
158 |
LangFiles lang/$(LANGFILES) ;
|
|
159 |
|
|
160 |
Main strgen/strgen : strgen/strgen.c ;
|
|
161 |
|
|
162 |
MyMain ttd : $(CFILES) ;
|
|
163 |
|