New build process for the standalone client distribution.

This commit is contained in:
Markus Armbruster 2006-01-22 21:57:06 +00:00
parent a9d92eb84c
commit c4ffd0a576
4 changed files with 178 additions and 35 deletions

View file

@ -1,2 +1,6 @@
aclocal.m4
autom4te.cache
config.h.in
configure
empire empire
ipglob.c ipglob.c

95
src/client/Makefile.in Normal file
View file

@ -0,0 +1,95 @@
#
# Empire - A multi-player, client/server Internet based war game.
# Copyright (C) 1986-2006, Dave Pare, Jeff Bailey, Thomas Ruschak,
# Ken Stevens, Steve McClure
#
# This program 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.
#
# This program 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.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# ---
#
# See files README, COPYING and CREDITS in the root of the source
# tree for related information and legal notices. It is expected
# that future projects/authors will amend these files as needed.
#
# ---
#
# @configure_input@
# Makefile.in: Makefile template for configure
#
# Known contributors to this file:
# Markus Armbruster, 2005-2006
#
CC = @CC@
CFLAGS = @CFLAGS@
CPPFLAGS = @CPPFLAGS@ @DEFS@ -I.
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
E = @EXEEXT@
O = @OBJEXT@
INSTALL = @INSTALL@
INSTALL_DATA := @INSTALL_DATA@
INSTALL_PROGRAM := @INSTALL_PROGRAM@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
mandir = @mandir@
srcdir = @srcdir@
VPATH = @srcdir@
prog = empire$E
obj = expect.$O host.$O ioqueue.$O ipglob.$O login.$O main.$O queue.$O \
saveargv.$O servcmd.$O serverio.$O tags.$O termio.$O termlib.$O
all: $(prog)
$(prog): $(obj)
$(CC) $(LDFLAGS) -o empire $(obj) $(LIBS)
clean:
rm -f $(obj) $(prog)
distclean: clean
rm -rf autom4te.cache config.status config.log Makefile
install: all installdirs
$(INSTALL_PROGRAM) empire $(bindir)/empire
$(INSTALL_DATA) $(srcdir)/empire.6 $(mandir)/man6/empire.6
installdirs:
$(INSTALL) -d $(bindir) $(mandir)/man6
uninstall:
rm $(bindir)/empire
rm $(mandir)/man6/empire.6
# FIXME generate from .d
expect.$O: misc.h
handle.$O: misc.h
host.$O: misc.h
ioqueue.$O: misc.h queue.h ioqueue.h
login.$O: misc.h proto.h
main.$O: misc.h proto.h queue.h ioqueue.h tags.h
queue.$O: misc.h queue.h
saveargv.$O: misc.h
servcmd.$O: misc.h proto.h queue.h ioqueue.h tags.h
serverio.$O: misc.h queue.h ioqueue.h
tags.$O: misc.h tags.h
termio.$O: misc.h tags.h
termlib.$O: misc.h
$(obj): config.h

View file

@ -1,45 +1,35 @@
This is the basic Empire Client. This is the basic Empire Client.
See files README, COPYING and CREDITS in the root of the source Empire is a multi-player, client/server Internet based war game.
tree for related information and legal notices. It is expected Copyright (C) 1986-2006, Dave Pare, Jeff Bailey, Thomas Ruschak, Ken
that future projects/authors will amend these files as needed. Stevens, Steve McClure
For questions and comments, please contact "wolfpack@wolfpackempire.com". This program 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 (in file
`COPYING'), or (at your option) any later version.
Note that this client is the same client that is shipped with the The client is distributed as part of the complete source tarball and
server. The only difference is the Makefile is copied from the as a standalone client tarball. The instructions below apply to the
"Makefile.standalone" for the standalone distributions, and client tarball. If you got the complete source, as tarball or from
from the "Makefile.server" for the server distributions. CVS, refer to ../../README instead.
If you are building this with the server, it is built automatically. See file `INSTALL' for detailed compilation and installation
instructions. Quick guide for the impatient: run configure; make;
make install. The last step is optional; everything runs fine right
from the build tree.
If you are building this standalone, continue reading to see how The client connects to the Changeling blitz by default. Use
to build the client. environment variables EMPIREHOST and EMPIREPORT to connect to another
game (see manual page for details).
To make the program, edit ipglob.c and change empirehost[] to Please report bugs to <wolfpack@wolfpackempire.com> or via SourceForge
point at the machine where the game is running (although this is http://sourceforge.net/projects/empserver (registration required).
not necessary.)
Also, if you are going to use "gcc", you need to change the Makefile For more information or help, try rec.games.empire on Usenet, or send
line "CC=cc" to "CC=gcc". e-mail to <wolfpack@wolfpackempire.com> and we'll try to answer if we
can. Also check out our web site at "http://www.wolfpackempire.com".
To build for a Linux macihne, type "make linux". Have fun!
To build for a HP/UX machine, type "make hpux". Wolfpack!
To build for a DG/UX machine, type "make dgux".
To build for a Solaris machine, type "make solaris".
To build for a Windows machine, type "nmake nt".
(Note that the Windows port was built with MSVC 6.0)
For other machines, type "make".
You can change hosts on-the-fly by using environment variables -- see
the man page for details. But, for a short version, you can set the
EMPIREHOST and EMPIREPORT environment variables to the host and
port of the server you wish to connect to, and the client will
automatically use them instead of the built in ones.
Also note that pipes do not work on the Windows versions.

54
src/client/configure.ac Normal file
View file

@ -0,0 +1,54 @@
# -*- Autoconf -*-
# Copyright (C) 2005 Markus Armbruster
# Process this file with autoconf to produce a configure script.
# Autoconf makes checking for and programming around assorted ancient
# crap relatively painless. But why bother? Just rely on C89 and
# POSIX, and when something breaks on some oddball machine, see
# whether it's worth fixing.
AC_PREREQ(2.59)
AC_INIT([Empire Client], [4.3.0], [wolfpack@wolfpackempire.com])
AC_CONFIG_SRCDIR([empire.6])
AC_CONFIG_HEADERS([config.h])
### Checks for programs.
AC_PROG_CC
AC_PROG_INSTALL
### Checks for libraries.
LIB_SOCKET_NSL
AC_SEARCH_LIBS([setupterm], [termlib termcap])
# TODO merge this into LIB_SOCKET_NSL?
case "$host_os" in
*mingw32)
LIBS="-lws2_32 $LIBS" ;;
esac
### Checks for header files.
### Checks for typedefs, structures, and compiler characteristics.
### Checks for library functions.
AC_CHECK_FUNCS(getaddrinfo)
### Site configuration
AC_ARG_VAR([EMPIREHOST], [Default host [blitz.wolfpackempire.com]])
test "$EMPIREHOST" || EMPIREHOST=blitz.wolfpackempire.com
AC_ARG_VAR([EMPIREPORT], [Default port [6789]])
test "$EMPIREPORT" || EMPIREPORT=6789
### Output
AC_CONFIG_FILES([Makefile ipglob.c])
AC_OUTPUT