1 | # |
1 | # |
2 | # Makefile for crossfire 0.95.0 and beyond |
2 | # This file is part of Deliantra, the Roguelike Realtime MMORPG. |
|
|
3 | # |
|
|
4 | # Copyright (©) 2006,2007 Marc Alexander Lehmann / Robin Redeker / the Deliantra team |
|
|
5 | # Copyright (©) 1992 Frank Tore Johansen |
|
|
6 | # Copyright (©) 2001 Mark Wedel |
|
|
7 | # Copyright (©) 2007 Marc Alexander Lehmann |
|
|
8 | # |
|
|
9 | # Deliantra is free software: you can redistribute it and/or modify it under |
|
|
10 | # the terms of the Affero GNU General Public License as published by the |
|
|
11 | # Free Software Foundation, either version 3 of the License, or (at your |
|
|
12 | # option) any later version. |
|
|
13 | # |
|
|
14 | # This program is distributed in the hope that it will be useful, |
|
|
15 | # but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
|
16 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
|
17 | # GNU General Public License for more details. |
|
|
18 | # |
|
|
19 | # You should have received a copy of the Affero GNU General Public License |
|
|
20 | # and the GNU General Public License along with this program. If not, see |
|
|
21 | # <http://www.gnu.org/licenses/>. |
|
|
22 | # |
|
|
23 | # The authors can be reached via e-mail to <support@deliantra.net> |
3 | # |
24 | # |
4 | # This file will eventually be replaced by a configure script. But for |
|
|
5 | # now, this simple makefile should do the job. |
|
|
6 | # |
|
|
7 | # Copyright (C) 1992 Frank Tore Johansen |
|
|
8 | # Copyright (C) 2001 Mark Wedel |
|
|
9 | # |
|
|
10 | # This program is free software; you can redistribute it and/or modify |
|
|
11 | # it under the terms of the GNU General Public License as published by |
|
|
12 | # the Free Software Foundation; either version 2 of the License, or |
|
|
13 | # (at your option) any later version. |
|
|
14 | # |
|
|
15 | # This program is distributed in the hope that it will be useful, |
|
|
16 | # but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
|
17 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
|
18 | # GNU General Public License for more details. |
|
|
19 | # |
|
|
20 | # You should have received a copy of the GNU General Public License |
|
|
21 | # along with this program; if not, write to the Free Software |
|
|
22 | # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
|
|
23 | # |
|
|
24 | # The author can be reached via e-mail to mwedel@scruz.net |
|
|
25 | |
25 | |
26 | |
26 | bin_PROGRAMS = deliantra-server |
27 | bin_PROGRAMS = crossfire |
|
|
28 | |
27 | |
29 | MAINTAINERCLEANFILES = Makefile.in |
28 | MAINTAINERCLEANFILES = Makefile.in |
30 | |
29 | |
31 | crossfire_SOURCES = \ |
30 | deliantra_server_SOURCES = \ |
32 | alchemy.C\ |
31 | alchemy.C\ |
33 | apply.C\ |
32 | apply.C\ |
34 | attack.C\ |
33 | attack.C\ |
35 | ban.C\ |
|
|
36 | build_map.C\ |
34 | build_map.C\ |
37 | c_chat.C\ |
|
|
38 | c_misc.C\ |
35 | c_misc.C\ |
39 | c_move.C\ |
36 | c_move.C\ |
40 | c_new.C\ |
37 | c_new.C\ |
41 | c_object.C\ |
38 | c_object.C\ |
42 | c_party.C\ |
39 | c_party.C\ |
43 | c_range.C\ |
40 | c_range.C\ |
44 | c_wiz.C\ |
41 | c_wiz.C\ |
45 | commands.C\ |
42 | commands.C\ |
46 | daemon.C\ |
|
|
47 | disease.C\ |
43 | disease.C\ |
48 | egoitem.C \ |
44 | egoitem.C \ |
49 | hiscore.C\ |
|
|
50 | gods.C\ |
45 | gods.C\ |
51 | init.C\ |
46 | init.C\ |
52 | login.C\ |
|
|
53 | main.C\ |
47 | main.C\ |
54 | monster.C\ |
48 | monster.C\ |
55 | move.C\ |
49 | move.C\ |
56 | pets.C\ |
50 | pets.C\ |
57 | player.C\ |
51 | player.C\ |
58 | plugins.C\ |
|
|
59 | resurrection.C\ |
52 | resurrection.C\ |
60 | rune.C\ |
53 | rune.C\ |
61 | shop.C\ |
54 | shop.C\ |
62 | skills.C\ |
55 | skills.C\ |
63 | skill_util.C\ |
56 | skill_util.C\ |
64 | spell_attack.C\ |
57 | spell_attack.C\ |
65 | spell_effect.C\ |
58 | spell_effect.C\ |
66 | spell_util.C\ |
59 | spell_util.C\ |
67 | swamp.C\ |
60 | swamp.C\ |
68 | swap.C\ |
|
|
69 | time.C\ |
61 | time.C\ |
70 | weather.C\ |
|
|
71 | dynbuf.C\ |
62 | dynbuf.C\ |
72 | cfperl.xs ../plugins/common/plugin_common.C |
63 | freezethaw.C\ |
|
|
64 | cfperl.xs\ |
|
|
65 | evthread.C |
73 | |
66 | |
74 | SUFFIXES = .xs |
67 | SUFFIXES = .xs |
75 | |
68 | |
76 | EXTRA_DIST = typemap |
69 | EXTRA_DIST = typemap genacc |
|
|
70 | |
|
|
71 | cfperl.C: cfperl.xs genacc typemap |
|
|
72 | cfperl.C: ../include/object.h ../include/client.h ../include/player.h |
|
|
73 | cfperl.C: ../include/map.h ../include/living.h ../include/global.h |
|
|
74 | cfperl.C: ../include/region.h ../include/cfperl.h ../random_maps/random_map.h |
77 | |
75 | |
78 | .xs.C: typemap |
76 | .xs.C: typemap |
79 | $(PERL) -MExtUtils::Embed -e xsinit -- -std cf |
77 | $(PERL) -MExtUtils::Embed -e xsinit -- -std cf |
80 | $(PERL) @PERLPRIVLIBEXP@/ExtUtils/xsubpp -C++ -csuffix .C -typemap @PERLPRIVLIBEXP@/ExtUtils/typemap -typemap typemap -prototypes cfperl.xs >$@ |
78 | PERL="$(PERL)" srcdir="$(srcdir)" $(PERL) @PERLPRIVLIBEXP@/ExtUtils/xsubpp -C++ -csuffix .C -typemap @PERLPRIVLIBEXP@/ExtUtils/typemap -typemap $(srcdir)/typemap -prototypes $(srcdir)/cfperl.xs >$@ |
81 | |
79 | |
82 | AM_CPPFLAGS = -I$(top_srcdir)/include -DDATADIR=\"$(pkgdatadir)\" -DCONFDIR=\"$(pkgconfdir)\" \ |
80 | AM_CPPFLAGS = -I$(top_srcdir)/include -DDATADIR=\"$(pkgdatadir)\" -DCONFDIR=\"$(pkgconfdir)\" \ |
83 | -DLIBDIR=\"$(pkglibdir)\" -DLOCALDIR=\"$(pkgstatedir)\" \ |
81 | -DLIBDIR=\"$(pkglibdir)\" -DLOCALDIR=\"$(pkgstatedir)\" \ |
84 | -DPLUGIN_SUFFIX=\".so\" \ |
82 | -DPLUGIN_SUFFIX=\".so\" |
85 | -I$(top_srcdir)/plugins/common/include |
|
|
86 | |
83 | |
87 | if HAVE_LIBDL |
|
|
88 | LIBDL=-ldl |
|
|
89 | crossfire_LDFLAGS=-export-dynamic |
|
|
90 | else |
|
|
91 | LIBDL= |
84 | LIBDL= |
92 | crossfire_LDFLAGS= |
85 | deliantra_server_LDFLAGS= |
93 | endif |
|
|
94 | crossfire_LDADD = ../common/libcross.a ../random_maps/librandom_map.a \ |
86 | deliantra_server_LDADD = ../common/libcross.a ../random_maps/librandom_map.a \ |
95 | ../socket/libsocket.a $(LIBDL) $(PERLLIB) |
87 | ../socket/libsocket.a $(LIBDL) $(PERLLIB) |
96 | |
88 | |
97 | ../common/libcross.a: |
89 | ../common/libcross.a: |
98 | ( cd ../common ; make libcross.a ) |
90 | ( cd ../common ; $(MAKE) libcross.a ) |
99 | |
91 | |
100 | ../random_maps/librandom_map.a: |
92 | ../random_maps/librandom_map.a: |
101 | ( cd ../random_maps ; make librandom_map.a ) |
93 | ( cd ../random_maps ; $(MAKE) librandom_map.a ) |
102 | |
94 | |
103 | ../socket/libsocket.a: |
95 | ../socket/libsocket.a: |
104 | ( cd ../socket ; make libsocket.a ) |
96 | ( cd ../socket ; $(MAKE) libsocket.a ) |
105 | |
97 | |
106 | # Check if everything is installed as it should |
|
|
107 | installcheck-local: |
|
|
108 | $(bindir)/crossfire -o |
|
|
109 | |
98 | |
110 | proto: |
|
|
111 | cproto -D__CEXTRACT__ -o ../include/sproto.h $(CPPFLAGS) $(AM_CPPFLAGS) \ |
|
|
112 | `echo $(SOURCES) " " | $(AWK) -v RS=" " '/.C$$/ { print }'` |
|
|
113 | chmod 644 ../include/sproto.h |
|
|