]> git.pond.sub.org Git - empserver/blob - Makefile
Import of Empire 4.2.12
[empserver] / Makefile
1
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
5
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.
10
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.
15
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
19
20 #   ---
21
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.
25
26 # Makefile - Wolfpack, 1996-2000
27 #            Do a generic build just by typing in "make <arch>"
28 #
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.
32
33 include build.conf
34 include Make.sysdefs
35
36 TOBUILD = all
37 GENMASTER = $(TOBUILD) GLOBALCFLAGS="$(GLOBALCFLAGS)" GLOBALLFLAGS="$(GLOBALLFLAGS)"
38 CLIENTLIBS = -ltermcap
39
40
41 #
42 # Specific targets - make a new one for each new architecture or
43 #                    build environment.
44 #
45
46 all:
47         @echo 'You must type "make <arch>" to build for a specific system.'
48         @echo 'Currently buildable architectures are:'
49         @echo '   aix'
50         @echo '   alpha'
51         @echo '   alpha-pthreads'
52         @echo '   apollo'
53         @echo '   freebsd'
54         @echo '   hp'
55         @echo '   hpux'
56         @echo '   irix'
57         @echo '   irix5'
58         @echo '   isi'
59         @echo '   linux'
60         @echo '   linux-pthreads'
61         @echo '   mach2.5'
62         @echo '   mipsbsd'
63         @echo '   mipsultrix'
64         @echo '   mipsultrix.gcc'
65         @echo '   next'
66         @echo '   nt'
67         @echo '   osx'
68         @echo '   rtpc'
69         @echo '   sequent'
70         @echo '   sequent.fpa'
71         @echo '   solaris'
72         @echo '   sun3'
73         @echo '   sun4'
74         @echo '   sun4.debug'
75         @echo '   sun4.opt'
76         @echo '   vaxultrix'
77
78 alpha:
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))
84         ($(MAKE) install)
85
86 alpha-pthreads:
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))
92         ($(MAKE) install)
93
94 apollo:
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))
100         ($(MAKE) install)
101
102 freebsd:
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))
108         ($(MAKE) install)
109
110 hp:
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))
116         ($(MAKE) install)
117
118 hpux:
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="")
124         ($(MAKE) install)
125
126 next:
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))
132         ($(MAKE) install)
133
134 osx:
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="")
139         ($(MAKE) install)
140
141 irix:
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))
147         ($(MAKE) install)
148
149 irix5:
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))
155         ($(MAKE) install)
156
157 isi:
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))
163         ($(MAKE) install)
164
165 linux:
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))
173         ($(MAKE) install)
174
175 linux-pthreads:
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))
181         ($(MAKE) install)
182
183 mipsbsd:
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))
189         ($(MAKE) install)
190
191 mach2.5:
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))
197         ($(MAKE) install)
198
199 mipsultrix:
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))
205         ($(MAKE) install)
206
207 mipsultrix.gcc:
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))
213         ($(MAKE) install)
214
215 nt:
216         @echo 'building a $(WORLDX) by $(WORLDY) server...'
217         cd src/doconfig
218         $(MAKE) nt $(NTMASTER)
219         cd ../..
220         $(MAKE) ntgenlibs TOBUILD=nt $(NTMASTER)
221         cd src/lib/lwp
222         $(MAKE) nt $(NTMASTER)
223         cd ../../..
224         $(MAKE) ntbinaries TOBUILD=nt $(NTMASTER)
225         $(MAKE) ntinstall
226
227 vaxultrix:
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))
233         ($(MAKE) install)
234
235 aix:
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))
241         ($(MAKE) install)
242
243 rtpc:
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))
249         ($(MAKE) install)
250
251 sequent:
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))
257         ($(MAKE) install)
258
259 sequent.fpa:
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))
265         ($(MAKE) install)
266
267 solaris:
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))
273         ($(MAKE) install)
274
275 sun3:
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))
281         ($(MAKE) install)
282
283 sun4:
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))
289         ($(MAKE) install)
290
291 sun4.opt:
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))
297         ($(MAKE) install)
298
299 sun4.debug:
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))
305         ($(MAKE) install)
306
307 #
308 # Generic stuff that is called from the architecture specific stuff.
309 #
310
311 binaries:
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))
316
317 ntbinaries:
318         @echo 'building the binaries'
319         cd src/client
320         $(MAKE) $(GENMASTER) CLIENTLIBS=$(CLIENTLIBS)
321         cd ../..
322         cd src/server
323         $(MAKE) $(GENMASTER)
324         cd ../..
325         cd src/util
326         $(MAKE) $(GENMASTER)
327         cd ../..
328
329 genlibs:
330         @echo 'building generic libraries'
331         (cd src/lib/as; $(MAKE)  $(GENMASTER))
332         (cd src/lib/commands; $(MAKE)  $(GENMASTER))
333         (cd src/lib/common; $(MAKE)  $(GENMASTER))
334         (cd src/lib/empthread; $(MAKE)  $(GENMASTER))
335         (cd src/lib/gen; $(MAKE)  $(GENMASTER))
336         (cd src/lib/global; $(MAKE)  $(GENMASTER))
337         (cd src/lib/player; $(MAKE)  $(GENMASTER))
338         (cd src/lib/subs; $(MAKE)  $(GENMASTER))
339         (cd src/lib/update; $(MAKE)  $(GENMASTER))
340         @echo 'done building generic libraries'
341
342 ntgenlibs:
343         @echo 'building generic libraries'
344         -(mkdir lib)
345         cd src/lib/as
346         $(MAKE) $(GENMASTER)
347         cd ../../..
348         cd src/lib/commands
349         $(MAKE) $(GENMASTER)
350         cd ../../..
351         cd src/lib/common
352         $(MAKE) $(GENMASTER)
353         cd ../../..
354         cd src/lib/empthread
355         $(MAKE) $(GENMASTER)
356         cd ../../..
357         cd src/lib/gen
358         $(MAKE) $(GENMASTER)
359         cd ../../..
360         cd src/lib/global
361         $(MAKE) $(GENMASTER)
362         cd ../../..
363         cd src/lib/player
364         $(MAKE) $(GENMASTER)
365         cd ../../..
366         cd src/lib/subs
367         $(MAKE) $(GENMASTER)
368         cd ../../..
369         cd src/lib/update
370         $(MAKE) $(GENMASTER)
371         cd ../../..
372         @echo 'done building generic libraries'
373
374 clean:
375         (cd src/lib/as; $(MAKE) clean)
376         (cd src/lib/commands; $(MAKE) clean)
377         (cd src/lib/common; $(MAKE) clean)
378         (cd src/lib/gen; $(MAKE) clean)
379         (cd src/lib/global; $(MAKE) clean)
380         (cd src/lib/player; $(MAKE) clean)
381         (cd src/lib/subs; $(MAKE) clean)
382         (cd src/lib/update; $(MAKE) clean)
383         (cd src/lib/lwp; $(MAKE) clean)
384         (cd src/lib/empthread; $(MAKE) clean)
385         (cd src/client; $(MAKE) clean)
386         (cd src/server; $(MAKE) clean)
387         (cd src/util; $(MAKE) clean)
388         (cd src/doconfig; $(MAKE) clean)
389         (rm -f lib/*.a)
390
391 ntclean:
392         cd src/lib/as
393         $(MAKE) clean
394         cd ../../../
395         cd src/lib/commands
396         $(MAKE) clean
397         cd ../../../
398         cd src/lib/common
399         $(MAKE) clean
400         cd ../../../
401         cd src/lib/gen
402         $(MAKE) clean
403         cd ../../../
404         cd src/lib/global
405         $(MAKE) clean
406         cd ../../../
407         cd src/lib/player
408         $(MAKE) clean
409         cd ../../../
410         cd src/lib/subs
411         $(MAKE) clean
412         cd ../../../
413         cd src/lib/update
414         $(MAKE) clean
415         cd ../../../
416         cd src/lib/lwp
417         $(MAKE) clean
418         cd ../../../
419         cd src/lib/empthread
420         $(MAKE) clean
421         cd ../../../
422         cd src/client
423         $(MAKE) clean
424         cd ../../
425         cd src/server
426         $(MAKE) clean
427         cd ../../
428         cd src/util
429         $(MAKE) clean
430         cd ../../
431         cd src/doconfig
432         $(MAKE) clean
433         cd ../../
434         cd lib
435         -(del /Q *.lib)
436
437 realclean:
438         ($(MAKE) clean)
439         (rm -f bin/*)
440         (rm -rf data/*)
441         -(rm -rf $(EMPDIR)/data/*)
442         -(rm -rf $(EMPDIR)/bin/*)
443         (cd src/lib/as ; echo "# Empty" > Makedepend)
444         (cd src/lib/commands ; echo "# Empty" > Makedepend)
445         (cd src/lib/common ; echo "# Empty" > Makedepend)
446         (cd src/lib/gen ; echo "# Empty" > Makedepend)
447         (cd src/lib/global ; echo "# Empty" > Makedepend)
448         (cd src/lib/player ; echo "# Empty" > Makedepend)
449         (cd src/lib/subs ; echo "# Empty" > Makedepend)
450         (cd src/lib/update ; echo "# Empty" > Makedepend)
451         (cd src/lib/lwp ; echo "# Empty" > Makedepend)
452         (cd src/lib/empthread ; echo "# Empty" > Makedepend)
453         (cd src/client ; echo "# Empty" > Makedepend)
454         (cd src/server ; echo "# Empty" > Makedepend)
455         (cd src/util ; echo "# Empty" > Makedepend)
456         (cd src/doconfig ; echo "# Empty" > Makedepend)
457
458 ntrealclean:
459         $(MAKE) ntclean
460         cd bin
461         -(del /Q *.*)
462         cd ..
463         cd data
464         -(del /Q *.*)
465         cd ..
466         cd src/lib/as
467         echo # Empty > Makedepend
468         cd ../../../
469         cd src/lib/commands
470         echo # Empty > Makedepend
471         cd ../../../
472         cd src/lib/common
473         echo # Empty > Makedepend
474         cd ../../../
475         cd src/lib/gen
476         echo # Empty > Makedepend
477         cd ../../../
478         cd src/lib/global
479         echo # Empty > Makedepend
480         cd ../../../
481         cd src/lib/player
482         echo # Empty > Makedepend
483         cd ../../../
484         cd src/lib/subs
485         echo # Empty > Makedepend
486         cd ../../../
487         cd src/lib/update
488         echo # Empty > Makedepend
489         cd ../../../
490         cd src/lib/lwp
491         echo # Empty > Makedepend
492         cd ../../../
493         cd src/lib/empthread
494         echo # Empty > Makedepend
495         cd ../../../
496         cd src/client
497         echo # Empty > Makedepend
498         cd ../../
499         cd src/server
500         echo # Empty > Makedepend
501         cd ../../
502         cd src/util
503         echo # Empty > Makedepend
504         cd ../../
505         cd src/doconfig
506         echo # Empty > Makedepend
507         cd ../../
508         cd $(EMPDIR)\data
509         -(del /Q *.*)
510         -(rmdir tel)
511         cd $(EMPDIR)\bin
512         -(del /Q *.*)
513         cd $(EMPDIR)\data\tel
514         -(del /Q *.*)
515
516 depend:
517         (cd src/lib/as; $(MAKE) depend)
518         (cd src/lib/commands; $(MAKE) depend)
519         (cd src/lib/common; $(MAKE) depend)
520         (cd src/lib/gen; $(MAKE) depend)
521         (cd src/lib/global; $(MAKE) depend)
522         (cd src/lib/player; $(MAKE) depend)
523         (cd src/lib/subs; $(MAKE) depend)
524         (cd src/lib/update; $(MAKE) depend)
525         (cd src/lib/lwp; $(MAKE) depend)
526         (cd src/lib/empthread; $(MAKE) depend)
527         (cd src/client; $(MAKE) depend)
528         (cd src/server; $(MAKE) depend)
529         (cd src/util; $(MAKE) depend)
530         (cd src/doconfig; $(MAKE) depend)
531
532 # The last three lines here ensure that we don't overwrite an existing
533 # econfig file, by moving it first then moving it back.  The '-''s
534 # ignore any errors (like if the files don't exist.)
535 # So, after an install, you will have an "econfig" file in the
536 # data directory if you didn't have one before.
537
538 install:
539         (cd src/client; $(MAKE) install)
540         (cd src/server; $(MAKE) install)
541         (cd src/util; $(MAKE) install)
542         -(mv $(EMPDIR)/data/econfig $(EMPDIR)/data/econfig.bak)
543         ($(EMPDIR)/bin/pconfig > $(EMPDIR)/data/econfig)
544         -(mv $(EMPDIR)/data/econfig.bak $(EMPDIR)/data/econfig)
545
546 ntinstall:
547         -(mkdir bin)
548         cd src\client
549         $(MAKE) ntinstall
550         cd ..\..
551         cd src\server
552         $(MAKE) ntinstall
553         cd ..\..
554         cd src\util
555         $(MAKE) ntinstall
556         cd ..\..
557         cd data
558         ($(NTINSTDIR)\bin\pconfig.exe > $(NTINSTDIR)\data\econfig.new)
559         -(move econfig.new econfig)
560         cd ..
561