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 | freezethaw.C\ |
63 | freezethaw.C\ |
73 | cfperl.xs ../plugins/common/plugin_common.C |
64 | cfperl.xs\ |
|
|
65 | evthread.C |
74 | |
66 | |
75 | SUFFIXES = .xs |
67 | SUFFIXES = .xs |
76 | |
68 | |
77 | EXTRA_DIST = typemap |
69 | EXTRA_DIST = typemap genacc |
78 | |
70 | |
79 | cfperl.C: cfperl.xs genacc typemap |
71 | cfperl.C: cfperl.xs genacc typemap |
80 | cfperl.C: ../include/object.h ../include/client.h ../include/player.h |
72 | cfperl.C: ../include/object.h ../include/client.h ../include/player.h |
81 | cfperl.C: ../include/map.h ../include/living.h ../include/global.h |
73 | cfperl.C: ../include/map.h ../include/living.h ../include/global.h |
82 | cfperl.C: ../random_maps/random_map.h |
74 | cfperl.C: ../include/region.h ../include/cfperl.h ../random_maps/random_map.h |
83 | |
75 | |
84 | .xs.C: typemap |
76 | .xs.C: typemap |
85 | $(PERL) -MExtUtils::Embed -e xsinit -- -std cf |
77 | $(PERL) -MExtUtils::Embed -e xsinit -- -std cf |
86 | PERL="$(PERL)" $(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 >$@ |
87 | |
79 | |
88 | AM_CPPFLAGS = -I$(top_srcdir)/include -DDATADIR=\"$(pkgdatadir)\" -DCONFDIR=\"$(pkgconfdir)\" \ |
80 | AM_CPPFLAGS = -I$(top_srcdir)/include -DDATADIR=\"$(pkgdatadir)\" -DCONFDIR=\"$(pkgconfdir)\" \ |
89 | -DLIBDIR=\"$(pkglibdir)\" -DLOCALDIR=\"$(pkgstatedir)\" \ |
81 | -DLIBDIR=\"$(pkglibdir)\" -DLOCALDIR=\"$(pkgstatedir)\" \ |
90 | -DPLUGIN_SUFFIX=\".so\" \ |
82 | -DPLUGIN_SUFFIX=\".so\" |
91 | -I$(top_srcdir)/plugins/common/include |
|
|
92 | |
83 | |
93 | LIBDL= |
84 | LIBDL= |
94 | crossfire_LDFLAGS= |
85 | deliantra_server_LDFLAGS= |
95 | crossfire_LDADD = ../common/libcross.a ../random_maps/librandom_map.a \ |
86 | deliantra_server_LDADD = ../common/libcross.a ../random_maps/librandom_map.a \ |
96 | ../socket/libsocket.a $(LIBDL) $(PERLLIB) |
87 | ../socket/libsocket.a $(LIBDL) $(PERLLIB) |
97 | |
88 | |
98 | ../common/libcross.a: |
89 | ../common/libcross.a: |
99 | ( cd ../common ; make libcross.a ) |
90 | ( cd ../common ; $(MAKE) libcross.a ) |
100 | |
91 | |
101 | ../random_maps/librandom_map.a: |
92 | ../random_maps/librandom_map.a: |
102 | ( cd ../random_maps ; make librandom_map.a ) |
93 | ( cd ../random_maps ; $(MAKE) librandom_map.a ) |
103 | |
94 | |
104 | ../socket/libsocket.a: |
95 | ../socket/libsocket.a: |
105 | ( cd ../socket ; make libsocket.a ) |
96 | ( cd ../socket ; $(MAKE) libsocket.a ) |
106 | |
97 | |
107 | # Check if everything is installed as it should |
|
|
108 | installcheck-local: |
|
|
109 | $(bindir)/crossfire -o |
|
|
110 | |
98 | |
111 | proto: |
|
|
112 | cproto -D__CEXTRACT__ -o ../include/sproto.h $(CPPFLAGS) $(AM_CPPFLAGS) \ |
|
|
113 | `echo $(SOURCES) " " | $(AWK) -v RS=" " '/.C$$/ { print }'` |
|
|
114 | chmod 644 ../include/sproto.h |
|
|