2 # Empire - A multi-player, client/server Internet based war game.
3 # Copyright (C) 1986-2004, 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'
65 @echo ' mipsultrix.gcc'
80 @echo 'building a $(WORLDX) by $(WORLDY) server...'
81 (cd src/doconfig; $(MAKE) $(ALPHAMASTER))
82 ($(MAKE) genlibs $(ALPHAMASTER))
83 (cd src/lib/lwp; $(MAKE) $(ALPHAMASTER))
84 ($(MAKE) binaries $(ALPHAMASTER))
88 @echo 'building a $(WORLDX) by $(WORLDY) server...'
89 (cd src/doconfig; $(MAKE) $(ALPHAPOSMASTER))
90 ($(MAKE) genlibs $(ALPHAPOSMASTER))
91 (cd src/lib/lwp; $(MAKE) $(ALPHAPOSMASTER))
92 ($(MAKE) binaries $(ALPHAPOSMASTER))
96 @echo 'building a $(WORLDX) by $(WORLDY) server...'
97 (cd src/doconfig; $(MAKE) $(APOLLOMASTER))
98 ($(MAKE) genlibs $(APOLLOMASTER))
99 (cd src/lib/lwp; $(MAKE) $(APOLLOMASTER))
100 ($(MAKE) binaries $(APOLLOMASTER))
104 @echo 'building a $(WORLDX) by $(WORLDY) server...'
105 (cd src/doconfig; $(MAKE) $(FREEBSDMASTER))
106 ($(MAKE) genlibs $(FREEBSDMASTER))
107 (cd src/lib/lwp; $(MAKE) $(FREEBSDMASTER))
108 ($(MAKE) binaries $(FREEBSDMASTER))
112 @echo 'building a $(WORLDX) by $(WORLDY) server...'
113 (cd src/doconfig; $(MAKE) $(HPMASTER))
114 ($(MAKE) genlibs $(HPMASTER))
115 (cd src/lib/lwp; $(MAKE) $(HPMASTER))
116 ($(MAKE) binaries $(HPMASTER))
120 @echo 'building a $(WORLDX) by $(WORLDY) server...'
121 (cd src/doconfig; $(MAKE) $(HPUXMASTER))
122 ($(MAKE) genlibs $(HPUXMASTER))
123 (cd src/lib/lwp; $(MAKE) $(HPUXMASTER))
124 ($(MAKE) binaries $(HPUXMASTER) CLIENTLIBS="")
128 @echo 'building a $(WORLDX) by $(WORLDY) server...'
129 (cd src/doconfig; $(MAKE) $(NEXTMASTER))
130 ($(MAKE) genlibs $(NEXTMASTER))
131 (cd src/lib/lwp; $(MAKE) $(NEXTMASTER))
132 ($(MAKE) binaries $(NEXTMASTER))
136 @echo 'building a $(WORLDX) by $(WORLDY) server...'
137 (cd src/doconfig; $(MAKE) $(OSXMASTER))
138 ($(MAKE) genlibs $(OSXMASTER))
139 ($(MAKE) binaries TOBUILD=osx $(OSXMASTER) CLIENTLIBS="")
143 @echo 'building a $(WORLDX) by $(WORLDY) server...'
144 (cd src/doconfig; $(MAKE) $(IRIXMASTER))
145 ($(MAKE) genlibs $(IRIXMASTER))
146 (cd src/lib/lwp; $(MAKE) $(IRIXMASTER))
147 ($(MAKE) binaries $(IRIXMASTER))
151 @echo 'building a $(WORLDX) by $(WORLDY) server...'
152 (cd src/doconfig; $(MAKE) $(IRIX5MASTER))
153 ($(MAKE) genlibs $(IRIX5MASTER))
154 (cd src/lib/lwp; $(MAKE) $(IRIX5MASTER))
155 ($(MAKE) binaries $(IRIX5MASTER))
159 @echo 'building a $(WORLDX) by $(WORLDY) server...'
160 (cd src/doconfig; $(MAKE) $(ISIMASTER))
161 ($(MAKE) genlibs $(ISIMASTER))
162 (cd src/lib/lwp; $(MAKE) $(ISIMASTER))
163 ($(MAKE) binaries $(ISIMASTER))
167 @echo 'building a $(WORLDX) by $(WORLDY) server...'
168 @echo 'This build is only tested on x86 machines. Try using'
169 @echo 'linux-pthreads for other architectures.'
170 (cd src/doconfig; $(MAKE) $(LINUXMASTER))
171 ($(MAKE) genlibs $(LINUXMASTER))
172 (cd src/lib/lwp; $(MAKE) $(LINUXMASTER))
173 ($(MAKE) binaries $(LINUXMASTER))
177 @echo 'building a $(WORLDX) by $(WORLDY) server...'
178 (cd src/doconfig; $(MAKE) $(LINUXPTHMASTER))
179 ($(MAKE) genlibs $(LINUXPTHMASTER))
180 (cd src/lib/lwp; $(MAKE) $(LINUXPTHMASTER))
181 ($(MAKE) binaries $(LINUXPTHMASTER))
185 @echo 'building a $(WORLDX) by $(WORLDY) server...'
186 (cd src/doconfig; $(MAKE) $(MIPSBSDMASTER))
187 ($(MAKE) genlibs $(MIPSBSDMASTER))
188 (cd src/lib/lwp; $(MAKE) mipsultrix $(MIPSBSDMASTER))
189 ($(MAKE) binaries $(MIPSBSDMASTER))
193 @echo 'building a $(WORLDX) by $(WORLDY) server...'
194 (cd src/doconfig; $(MAKE) $(MACH25MASTER))
195 ($(MAKE) genlibs $(MACH25MASTER))
196 (cd src/lib/lwp; $(MAKE) mipsultrix $(MACH25MASTER))
197 ($(MAKE) binaries $(MACH25MASTER))
201 @echo 'building a $(WORLDX) by $(WORLDY) server...'
202 (cd src/doconfig; $(MAKE) $(MIPSULTMASTER))
203 ($(MAKE) genlibs $(MIPSULTMASTER))
204 (cd src/lib/lwp; $(MAKE) mipsultrix $(MIPSULTMASTER))
205 ($(MAKE) binaries $(MIPSULTMASTER))
209 @echo 'building a $(WORLDX) by $(WORLDY) server...'
210 (cd src/doconfig; $(MAKE) $(MIPSULTGMASTER))
211 ($(MAKE) genlibs $(MIPSULTGMASTER))
212 (cd src/lib/lwp; $(MAKE) mipsultrix $(MIPSULTGMASTER))
213 ($(MAKE) binaries $(MIPSULTGMASTER))
217 @echo 'building a $(WORLDX) by $(WORLDY) server...'
219 $(MAKE) nt $(NTMASTER)
221 $(MAKE) ntgenlibs TOBUILD=nt $(NTMASTER)
223 $(MAKE) nt $(NTMASTER)
225 $(MAKE) ntbinaries TOBUILD=nt $(NTMASTER)
229 @echo 'building a $(WORLDX) by $(WORLDY) server...'
230 (cd src/doconfig; $(MAKE) $(INTERIXMASTER))
231 ($(MAKE) genlibs $(INTERIXMASTER))
232 (cd src/lib/lwp; $(MAKE) $(INTERIXMASTER))
233 ($(MAKE) binaries $(INTERIXMASTER))
237 @echo 'building a $(WORLDX) by $(WORLDY) server...'
238 (cd src/doconfig; $(MAKE) $(VAXULTMASTER))
239 ($(MAKE) genlibs $(VAXULTMASTER))
240 (cd src/lib/lwp; $(MAKE) $(VAXULTMASTER))
241 ($(MAKE) binaries $(VAXULTMASTER))
245 @echo 'building a $(WORLDX) by $(WORLDY) server...'
246 (cd src/doconfig; $(MAKE) $(AIXMASTER))
247 ($(MAKE) genlibs $(AIXMASTER))
248 (cd src/lib/lwp; $(MAKE) aix $(AIXMASTER))
249 ($(MAKE) binaries $(AIXMASTER))
253 @echo 'building a $(WORLDX) by $(WORLDY) server...'
254 (cd src/doconfig; $(MAKE) $(RTPCMASTER))
255 ($(MAKE) genlibs $(RTPCMASTER))
256 (cd src/lib/lwp; $(MAKE) aix $(RTPCMASTER))
257 ($(MAKE) binaries $(RTPCMASTER))
261 @echo 'building a $(WORLDX) by $(WORLDY) server...'
262 (cd src/doconfig; $(MAKE) $(SEQMASTER))
263 ($(MAKE) genlibs $(SEQMASTER))
264 (cd src/lib/lwp; $(MAKE) $(SEQMASTER))
265 ($(MAKE) binaries $(SEQMASTER))
269 @echo 'building a $(WORLDX) by $(WORLDY) server...'
270 (cd src/doconfig; $(MAKE) $(SEQFPAMASTER))
271 ($(MAKE) genlibs $(SEQFPAMASTER))
272 (cd src/lib/lwp; $(MAKE) $(SEQFPAMASTER))
273 ($(MAKE) binaries $(SEQFPAMASTER))
277 @echo 'building a $(WORLDX) by $(WORLDY) server...'
278 (cd src/doconfig; $(MAKE) $(SOLMASTER))
279 ($(MAKE) genlibs $(SOLMASTER))
280 (cd src/lib/lwp; $(MAKE) $(SOLMASTER))
281 ($(MAKE) binaries $(SOLMASTER))
285 @echo 'building a $(WORLDX) by $(WORLDY) server...'
286 (cd src/doconfig; $(MAKE) $(SUN3MASTER))
287 ($(MAKE) genlibs $(SUN3MASTER))
288 (cd src/lib/lwp; $(MAKE) $(SUN3MASTER))
289 ($(MAKE) binaries $(SUN3MASTER))
293 @echo 'building a $(WORLDX) by $(WORLDY) server...'
294 (cd src/doconfig; $(MAKE) $(SUN4MASTER))
295 ($(MAKE) genlibs $(SUN4MASTER))
296 (cd src/lib/lwp; $(MAKE) $(SUN4MASTER))
297 ($(MAKE) binaries $(SUN4MASTER))
301 @echo 'building a $(WORLDX) by $(WORLDY) server...'
302 (cd src/doconfig; $(MAKE) $(SUN4OPTMASTER))
303 ($(MAKE) genlibs $(SUN4OPTMASTER))
304 (cd src/lib/lwp; $(MAKE) $(SUN4OPTMASTER))
305 ($(MAKE) binaries $(SUN4OPTMASTER))
309 @echo 'building a $(WORLDX) by $(WORLDY) server...'
310 (cd src/doconfig; $(MAKE) $(SUN4DBGMASTER))
311 ($(MAKE) genlibs $(SUN4DBGMASTER))
312 (cd src/lib/lwp; $(MAKE) $(SUN4DBGMASTER))
313 ($(MAKE) binaries $(SUN4DBGMASTER))
317 # Generic stuff that is called from the architecture specific stuff.
321 @echo 'building the binaries'
322 (cd src/client; $(MAKE) $(GENMASTER) CLIENTLIBS=$(CLIENTLIBS))
323 (cd src/server; $(MAKE) $(GENMASTER))
324 (cd src/util; $(MAKE) $(GENMASTER))
327 @echo 'building the binaries'
329 $(MAKE) $(GENMASTER) CLIENTLIBS=$(CLIENTLIBS)
339 @echo 'building generic libraries'
341 (cd src/lib/as; $(MAKE) $(GENMASTER))
342 (cd src/lib/commands; $(MAKE) $(GENMASTER))
343 (cd src/lib/common; $(MAKE) $(GENMASTER))
344 (cd src/lib/empthread; $(MAKE) $(GENMASTER))
345 (cd src/lib/gen; $(MAKE) $(GENMASTER))
346 (cd src/lib/global; $(MAKE) $(GENMASTER))
347 (cd src/lib/player; $(MAKE) $(GENMASTER))
348 (cd src/lib/subs; $(MAKE) $(GENMASTER))
349 (cd src/lib/update; $(MAKE) $(GENMASTER))
350 @echo 'done building generic libraries'
353 @echo 'building generic libraries'
382 @echo 'done building generic libraries'
385 (cd src/lib/as; $(MAKE) clean)
386 (cd src/lib/commands; $(MAKE) clean)
387 (cd src/lib/common; $(MAKE) clean)
388 (cd src/lib/gen; $(MAKE) clean)
389 (cd src/lib/global; $(MAKE) clean)
390 (cd src/lib/player; $(MAKE) clean)
391 (cd src/lib/subs; $(MAKE) clean)
392 (cd src/lib/update; $(MAKE) clean)
393 (cd src/lib/lwp; $(MAKE) clean)
394 (cd src/lib/empthread; $(MAKE) clean)
395 (cd src/client; $(MAKE) clean)
396 (cd src/server; $(MAKE) clean)
397 (cd src/util; $(MAKE) clean)
398 (cd src/doconfig; $(MAKE) clean)
451 -(rm -rf $(EMPDIR)/data/*)
452 -(rm -rf $(EMPDIR)/bin/*)
453 rm -rf lib info.nr info.html
454 rm -f include/gamesdef.h src/client/ipglob.c src/make.src
469 cd $(EMPDIR)\data\tel
473 (cd src/lib/as; $(MAKE) depend)
474 (cd src/lib/commands; $(MAKE) depend)
475 (cd src/lib/common; $(MAKE) depend)
476 (cd src/lib/gen; $(MAKE) depend)
477 (cd src/lib/global; $(MAKE) depend)
478 (cd src/lib/player; $(MAKE) depend)
479 (cd src/lib/subs; $(MAKE) depend)
480 (cd src/lib/update; $(MAKE) depend)
481 (cd src/lib/lwp; $(MAKE) depend)
482 (cd src/lib/empthread; $(MAKE) depend)
483 (cd src/client; $(MAKE) depend)
484 (cd src/server; $(MAKE) depend)
485 (cd src/util; $(MAKE) depend)
486 (cd src/doconfig; $(MAKE) depend)
488 # The last three lines here ensure that we don't overwrite an existing
489 # econfig file, by moving it first then moving it back. The '-''s
490 # ignore any errors (like if the files don't exist.)
491 # So, after an install, you will have an "econfig" file in the
492 # data directory if you didn't have one before.
495 (cd src/client; $(MAKE) install)
496 (cd src/server; $(MAKE) install)
497 (cd src/util; $(MAKE) install)
498 -mkdir $(EMPDIR)/data
499 -(mv $(EMPDIR)/data/econfig $(EMPDIR)/data/econfig.bak)
500 ($(EMPDIR)/bin/pconfig > $(EMPDIR)/data/econfig)
501 -(mv $(EMPDIR)/data/econfig.bak $(EMPDIR)/data/econfig)
513 -mkdir $(NTINSTDIR)\data
515 ($(NTINSTDIR)\bin\pconfig.exe > $(NTINSTDIR)\data\econfig.new)
516 -(move econfig.new econfig)