Build 15 started, USE_FFMPEG,USE_FLAG,USE_OGG defines added.

This commit is contained in:
johns 2001-08-06 18:29:59 +00:00
parent dd1bbea496
commit a4805ce85d
2 changed files with 228 additions and 30 deletions

View file

@ -1,6 +1,6 @@
## ___________ _________ _____ __
## \_ _____/______ ____ ____ \_ ___ \____________ _/ ____\/ |_
## | __) \_ __ \_/ __ \_/ __ \/ \ \/\_ __ \__ \ __\ __\
## | __) \_ __ \_/ __ \_/ __ \/ \ \/\_ __ \__ \\ __\\ __\
## | \ | | \/\ ___/\ ___/\ \____| | \// __ \| | | |
## \___ / |__| \___ >\___ >\______ /|__| (____ /__| |__|
## \/ \/ \/ \/ \/
@ -8,70 +8,264 @@
## T H E W A R B E G I N S
## FreeCraft - A free fantasy real time strategy game engine
##
## Rules.make - Make RULES (GNU MAKE) (included from Makefile).
##
## (c) Copyright 1998-2001 by Lutz Sammer
##
## FreeCraft 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; either version 2 of the License,
## or (at your option) any later version.
##
## FreeCraft 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$
##
# Compile commands
CC=gcc
RM=rm -f
MAKE=make
############################################################################
# Configurable:
# Choose what you want to include and the correct
# version. Minimal is now the default.
############################################################################
# Use SIOD support
CCL = -DUSE_CCL
CCLLIB = -lm
#------------------------------------------------------------------------------
# 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 the next for the normal X11 support.
# Video support
VIDEO = -DUSE_X11
VIDEOLIB = -lXext -lX11 -ldl
# Sound support
#------------------------------------------------------------------------------
# Uncomment th next to get svgalib support.
#VIDEO = -DUSE_SVGALIB
#VIDEOLIB = -lvga -lm -ldl
#------------------------------------------------------------------------------
# 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 SDL X11/SVGALIB support.
# (sdl-config --static-libs didn't work correct.)
VIDEO = $(SDL)
VIDEOLIB = $(SDLLIB) -lXext -lX11 -lXxf86dga -lXxf86vm -lvga -lvgagl -ldl -lesd -lm -lslang -lgpm
# 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
# Compression support
#------------------------------------------------------------------------------
# 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
XLDFLAGS = -L/usr/X11R6/lib -L/usr/local/lib
XIFLAGS = -I/usr/X11R6/include -I/usr/local/include
#------------------------------------------------------------------------------
#####################################################################
# Don't change anything below here unless you know what you're doing!
# May be required on some distributions for libpng and libz!
# extra linker flags and include directory
# -L/usr/lib
VERSION= '-DVERSION="1.17pre1-build14"'
PROFILE=
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
#------------------------------------------------------------------------------
# Uncomment next to profile
PROFILE= -pg
# Uncomment next to profile with basic blocks
#PROFILE= -pg -a
# Compile Version
VERSION= '-DVERSION="1.17pre1-build15"'
############################################################################
# below this, nothing should be changed!
# Libraries needed to build tools
TOOLLIBS=$(XLDFLAGS) -lpng -lz -lm $(THREADLIB)
# Libraries needed to build freecraft
CLONELIBS=$(XLDFLAGS) -lpng -lz -lm \
$(THREADLIB) $(CCLLIB) $(VIDEOLIB) $(ZLIBS)
$(THREADLIB) $(CCLLIB) $(VIDEOLIB) $(ZLIBS) -lefence
DISTLIST=$(TOPDIR)/distlist
TAGS=$(TOPDIR)/src/tags
# Linux
EXE=
# LINUX
OUTFILE=$(TOPDIR)/freecraft
ARCH=linux
OE=o
EXE=
# WIN32
#OUTFILE=$(TOPDIR)/freecraft$(EXE)
#ARCH=win32
#OE=o
#EXE=.exe
## architecture-dependant objects
#ARCHOBJS=stdmman.$(OE) svgalib.$(OE) unix_lib.$(OE) bitm_lnx.$(OE)
IFLAGS= -I$(TOPDIR)/src/include $(XIFLAGS)
DFLAGS= $(THREAD) $(CCL) $(VERSION) \
$(VIDEO) $(ZDEFS) $(DSOUND) \
$(DEBUG)
CFLAGS=-O2 -pipe -fomit-frame-pointer -fconserve-space -fexpensive-optimizations -ffast-math $(IFLAGS) $(DFLAGS) -DUNIT_ON_MAP -DNEW_AI
CFLAGS=-g -pipe -fconserve-space $(IFLAGS) $(DFLAGS) -DUNIT_ON_MAP -DNEW_AI
CTAGSFLAGS=-i defptvS -a -f
# Locks versions with a symbolic name
## include flags
IFLAGS= -I$(TOPDIR)/src/include $(XIFLAGS)
## define flags
#DEBUG= -DDEBUG -DREFS_DEBUG # -DFLAG_DEBUG
##
## 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_MAPDRAW: Stephans new map draw code (broken in this release)
## 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.
## NEW_NETMENUS: Include new network menues.
## USE_LIBMODPLUG: Use modplug support.
## This aren't working:
## USE_FFMPEG Use ffmpeg video player support.
## USE_FLAC: Use flac support.
## USE_OGG: Use ogg support.
## NEW_FOW: New fog of war code, should work correct
## NEW_SHIPS: New correct ship movement.
## NEW_REGIONS: Support for new regions code
DFLAGS= $(THREAD) $(CCL) $(VERSION) $(VIDEO) $(ZDEFS) $(DSOUND) $(DEBUG) \
-DHAVE_EXPANSION -DUNIT_ON_MAP -DNEW_AI -DNEW_NETMENUS -DBPP8_IRGB -DNEW_REGIONS -D_NEW_FOW -D_NEW_MAPDRAW=1 -D_NEW_SHIPS -DUSE_HP_FOR_XP
## 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
# GCC 3.0
CFLAGS=-g -O3 $(PROFILE) -pipe -Wcast-align -W -Wredundant-decls -Wno-sign-compare -Wall -Wno-comment $(IFLAGS) $(DFLAGS) -Werror
#CC=gcc-3.0
#CCLD=g++-3.0
CC=cc
CCLD=c++
#CC=gcc272
#CCLD=g++272
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)
%.o: %.c
$(CC) -c $(CFLAGS) $< -o $@
@ar cru $(TOPDIR)/src/libclone.a $@
# Source code documentation
%.o: %.cpp
$(CC) -c $(CFLAGS) $< -o $@
@ar cru $(TOPDIR)/src/libclone.a $@
#------------
# 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

View file

@ -153,7 +153,7 @@ CCLLIB = -lm
#PROFILE= -pg -a
# Compile Version
VERSION= '-DVERSION="1.17pre1-build14"'
VERSION= '-DVERSION="1.17pre1-build15"'
############################################################################
# below this, nothing should be changed!
@ -198,7 +198,11 @@ IFLAGS= -I$(TOPDIR)/src/include $(XIFLAGS)
## USE_SMART_TILECACHE: Faster tile drawing, slow with hardware video memory.
## USE_HP_FOR_XP Use hit-points for XP calculations.
## NEW_NETMENUS: Include new network menues.
## USE_LIBMODPLUG: Use modplug support.
## This aren't working:
## USE_FFMPEG Use ffmpeg video player support.
## USE_FLAC: Use flac support.
## USE_OGG: Use ogg support.
## NEW_FOW: New fog of war code, should work correct
## NEW_SHIPS: New correct ship movement.
## NEW_REGIONS: Support for new regions code