## _________ __ __ ## / _____// |_____________ _/ |______ ____ __ __ ______ ## \_____ \\ __\_ __ \__ \\ __\__ \ / ___\| | \/ ___/ ## / \| | | | \// __ \| | / __ \_/ /_/ > | /\___ \ ## /_______ /|__| |__| (____ /__| (____ /\___ /|____//____ > ## \/ \/ \//_____/ \/ ## ______________________ ______________________ ## T H E W A R B E G I N S ## Stratagus - A free fantasy real time strategy game engine ## ## Rules.make - Make RULES (GNU MAKE) (included from Makefile). ## ## (c) Copyright 1998-2002 by Lutz Sammer ## ## Stratagus is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published ## by the Free Software Foundation; only version 2 of the License. ## ## Stratagus is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## $Id$ ## ############################################################################ # Configurable: # Choose what you want to include and the correct # version. Minimal is now the default. ############################################################################ #------------------------------------------------------------------------------ # Uncomment next to add threaded sound support # You should have a thread safe X11 (libc6 or glibc) # Any modern linux distribution are thread safe. # Don't enable, if you use SDL sound support. #THREAD = -D_REENTRANT -DUSE_THREAD #THREADLIB = -lpthread #------------------------------------------------------------------------------ # Video driver part #------------------------------------------------------------------------------ #------------------------------------------------------------------------------ # SDL - Simple DirectMedia Layer configuration (any >=1.0.0) SDL_CFLAGS = $(shell sdl-config --cflags) SDLLIB = $(shell sdl-config --static-libs) #SDLLIB = $(shell sdl-config --libs) # Without SDL Sound (only not win32) #SDL = -DUSE_SDL $(SDL_CFLAGS) # With SDL Sound SDL = -DUSE_SDL -DUSE_SDLA $(SDL_CFLAGS) #------------------------------------------------------------------------------ # Uncomment one of the next for the SDL support. # Uncomment the next for the generic SDL support. #VIDEO = $(SDL) #VIDEOLIB = $(SDLLIB) # Uncomment the next for the win32/cygwin support. (not working?) #VIDEO = -DUSE_WIN32 $(SDL) #VIDEOLIB = $(SDLLIB) # Uncomment the next for the win32/mingw32 support. #VIDEO = -DUSE_WIN32 $(SDL) #VIDEOLIB = $(SDLLIB) -lwsock32 -Wl,--stack,33554432 # Uncomment the next for the BeOS SDL support. #VIDEO = -DUSE_BEOS $(SDL) #VIDEOLIB = $(SDLLIB) #------------------------------------------------------------------------------ # Sound driver part #------------------------------------------------------------------------------ # See above the USE_SDLA option. # Comment next if you want to remove sound support. DSOUND = -DWITH_SOUND # Uncomment the next to enable Ogg vorbis support. OGGLIB = -lvorbisfile -lvorbis -logg # Uncomment the next to enable Flac support. FLACLIB = -lFLAC # Uncomment the next to enable mp3 support (using libmad). MP3LIB = -lmad #------------------------------------------------------------------------------ # File I/O part #------------------------------------------------------------------------------ # Choose which compress you like # New zziplib support added # None #ZDEFS = #ZLIBS = # GZ compression #ZDEFS = -DUSE_ZLIB #ZLIBS = -lz # BZ2 compression #ZDEFS = -DUSE_BZ2LIB #ZLIBS = -lbz2 # GZ + BZ2 compression #ZDEFS = -DUSE_ZLIB -DUSE_BZ2LIB #ZLIBS = -lz -lbz2 # GZ + BZ2 + ZZIP compression ZDEFS = -DUSE_ZLIB -DUSE_BZ2LIB -DUSE_ZZIPLIB ZLIBS = -lzzip -lz -lbz2 #------------------------------------------------------------------------------ # May be required on some distributions for libpng and libz! # extra linker flags and include directory # -L/usr/lib XLDFLAGS = -L/usr/X11R6/lib -L/usr/local/lib XIFLAGS = -I/usr/X11R6/include -I/usr/local/include #------------------------------------------------------------------------------ # Support for SIOD (scheme interpreter) # C C L - Craft Configuration Language CCL = -DUSE_CCL CCLLIB = -lm #------------------------------------------------------------------------------ # Where do you want it installed? # Prefix for 'make install' PREFIX=/usr/local #------------------------------------------------------------------------------ # Uncomment next to profile #PROFILE= -pg # Uncomment next to profile with basic blocks #PROFILE= -pg -a # Compile Version VERSION= '-DVERSION="1.18pre1"' ############################################################################ # below this, nothing should be changed! # Libraries needed to build tools TOOLLIBS=$(XLDFLAGS) -lpng -lz -lm $(THREADLIB) # Libraries needed to build stratagus CLONELIBS=$(XLDFLAGS) -lpng -lz -lm $(FLACLIB) $(OGGLIB) $(MP3LIB) \ $(THREADLIB) $(CCLLIB) $(VIDEOLIB) $(ZLIBS) #-lefence DISTLIST=$(TOPDIR)/distlist TAGS=$(TOPDIR)/src/tags # LINUX OUTFILE=$(TOPDIR)/stratagus ARCH=linux OE=o EXE= OBJDIR=. # WIN32 #OUTFILE=$(TOPDIR)/stratagus$(EXE) #ARCH=win32 #OE=o #EXE=.exe #OBJDIR=. ## include flags IFLAGS= -I$(TOPDIR)/src/include $(XIFLAGS) -I$(TOPDIR)/src/movie/vp31/include ## define flags #DEBUG= -DDEBUG # -DREFS_DEBUG # -DFLAG_DEBUG ## ## SLOW_INPUT If you have problems that events aren't fetched. ## BPP8_* Only for X11 8bpp common palette: ## BPP8_NORMAL disables default, like other Xbpp (delivers errors) ## BPP8_WINSAFE Uses a windows safe palette instead. ## BPP8_IRGB Uses a palette based on 4x4x4 RGB in 4 intensities ## There are some still not well tested code parts or branches. ## UNIT_ON_MAP Fast lookup of units ## UNITS_ON_MAP Faster lookup of units ## NEW_AI New better improved AI code ## USE_TILECACHE Faster tile drawing, costs memory. ## USE_SMART_TILECACHE Faster tile drawing, slow with hardware video memory. ## USE_HP_FOR_XP Use hit-points for XP calculations. ## USE_LIBMODPLUG Use modplug audio player support. ## USE_SDLCD Use the SDL cd player support. ## USE_LIBCDA Use the LIBCDA cd player support. ## USE_FLAC Use flac audio player support. ## USE_OGG Use ogg audio player support. ## USE_MAD Use mad mp3 audio player support. ## These aren't working yet: ## NEW_MAPDRAW Stephans new map draw code (broken in this release) ## USE_FFMPEG Use ffmpeg video player support. ## NEW_FOW New fog of war code, should work correct ## NEW_SHIPS New correct ship movement. ## HIERARCHIC_PATHFINDER Use hierarchic pathfinder ## USE_LUA Lua scripting support DFLAGS= $(THREAD) $(CCL) $(VERSION) $(VIDEO) $(ZDEFS) $(DSOUND) $(DEBUG) \ -DUNIT_ON_MAP -DNEW_AI -DUSE_FLAC -DUSE_OGG -DUSE_MAD \ -DUSE_HP_FOR_XP # -DNEW_MAPDRAW=1 -DNEW_SHIPS ## choose optimise level #CFLAGS=-g -O0 $(PROFILE) -pipe -Wcast-align -Wall -Werror $(IFLAGS) $(DFLAGS) #CFLAGS=-g -O1 $(PROFILE) -pipe -Wcast-align -Wall -Werror $(IFLAGS) $(DFLAGS) #CFLAGS=-g -O2 $(PROFILE) -pipe -Wcast-align -Wall -Werror $(IFLAGS) $(DFLAGS) #CFLAGS=-g -O3 $(PROFILE) -pipe -Wcast-align -Wall -Werror $(IFLAGS) $(DFLAGS) CFLAGS=-g -O3 $(PROFILE) -pipe -Wcast-align -Wall $(IFLAGS) $(DFLAGS) #CFLAGS=-g -O6 -pipe -fconserve-space -fexpensive-optimizations -ffast-math $(IFLAGS) $(DFLAGS) #-- Production #CFLAGS=-O6 -pipe -fomit-frame-pointer -fconserve-space -fexpensive-optimizations -ffast-math $(IFLAGS) $(DFLAGS) #CFLAGS=-O6 -pipe -fomit-frame-pointer -fconserve-space -fexpensive-optimizations -ffast-math $(IFLAGS) $(DFLAGS) -static CC=cc -fsigned-char CCLD=cc RM=rm -f MAKE=make # TAGS 5.0 CTAGSFLAGS=--c-types=defmpstuvx -a -f #CTAGSFLAGS=-i defmpstuvFS -a -f #CTAGSFLAGS=-i defptvS -a -f # # Locks versions with symbolic name # LOCKVER= rcs -q -n$(NAME) #------------ # Source code documentation # DOXYGEN= doxygen DOCIFY= docify DOCPP= doc++ # Still didn't work #DOCIFY= /root/doc++-3.4.2/src/docify #DOCPP= /root/doc++-3.4.2/src/doc++ %.doc: %.c @$(TOPDIR)/tools/aledoc $< | $(DOCIFY) > $*-c.doc 2>/dev/null %.doc: %.cpp @$(TOPDIR)/tools/aledoc $< | $(DOCIFY) > $*-cpp.doc 2>/dev/null %.doc: %.h @$(TOPDIR)/tools/aledoc $< | $(DOCIFY) > $*-h.doc 2>/dev/null