summaryrefslogtreecommitdiff
path: root/Jamfile.next
diff options
context:
space:
mode:
Diffstat (limited to 'Jamfile.next')
-rw-r--r--Jamfile.next163
1 files changed, 163 insertions, 0 deletions
diff --git a/Jamfile.next b/Jamfile.next
new file mode 100644
index 000000000..9199c4b94
--- /dev/null
+++ b/Jamfile.next
@@ -0,0 +1,163 @@
+CFILES = ai.c aircraft_cmd.c aircraft_gui.c airport_gui.c
+ bridge_gui.c clear_cmd.c command.c disaster_cmd.c
+ dock_gui.c dummy_land.c economy.c engine.c engine_gui.c
+ fileio.c gfx.c graph_gui.c industry_cmd.c industry_gui.c
+ intro_gui.c landscape.c main_gui.c minilzo.c misc.c
+ misc_cmd.c misc_gui.c music_gui.c namegen.c network.c
+ news_gui.c oldloader.c order_cmd.c order_gui.c pathfind.c
+ player_gui.c players.c rail_cmd.c rail_gui.c road_cmd.c
+ road_gui.c roadveh_cmd.c roadveh_gui.c saveload.c sdl.c
+ settings.c settings_gui.c ship_cmd.c ship_gui.c smallmap_gui.c
+ sound.c spritecache.c station_cmd.c station_gui.c
+ strings.c subsidy_gui.c texteff.c town_cmd.c town_gui.c
+ train_cmd.c train_gui.c tree_cmd.c ttd.c
+ tunnelbridge_cmd.c unmovable_cmd.c vehicle.c
+ viewport.c water_cmd.c widget.c window.c screenshot.c
+ airport.c grfspecial.c terraform_gui.c ;
+
+
+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;
+
+####################
+# On UNIX we use gcc
+####################
+if $(UNIX) {
+ SDL_CONFIG_CFLAGS = `XX_SDL_CONFIG_PLACEHOLDER_XX --cflags` ;
+ SDL_CONFIG_LIBS = `XX_SDL_CONFIG_PLACEHOLDER_XX --libs` ;
+
+ LINKFLAGS += $(SDL_CONFIG_LIBS) ;
+ CC = gcc ;
+ CCFLAGS += -Wall -Wno-multichar -DUNIX -DWITH_SDL ;
+
+ OPTIMFLAGS = -O2 -fomit-frame-pointer ;
+ DEBUGFLAGS = -g ;
+
+# also include extmidi
+ CFILES += extmidi.c unix.c ;
+
+# compile in PNG support?
+ if $(WITH_PNG) {
+ CCFLAGS += -DWITH_PNG -I$(WITH_PNG) ;
+ LINKFLAGS += -lpng ;
+ }
+
+# compile in zlib support?
+ if $(WITH_ZLIB) {
+ CCFLAGS += -DWITH_ZLIB ;
+ LINKFLAGS += -lz ;
+ }
+# compile for BeOS 5.1 and higher
+ if $(WITH_BONE_NETWORKING) {
+ CCFLAGS += -DENABLE_NETWORK ;
+ LINKFLAGS += -lsocket -lbind ;
+ }
+# link in BeOS MIDI and Be API libraries
+ if $(BEOS_MIDI) {
+ CCFLAGS += -DBEOS_MIDI ;
+ LINKFLAGS += -lbe -lmidi ;
+ CFILES += bemidi.cpp ;
+ }
+}
+
+####################
+# MSVC on Win32
+####################
+
+actions ActWin32Res {
+ $(VISUALC)\\..\\common\\msdev98\\bin\\rc /r /i $(STDHDRS) /fo $(<) $(>)
+}
+
+rule Win32Res { ActWin32Res $(<) : $(>) ; DEPENDS $(<) : $(>) ; }
+
+if $(TOOLSET) = VISUALC {
+ OPTIMFLAGS = /Oa /Os /Ow /Oy /Oi /Og /Ox /Gr /Gf /Gy /Zp4 /J /WX /W3 -DNDEBUG ;
+
+ CCFLAGS += -DWIN32 -DWIN32_EXCEPTION_TRACKER ;
+ CFILES += win32.c ;
+ LINKFLAGS += /opt:nowin98 /LIBPATH:$(VISUALC)\\lib ;
+
+ LINKLIBS = ws2_32.lib winmm.lib user32.lib gdi32.lib ;
+
+# compile resources too
+ EOBJ = ttd.res ;
+ Win32Res ttd.res : ttd.rc ;
+
+# png screenshots?
+ if $(WITH_PNG) {
+ CCFLAGS += -DWITH_PNG -I$(WITH_PNG) ;
+ LINKLIBS += libpng.lib ;
+ }
+
+# zlib savegames?
+ if $(WITH_ZLIB) {
+ CCFLAGS += -DWITH_ZLIB ;
+ LINKLIBS += zlibstat.lib ;
+ }
+
+# build release by default
+ RELEASE = 1 ;
+}
+
+
+####################
+# Common
+####################
+rule MyObjects {
+ local _i _t _s ;
+
+ _t = $(OUTDIR)/$(>:S=$(SUFOBJ)) ;
+ OPTIM on $(_t) = $(3) ;
+
+ MkDir $(OUTDIR) ;
+ Depends $(_t) : $(OUTDIR) ;
+
+ for _i in $(>) {
+ _s = $(OUTDIR)/$(_i:S=$(SUFOBJ)) ;
+ Object $(_s) : $(_i) ;
+
+# special handling for sdl.c and unix.c
+ if $(_i) = sdl.c || $(_i) = unix.c { CCFLAGS on $(_s) += $(SDL_CONFIG_CFLAGS) ; }
+ }
+ MainFromObjects $(OUTDIR)/$(<) : $(_t) $(EOBJ) ;
+}
+
+rule MyMain {
+ if $(RELEASE) {
+ OUTDIR = release ;
+ MyObjects ttd : $(>) : $(OPTIMFLAGS) ;
+ } else {
+ OUTDIR = debug ;
+ MyObjects ttd : $(>) : -D_DEBUG $(DEBUGFLAGS) ;
+ }
+}
+
+actions CompileLang {
+ strgen$(SLASH)strgen $(>)
+}
+
+rule LangFile {
+ if $(>) = lang/english.txt {
+ CompileLang $(<) table/strings.h : ;
+ DEPENDS table/string.h : $(>) ;
+ } else {
+ CompileLang $(<) : $(>) ;
+ }
+
+ Clean clean : $(<) ;
+ DEPENDS $(<) : $(>) ;
+ DEPENDS all : $(<) ;
+ DEPENDS $(<) : strgen/strgen ;
+}
+
+rule LangFiles {
+ local _i ;
+ for _i in $(<) { LangFile $(_i:S=.lng) : $(_i) ; }
+ Clean clean : table/strings.h ;
+}
+
+LangFiles lang/$(LANGFILES) ;
+
+Main strgen/strgen : strgen/strgen.c ;
+
+MyMain ttd : $(CFILES) ;
+