2 # Empire - A multi-player, client/server Internet based war game.
3 # Copyright (C) 1986-2000, Dave Pare, Jeff Bailey, Thomas Ruschak,
4 # Ken Stevens, Steve McClure
6 # This program is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 2 of the License, or
9 # (at your option) any later version.
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with this program; if not, write to the Free Software
18 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22 # See the "LEGAL", "LICENSE", "CREDITS" and "README" files for all the
23 # related information and legal notices. It is expected that any future
24 # projects/authors will amend these files as needed.
26 # Makefile - Wolfpack, 1996-2000
27 # Do a generic build just by typing in "make <arch>"
29 # Note that the NT builds were done using MSVC 5.0 and using "nmake nt"
30 # So, to build anything on NT, just put an "nt" in front (for example,
31 # "ntclean", "ntinstall", etc.
37 GENMASTER = $(TOBUILD) GLOBALCFLAGS="$(GLOBALCFLAGS)" GLOBALLFLAGS="$(GLOBALLFLAGS)"
38 CLIENTLIBS = -ltermcap
42 # Specific targets - make a new one for each new architecture or
47 @echo 'You must type "make <arch>" to build for a specific system.'
48 @echo 'Currently buildable architectures are:'
51 @echo ' alpha-pthreads'
60 @echo ' linux-pthreads'
64 @echo ' mipsultrix.gcc'
79 @echo 'building a $(WORLDX) by $(WORLDY) server...'
80 (cd src/doconfig; $(MAKE) $(ALPHAMASTER))
81 ($(MAKE) genlibs $(ALPHAMASTER))
82 (cd src/lib/lwp; $(MAKE) $(ALPHAMASTER))
83 ($(MAKE) binaries $(ALPHAMASTER))
87 @echo 'building a $(WORLDX) by $(WORLDY) server...'
88 (cd src/doconfig; $(MAKE) $(ALPHAPOSMASTER))
89 ($(MAKE) genlibs $(ALPHAPOSMASTER))
90 (cd src/lib/lwp; $(MAKE) $(ALPHAPOSMASTER))
91 ($(MAKE) binaries $(ALPHAPOSMASTER))
95 @echo 'building a $(WORLDX) by $(WORLDY) server...'
96 (cd src/doconfig; $(MAKE) $(APOLLOMASTER))
97 ($(MAKE) genlibs $(APOLLOMASTER))
98 (cd src/lib/lwp; $(MAKE) $(APOLLOMASTER))
99 ($(MAKE) binaries $(APOLLOMASTER))
103 @echo 'building a $(WORLDX) by $(WORLDY) server...'
104 (cd src/doconfig; $(MAKE) $(FREEBSDMASTER))
105 ($(MAKE) genlibs $(FREEBSDMASTER))
106 (cd src/lib/lwp; $(MAKE) $(FREEBSDMASTER))
107 ($(MAKE) binaries $(FREEBSDMASTER))
111 @echo 'building a $(WORLDX) by $(WORLDY) server...'
112 (cd src/doconfig; $(MAKE) $(HPMASTER))
113 ($(MAKE) genlibs $(HPMASTER))
114 (cd src/lib/lwp; $(MAKE) $(HPMASTER))
115 ($(MAKE) binaries $(HPMASTER))
119 @echo 'building a $(WORLDX) by $(WORLDY) server...'
120 (cd src/doconfig; $(MAKE) $(HPUXMASTER))
121 ($(MAKE) genlibs $(HPUXMASTER))
122 (cd src/lib/lwp; $(MAKE) $(HPUXMASTER))
123 ($(MAKE) binaries $(HPUXMASTER) CLIENTLIBS="")
127 @echo 'building a $(WORLDX) by $(WORLDY) server...'
128 (cd src/doconfig; $(MAKE) $(NEXTMASTER))
129 ($(MAKE) genlibs $(NEXTMASTER))
130 (cd src/lib/lwp; $(MAKE) $(NEXTMASTER))
131 ($(MAKE) binaries $(NEXTMASTER))
135 @echo 'building a $(WORLDX) by $(WORLDY) server...'
136 (cd src/doconfig; $(MAKE) $(OSXMASTER))
137 ($(MAKE) genlibs $(OSXMASTER))
138 ($(MAKE) binaries TOBUILD=osx $(OSXMASTER) CLIENTLIBS="")
142 @echo 'building a $(WORLDX) by $(WORLDY) server...'
143 (cd src/doconfig; $(MAKE) $(IRIXMASTER))
144 ($(MAKE) genlibs $(IRIXMASTER))
145 (cd src/lib/lwp; $(MAKE) $(IRIXMASTER))
146 ($(MAKE) binaries $(IRIXMASTER))
150 @echo 'building a $(WORLDX) by $(WORLDY) server...'
151 (cd src/doconfig; $(MAKE) $(IRIX5MASTER))
152 ($(MAKE) genlibs $(IRIX5MASTER))
153 (cd src/lib/lwp; $(MAKE) $(IRIX5MASTER))
154 ($(MAKE) binaries $(IRIX5MASTER))
158 @echo 'building a $(WORLDX) by $(WORLDY) server...'
159 (cd src/doconfig; $(MAKE) $(ISIMASTER))
160 ($(MAKE) genlibs $(ISIMASTER))
161 (cd src/lib/lwp; $(MAKE) $(ISIMASTER))
162 ($(MAKE) binaries $(ISIMASTER))
166 @echo 'building a $(WORLDX) by $(WORLDY) server...'
167 @echo 'This build is only tested on x86 machines. Try using'
168 @echo 'linux-pthreads for other architectures.'
169 (cd src/doconfig; $(MAKE) $(LINUXMASTER))
170 ($(MAKE) genlibs $(LINUXMASTER))
171 (cd src/lib/lwp; $(MAKE) $(LINUXMASTER))
172 ($(MAKE) binaries $(LINUXMASTER))
176 @echo 'building a $(WORLDX) by $(WORLDY) server...'
177 (cd src/doconfig; $(MAKE) $(LINUXPTHMASTER))
178 ($(MAKE) genlibs $(LINUXPTHMASTER))
179 (cd src/lib/lwp; $(MAKE) $(LINUXPTHMASTER))
180 ($(MAKE) binaries $(LINUXPTHMASTER))
184 @echo 'building a $(WORLDX) by $(WORLDY) server...'
185 (cd src/doconfig; $(MAKE) $(MIPSBSDMASTER))
186 ($(MAKE) genlibs $(MIPSBSDMASTER))
187 (cd src/lib/lwp; $(MAKE) mipsultrix $(MIPSBSDMASTER))
188 ($(MAKE) binaries $(MIPSBSDMASTER))
192 @echo 'building a $(WORLDX) by $(WORLDY) server...'
193 (cd src/doconfig; $(MAKE) $(MACH25MASTER))
194 ($(MAKE) genlibs $(MACH25MASTER))
195 (cd src/lib/lwp; $(MAKE) mipsultrix $(MACH25MASTER))
196 ($(MAKE) binaries $(MACH25MASTER))
200 @echo 'building a $(WORLDX) by $(WORLDY) server...'
201 (cd src/doconfig; $(MAKE) $(MIPSULTMASTER))
202 ($(MAKE) genlibs $(MIPSULTMASTER))
203 (cd src/lib/lwp; $(MAKE) mipsultrix $(MIPSULTMASTER))
204 ($(MAKE) binaries $(MIPSULTMASTER))
208 @echo 'building a $(WORLDX) by $(WORLDY) server...'
209 (cd src/doconfig; $(MAKE) $(MIPSULTGMASTER))
210 ($(MAKE) genlibs $(MIPSULTGMASTER))
211 (cd src/lib/lwp; $(MAKE) mipsultrix $(MIPSULTGMASTER))
212 ($(MAKE) binaries $(MIPSULTGMASTER))
216 @echo 'building a $(WORLDX) by $(WORLDY) server...'
218 $(MAKE) nt $(NTMASTER)
220 $(MAKE) ntgenlibs TOBUILD=nt $(NTMASTER)
222 $(MAKE) nt $(NTMASTER)
224 $(MAKE) ntbinaries TOBUILD=nt $(NTMASTER)
228 @echo 'building a $(WORLDX) by $(WORLDY) server...'
229 (cd src/doconfig; $(MAKE) $(VAXULTMASTER))
230 ($(MAKE) genlibs $(VAXULTMASTER))
231 (cd src/lib/lwp; $(MAKE) $(VAXULTMASTER))
232 ($(MAKE) binaries $(VAXULTMASTER))
236 @echo 'building a $(WORLDX) by $(WORLDY) server...'
237 (cd src/doconfig; $(MAKE) $(AIXMASTER))
238 ($(MAKE) genlibs $(AIXMASTER))
239 (cd src/lib/lwp; $(MAKE) aix $(AIXMASTER))
240 ($(MAKE) binaries $(AIXMASTER))
244 @echo 'building a $(WORLDX) by $(WORLDY) server...'
245 (cd src/doconfig; $(MAKE) $(RTPCMASTER))
246 ($(MAKE) genlibs $(RTPCMASTER))
247 (cd src/lib/lwp; $(MAKE) aix $(RTPCMASTER))
248 ($(MAKE) binaries $(RTPCMASTER))
252 @echo 'building a $(WORLDX) by $(WORLDY) server...'
253 (cd src/doconfig; $(MAKE) $(SEQMASTER))
254 ($(MAKE) genlibs $(SEQMASTER))
255 (cd src/lib/lwp; $(MAKE) $(SEQMASTER))
256 ($(MAKE) binaries $(SEQMASTER))
260 @echo 'building a $(WORLDX) by $(WORLDY) server...'
261 (cd src/doconfig; $(MAKE) $(SEQFPAMASTER))
262 ($(MAKE) genlibs $(SEQFPAMASTER))
263 (cd src/lib/lwp; $(MAKE) $(SEQFPAMASTER))
264 ($(MAKE) binaries $(SEQFPAMASTER))
268 @echo 'building a $(WORLDX) by $(WORLDY) server...'
269 (cd src/doconfig; $(MAKE) $(SOLMASTER))
270 ($(MAKE) genlibs $(SOLMASTER))
271 (cd src/lib/lwp; $(MAKE) $(SOLMASTER))
272 ($(MAKE) binaries $(SOLMASTER))
276 @echo 'building a $(WORLDX) by $(WORLDY) server...'
277 (cd src/doconfig; $(MAKE) $(SUN3MASTER))
278 ($(MAKE) genlibs $(SUN3MASTER))
279 (cd src/lib/lwp; $(MAKE) $(SUN3MASTER))
280 ($(MAKE) binaries $(SUN3MASTER))
284 @echo 'building a $(WORLDX) by $(WORLDY) server...'
285 (cd src/doconfig; $(MAKE) $(SUN4MASTER))
286 ($(MAKE) genlibs $(SUN4MASTER))
287 (cd src/lib/lwp; $(MAKE) $(SUN4MASTER))
288 ($(MAKE) binaries $(SUN4MASTER))
292 @echo 'building a $(WORLDX) by $(WORLDY) server...'
293 (cd src/doconfig; $(MAKE) $(SUN4OPTMASTER))
294 ($(MAKE) genlibs $(SUN4OPTMASTER))
295 (cd src/lib/lwp; $(MAKE) $(SUN4OPTMASTER))
296 ($(MAKE) binaries $(SUN4OPTMASTER))
300 @echo 'building a $(WORLDX) by $(WORLDY) server...'
301 (cd src/doconfig; $(MAKE) $(SUN4DBGMASTER))
302 ($(MAKE) genlibs $(SUN4DBGMASTER))
303 (cd src/lib/lwp; $(MAKE) $(SUN4DBGMASTER))
304 ($(MAKE) binaries $(SUN4DBGMASTER))
308 # Generic stuff that is called from the architecture specific stuff.
312 @echo 'building the binaries'
313 (cd src/client; $(MAKE) $(GENMASTER) CLIENTLIBS=$(CLIENTLIBS))
314 (cd src/server; $(MAKE) $(GENMASTER))
315 (cd src/util; $(MAKE) $(GENMASTER))
318 @echo 'building the binaries'
320 $(MAKE) $(GENMASTER) CLIENTLIBS=$(CLIENTLIBS)
330 @echo 'building generic libraries'
332 (cd src/lib/as; $(MAKE) $(GENMASTER))
333 (cd src/lib/commands; $(MAKE) $(GENMASTER))
334 (cd src/lib/common; $(MAKE) $(GENMASTER))
335 (cd src/lib/empthread; $(MAKE) $(GENMASTER))
336 (cd src/lib/gen; $(MAKE) $(GENMASTER))
337 (cd src/lib/global; $(MAKE) $(GENMASTER))
338 (cd src/lib/player; $(MAKE) $(GENMASTER))
339 (cd src/lib/subs; $(MAKE) $(GENMASTER))
340 (cd src/lib/update; $(MAKE) $(GENMASTER))
341 @echo 'done building generic libraries'
344 @echo 'building generic libraries'
373 @echo 'done building generic libraries'
376 (cd src/lib/as; $(MAKE) clean)
377 (cd src/lib/commands; $(MAKE) clean)
378 (cd src/lib/common; $(MAKE) clean)
379 (cd src/lib/gen; $(MAKE) clean)
380 (cd src/lib/global; $(MAKE) clean)
381 (cd src/lib/player; $(MAKE) clean)
382 (cd src/lib/subs; $(MAKE) clean)
383 (cd src/lib/update; $(MAKE) clean)
384 (cd src/lib/lwp; $(MAKE) clean)
385 (cd src/lib/empthread; $(MAKE) clean)
386 (cd src/client; $(MAKE) clean)
387 (cd src/server; $(MAKE) clean)
388 (cd src/util; $(MAKE) clean)
389 (cd src/doconfig; $(MAKE) clean)
442 -(rm -rf $(EMPDIR)/data/*)
443 -(rm -rf $(EMPDIR)/bin/*)
444 rm -rf lib info.nr info.html
445 rm -f include/gamesdef.h src/client/ipglob.c src/make.src
460 cd $(EMPDIR)\data\tel
464 (cd src/lib/as; $(MAKE) depend)
465 (cd src/lib/commands; $(MAKE) depend)
466 (cd src/lib/common; $(MAKE) depend)
467 (cd src/lib/gen; $(MAKE) depend)
468 (cd src/lib/global; $(MAKE) depend)
469 (cd src/lib/player; $(MAKE) depend)
470 (cd src/lib/subs; $(MAKE) depend)
471 (cd src/lib/update; $(MAKE) depend)
472 (cd src/lib/lwp; $(MAKE) depend)
473 (cd src/lib/empthread; $(MAKE) depend)
474 (cd src/client; $(MAKE) depend)
475 (cd src/server; $(MAKE) depend)
476 (cd src/util; $(MAKE) depend)
477 (cd src/doconfig; $(MAKE) depend)
479 # The last three lines here ensure that we don't overwrite an existing
480 # econfig file, by moving it first then moving it back. The '-''s
481 # ignore any errors (like if the files don't exist.)
482 # So, after an install, you will have an "econfig" file in the
483 # data directory if you didn't have one before.
486 (cd src/client; $(MAKE) install)
487 (cd src/server; $(MAKE) install)
488 (cd src/util; $(MAKE) install)
489 -mkdir $(EMPDIR)/data
490 -(mv $(EMPDIR)/data/econfig $(EMPDIR)/data/econfig.bak)
491 ($(EMPDIR)/bin/pconfig > $(EMPDIR)/data/econfig)
492 -(mv $(EMPDIR)/data/econfig.bak $(EMPDIR)/data/econfig)
504 -mkdir $(NTINSTDIR)\data
506 ($(NTINSTDIR)\bin\pconfig.exe > $(NTINSTDIR)\data\econfig.new)
507 -(move econfig.new econfig)