2 # Empire - A multi-player, client/server Internet based war game.
3 # Copyright (C) 1986-2005, 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'
61 @echo ' linux-pthreads'
76 @echo 'building a $(WORLDX) by $(WORLDY) server...'
77 (cd src/doconfig; $(MAKE) $(ALPHAMASTER))
78 ($(MAKE) genlibs $(ALPHAMASTER))
79 (cd src/lib/lwp; $(MAKE) $(ALPHAMASTER))
80 ($(MAKE) binaries $(ALPHAMASTER))
84 @echo 'building a $(WORLDX) by $(WORLDY) server...'
85 (cd src/doconfig; $(MAKE) $(ALPHAPOSMASTER))
86 ($(MAKE) genlibs $(ALPHAPOSMASTER))
87 (cd src/lib/lwp; $(MAKE) $(ALPHAPOSMASTER))
88 ($(MAKE) binaries $(ALPHAPOSMASTER))
92 @echo 'building a $(WORLDX) by $(WORLDY) server...'
93 (cd src/doconfig; $(MAKE) $(APOLLOMASTER))
94 ($(MAKE) genlibs $(APOLLOMASTER))
95 (cd src/lib/lwp; $(MAKE) $(APOLLOMASTER))
96 ($(MAKE) binaries $(APOLLOMASTER))
100 @echo 'building a $(WORLDX) by $(WORLDY) server...'
101 (cd src/doconfig; $(MAKE) $(FREEBSDMASTER))
102 ($(MAKE) genlibs $(FREEBSDMASTER))
103 (cd src/lib/lwp; $(MAKE) $(FREEBSDMASTER))
104 ($(MAKE) binaries $(FREEBSDMASTER))
108 @echo 'building a $(WORLDX) by $(WORLDY) server...'
109 (cd src/doconfig; $(MAKE) $(HPMASTER))
110 ($(MAKE) genlibs $(HPMASTER))
111 (cd src/lib/lwp; $(MAKE) $(HPMASTER))
112 ($(MAKE) binaries $(HPMASTER))
116 @echo 'building a $(WORLDX) by $(WORLDY) server...'
117 (cd src/doconfig; $(MAKE) $(HPUXMASTER))
118 ($(MAKE) genlibs $(HPUXMASTER))
119 (cd src/lib/lwp; $(MAKE) $(HPUXMASTER))
120 ($(MAKE) binaries $(HPUXMASTER) CLIENTLIBS="")
124 @echo 'building a $(WORLDX) by $(WORLDY) server...'
125 (cd src/doconfig; $(MAKE) $(NEXTMASTER))
126 ($(MAKE) genlibs $(NEXTMASTER))
127 (cd src/lib/lwp; $(MAKE) $(NEXTMASTER))
128 ($(MAKE) binaries $(NEXTMASTER))
132 @echo 'building a $(WORLDX) by $(WORLDY) server...'
133 (cd src/doconfig; $(MAKE) $(OSXMASTER))
134 ($(MAKE) genlibs $(OSXMASTER))
135 ($(MAKE) binaries TOBUILD=osx $(OSXMASTER) CLIENTLIBS="")
139 @echo 'building a $(WORLDX) by $(WORLDY) server...'
140 (cd src/doconfig; $(MAKE) $(IRIXMASTER))
141 ($(MAKE) genlibs $(IRIXMASTER))
142 (cd src/lib/lwp; $(MAKE) $(IRIXMASTER))
143 ($(MAKE) binaries $(IRIXMASTER))
147 @echo 'building a $(WORLDX) by $(WORLDY) server...'
148 (cd src/doconfig; $(MAKE) $(IRIX5MASTER))
149 ($(MAKE) genlibs $(IRIX5MASTER))
150 (cd src/lib/lwp; $(MAKE) $(IRIX5MASTER))
151 ($(MAKE) binaries $(IRIX5MASTER))
155 @echo 'building a $(WORLDX) by $(WORLDY) server...'
156 (cd src/doconfig; $(MAKE) $(ISIMASTER))
157 ($(MAKE) genlibs $(ISIMASTER))
158 (cd src/lib/lwp; $(MAKE) $(ISIMASTER))
159 ($(MAKE) binaries $(ISIMASTER))
163 @echo 'building a $(WORLDX) by $(WORLDY) server...'
164 @echo 'This build is only tested on x86 machines. Try using'
165 @echo 'linux-pthreads for other architectures.'
166 (cd src/doconfig; $(MAKE) $(LINUXMASTER))
167 ($(MAKE) genlibs $(LINUXMASTER))
168 (cd src/lib/lwp; $(MAKE) $(LINUXMASTER))
169 ($(MAKE) binaries $(LINUXMASTER))
173 @echo 'building a $(WORLDX) by $(WORLDY) server...'
174 (cd src/doconfig; $(MAKE) $(LINUXPTHMASTER))
175 ($(MAKE) genlibs $(LINUXPTHMASTER))
176 (cd src/lib/lwp; $(MAKE) $(LINUXPTHMASTER))
177 ($(MAKE) binaries $(LINUXPTHMASTER))
181 @echo 'building a $(WORLDX) by $(WORLDY) server...'
182 (cd src/doconfig; $(MAKE) $(MACH25MASTER))
183 ($(MAKE) genlibs $(MACH25MASTER))
184 (cd src/lib/lwp; $(MAKE) mipsultrix $(MACH25MASTER))
185 ($(MAKE) binaries $(MACH25MASTER))
189 @echo 'building a $(WORLDX) by $(WORLDY) server...'
191 $(MAKE) nt $(NTMASTER)
193 $(MAKE) ntgenlibs TOBUILD=nt $(NTMASTER)
195 $(MAKE) nt $(NTMASTER)
197 $(MAKE) ntbinaries TOBUILD=nt $(NTMASTER)
201 @echo 'building a $(WORLDX) by $(WORLDY) server...'
202 (cd src/doconfig; $(MAKE) $(INTERIXMASTER))
203 ($(MAKE) genlibs $(INTERIXMASTER))
204 (cd src/lib/lwp; $(MAKE) $(INTERIXMASTER))
205 ($(MAKE) binaries $(INTERIXMASTER))
209 @echo 'building a $(WORLDX) by $(WORLDY) server...'
210 (cd src/doconfig; $(MAKE) $(AIXMASTER))
211 ($(MAKE) genlibs $(AIXMASTER))
212 (cd src/lib/lwp; $(MAKE) aix $(AIXMASTER))
213 ($(MAKE) binaries $(AIXMASTER))
217 @echo 'building a $(WORLDX) by $(WORLDY) server...'
218 (cd src/doconfig; $(MAKE) $(RTPCMASTER))
219 ($(MAKE) genlibs $(RTPCMASTER))
220 (cd src/lib/lwp; $(MAKE) aix $(RTPCMASTER))
221 ($(MAKE) binaries $(RTPCMASTER))
225 @echo 'building a $(WORLDX) by $(WORLDY) server...'
226 (cd src/doconfig; $(MAKE) $(SEQMASTER))
227 ($(MAKE) genlibs $(SEQMASTER))
228 (cd src/lib/lwp; $(MAKE) $(SEQMASTER))
229 ($(MAKE) binaries $(SEQMASTER))
233 @echo 'building a $(WORLDX) by $(WORLDY) server...'
234 (cd src/doconfig; $(MAKE) $(SEQFPAMASTER))
235 ($(MAKE) genlibs $(SEQFPAMASTER))
236 (cd src/lib/lwp; $(MAKE) $(SEQFPAMASTER))
237 ($(MAKE) binaries $(SEQFPAMASTER))
241 @echo 'building a $(WORLDX) by $(WORLDY) server...'
242 (cd src/doconfig; $(MAKE) $(SOLMASTER))
243 ($(MAKE) genlibs $(SOLMASTER))
244 (cd src/lib/lwp; $(MAKE) $(SOLMASTER))
245 ($(MAKE) binaries $(SOLMASTER))
249 @echo 'building a $(WORLDX) by $(WORLDY) server...'
250 (cd src/doconfig; $(MAKE) $(SUN3MASTER))
251 ($(MAKE) genlibs $(SUN3MASTER))
252 (cd src/lib/lwp; $(MAKE) $(SUN3MASTER))
253 ($(MAKE) binaries $(SUN3MASTER))
257 @echo 'building a $(WORLDX) by $(WORLDY) server...'
258 (cd src/doconfig; $(MAKE) $(SUN4MASTER))
259 ($(MAKE) genlibs $(SUN4MASTER))
260 (cd src/lib/lwp; $(MAKE) $(SUN4MASTER))
261 ($(MAKE) binaries $(SUN4MASTER))
265 @echo 'building a $(WORLDX) by $(WORLDY) server...'
266 (cd src/doconfig; $(MAKE) $(SUN4OPTMASTER))
267 ($(MAKE) genlibs $(SUN4OPTMASTER))
268 (cd src/lib/lwp; $(MAKE) $(SUN4OPTMASTER))
269 ($(MAKE) binaries $(SUN4OPTMASTER))
273 @echo 'building a $(WORLDX) by $(WORLDY) server...'
274 (cd src/doconfig; $(MAKE) $(SUN4DBGMASTER))
275 ($(MAKE) genlibs $(SUN4DBGMASTER))
276 (cd src/lib/lwp; $(MAKE) $(SUN4DBGMASTER))
277 ($(MAKE) binaries $(SUN4DBGMASTER))
281 # Generic stuff that is called from the architecture specific stuff.
285 @echo 'building the binaries'
286 (cd src/client; $(MAKE) $(GENMASTER) CLIENTLIBS=$(CLIENTLIBS))
287 (cd src/server; $(MAKE) $(GENMASTER))
288 (cd src/util; $(MAKE) $(GENMASTER))
291 @echo 'building the binaries'
293 $(MAKE) $(GENMASTER) CLIENTLIBS=$(CLIENTLIBS)
303 @echo 'building generic libraries'
305 (cd src/lib/as; $(MAKE) $(GENMASTER))
306 (cd src/lib/commands; $(MAKE) $(GENMASTER))
307 (cd src/lib/common; $(MAKE) $(GENMASTER))
308 (cd src/lib/empthread; $(MAKE) $(GENMASTER))
309 (cd src/lib/gen; $(MAKE) $(GENMASTER))
310 (cd src/lib/global; $(MAKE) $(GENMASTER))
311 (cd src/lib/player; $(MAKE) $(GENMASTER))
312 (cd src/lib/subs; $(MAKE) $(GENMASTER))
313 (cd src/lib/update; $(MAKE) $(GENMASTER))
314 @echo 'done building generic libraries'
317 @echo 'building generic libraries'
346 @echo 'done building generic libraries'
349 (cd src/lib/as; $(MAKE) clean)
350 (cd src/lib/commands; $(MAKE) clean)
351 (cd src/lib/common; $(MAKE) clean)
352 (cd src/lib/gen; $(MAKE) clean)
353 (cd src/lib/global; $(MAKE) clean)
354 (cd src/lib/player; $(MAKE) clean)
355 (cd src/lib/subs; $(MAKE) clean)
356 (cd src/lib/update; $(MAKE) clean)
357 (cd src/lib/lwp; $(MAKE) clean)
358 (cd src/lib/empthread; $(MAKE) clean)
359 (cd src/client; $(MAKE) clean)
360 (cd src/server; $(MAKE) clean)
361 (cd src/util; $(MAKE) clean)
362 (cd src/doconfig; $(MAKE) clean)
415 -(rm -rf $(EMPDIR)/data/*)
416 -(rm -rf $(EMPDIR)/bin/*)
417 rm -rf lib info.nr info.html
418 rm -f include/gamesdef.h src/client/ipglob.c src/make.src
433 cd $(EMPDIR)\data\tel
437 (cd src/lib/as; $(MAKE) depend)
438 (cd src/lib/commands; $(MAKE) depend)
439 (cd src/lib/common; $(MAKE) depend)
440 (cd src/lib/gen; $(MAKE) depend)
441 (cd src/lib/global; $(MAKE) depend)
442 (cd src/lib/player; $(MAKE) depend)
443 (cd src/lib/subs; $(MAKE) depend)
444 (cd src/lib/update; $(MAKE) depend)
445 (cd src/lib/lwp; $(MAKE) depend)
446 (cd src/lib/empthread; $(MAKE) depend)
447 (cd src/client; $(MAKE) depend)
448 (cd src/server; $(MAKE) depend)
449 (cd src/util; $(MAKE) depend)
450 (cd src/doconfig; $(MAKE) depend)
452 # The last three lines here ensure that we don't overwrite an existing
453 # econfig file, by moving it first then moving it back. The '-''s
454 # ignore any errors (like if the files don't exist.)
455 # So, after an install, you will have an "econfig" file in the
456 # data directory if you didn't have one before.
459 (cd src/client; $(MAKE) install)
460 (cd src/server; $(MAKE) install)
461 (cd src/util; $(MAKE) install)
462 -mkdir $(EMPDIR)/data
463 -(mv $(EMPDIR)/data/econfig $(EMPDIR)/data/econfig.bak)
464 ($(EMPDIR)/bin/pconfig > $(EMPDIR)/data/econfig)
465 -(mv $(EMPDIR)/data/econfig.bak $(EMPDIR)/data/econfig)
477 -mkdir $(NTINSTDIR)\data
479 ($(NTINSTDIR)\bin\pconfig.exe > $(NTINSTDIR)\data\econfig.new)
480 -(move econfig.new econfig)