1 | |
---|
2 | COMMON_OBJ = ../common/obj_all/core.o ../common/obj_all/socket.o ../common/obj_all/timer.o \ |
---|
3 | ../common/obj_all/db.o ../common/obj_all/plugins.o ../common/obj_all/lock.o \ |
---|
4 | ../common/obj_all/nullpo.o ../common/obj_all/malloc.o ../common/obj_all/showmsg.o \ |
---|
5 | ../common/obj_all/utils.o ../common/obj_all/strlib.o ../common/obj_all/grfio.o \ |
---|
6 | ../common/obj_all/mapindex.o ../common/obj_all/ers.o |
---|
7 | COMMON_H = ../common/core.h ../common/socket.h ../common/timer.h \ |
---|
8 | ../common/db.h ../common/plugins.h ../common/lock.h \ |
---|
9 | ../common/nullpo.h ../common/malloc.h ../common/showmsg.h \ |
---|
10 | ../common/utils.h ../common/strlib.h ../common/grfio.h \ |
---|
11 | ../common/mapindex.h ../common/ers.h |
---|
12 | |
---|
13 | COMMON_SQL_OBJ = ../common/obj_sql/sql.o |
---|
14 | COMMON_SQL_H = ../common/sql.h |
---|
15 | |
---|
16 | MAP_OBJ = map.o chrif.o clif.o pc.o status.o npc.o \ |
---|
17 | npc_chat.o chat.o path.o itemdb.o mob.o script.o \ |
---|
18 | storage.o skill.o atcommand.o charcommand.o battle.o \ |
---|
19 | intif.o trade.o party.o vending.o guild.o pet.o \ |
---|
20 | log.o mail.o date.o irc.o unit.o mercenary.o quest.o |
---|
21 | MAP_TXT_OBJ = $(MAP_OBJ:%=obj_txt/%) |
---|
22 | MAP_SQL_OBJ = $(MAP_OBJ:%=obj_sql/%) |
---|
23 | MAP_H = map.h chrif.h clif.h pc.h status.h npc.h \ |
---|
24 | chat.h itemdb.h mob.h script.h path.h \ |
---|
25 | storage.h skill.h atcommand.h charcommand.h battle.h \ |
---|
26 | intif.h trade.h party.h vending.h guild.h pet.h \ |
---|
27 | log.h mail.h date.h irc.h unit.h mercenary.h quest.h |
---|
28 | |
---|
29 | HAVE_MYSQL=@HAVE_MYSQL@ |
---|
30 | ifeq ($(HAVE_MYSQL),yes) |
---|
31 | ALL_DEPENDS=txt sql |
---|
32 | SQL_DEPENDS=map-server_sql |
---|
33 | else |
---|
34 | ALL_TARGET=txt |
---|
35 | SQL_DEPENDS=needs_mysql |
---|
36 | endif |
---|
37 | |
---|
38 | HAVE_PCRE=@HAVE_PCRE@ |
---|
39 | ifeq ($(HAVE_PCRE),yes) |
---|
40 | PCRE_CFLAGS=-DPCRE_SUPPORT @PCRE_CFLAGS@ |
---|
41 | else |
---|
42 | PCRE_CFLAGS= |
---|
43 | endif |
---|
44 | |
---|
45 | @SET_MAKE@ |
---|
46 | |
---|
47 | ##################################################################### |
---|
48 | .PHONY : all txt sql clean help |
---|
49 | |
---|
50 | all: $(ALL_DEPENDS) |
---|
51 | |
---|
52 | txt: map-server |
---|
53 | |
---|
54 | sql: $(SQL_DEPENDS) |
---|
55 | |
---|
56 | clean: |
---|
57 | rm -rf *.o obj_txt obj_sql ../../map-server@EXEEXT@ ../../map-server_sql@EXEEXT@ |
---|
58 | |
---|
59 | help: |
---|
60 | ifeq ($(HAVE_MYSQL),yes) |
---|
61 | @echo "possible targets are 'sql' 'txt' 'all' 'clean' 'help'" |
---|
62 | @echo "'sql' - map server (SQL version)" |
---|
63 | else |
---|
64 | @echo "possible targets are 'txt' 'all' 'clean' 'help'" |
---|
65 | endif |
---|
66 | @echo "'txt' - map server (TXT version)" |
---|
67 | @echo "'all' - builds all above targets" |
---|
68 | @echo "'clean' - cleans builds and objects" |
---|
69 | @echo "'help' - outputs this message" |
---|
70 | |
---|
71 | ##################################################################### |
---|
72 | |
---|
73 | needs_mysql: |
---|
74 | @echo "MySQL not found or disabled by the configure script" |
---|
75 | @exit 1 |
---|
76 | |
---|
77 | # object directories |
---|
78 | obj_txt: |
---|
79 | -mkdir obj_txt |
---|
80 | |
---|
81 | obj_sql: |
---|
82 | -mkdir obj_sql |
---|
83 | |
---|
84 | # executables |
---|
85 | map-server: obj_txt $(MAP_TXT_OBJ) $(COMMON_OBJ) |
---|
86 | @CC@ @LDFLAGS@ -o ../../map-server@EXEEXT@ $(MAP_TXT_OBJ) $(COMMON_OBJ) @LIBS@ @PCRE_LIBS@ |
---|
87 | |
---|
88 | map-server_sql: obj_sql $(MAP_SQL_OBJ) $(COMMON_OBJ) $(COMMON_SQL_OBJ) |
---|
89 | @CC@ @LDFLAGS@ -o ../../map-server_sql@EXEEXT@ $(MAP_SQL_OBJ) $(COMMON_OBJ) $(COMMON_SQL_OBJ) @LIBS@ @PCRE_LIBS@ @MYSQL_LIBS@ |
---|
90 | |
---|
91 | # map object files |
---|
92 | obj_txt/%.o: %.c $(MAP_H) $(COMMON_H) |
---|
93 | @CC@ @CFLAGS@ $(PCRE_CFLAGS) $(CUSTOM_CFLAGS) -DTXT_ONLY @CPPFLAGS@ -c $(OUTPUT_OPTION) $< |
---|
94 | |
---|
95 | obj_sql/%.o: %.c $(MAP_H) $(COMMON_H) $(COMMON_SQL_H) |
---|
96 | @CC@ @CFLAGS@ $(PCRE_CFLAGS) $(CUSTOM_CFLAGS) @MYSQL_CFLAGS@ @CPPFLAGS@ -c $(OUTPUT_OPTION) $< |
---|
97 | |
---|
98 | # missing common object files |
---|
99 | ../common/obj_all/%.o: |
---|
100 | @$(MAKE) -C ../common txt |
---|
101 | |
---|
102 | ../common/obj_sql/%.o: |
---|
103 | @$(MAKE) -C ../common sql |
---|