164 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			164 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 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 romanian.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) ;
 | |
| 
 | 
