root/src/map/Makefile.in @ 21

Revision 1, 3.3 kB (checked in by jinshiro, 17 years ago)
Line 
1
2COMMON_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
7COMMON_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
13COMMON_SQL_OBJ = ../common/obj_sql/sql.o
14COMMON_SQL_H = ../common/sql.h
15
16MAP_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
21MAP_TXT_OBJ = $(MAP_OBJ:%=obj_txt/%)
22MAP_SQL_OBJ = $(MAP_OBJ:%=obj_sql/%)
23MAP_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
29HAVE_MYSQL=@HAVE_MYSQL@
30ifeq ($(HAVE_MYSQL),yes)
31        ALL_DEPENDS=txt sql
32        SQL_DEPENDS=map-server_sql
33else
34        ALL_TARGET=txt
35        SQL_DEPENDS=needs_mysql
36endif
37
38HAVE_PCRE=@HAVE_PCRE@
39ifeq ($(HAVE_PCRE),yes)
40        PCRE_CFLAGS=-DPCRE_SUPPORT @PCRE_CFLAGS@
41else
42        PCRE_CFLAGS=
43endif
44
45@SET_MAKE@
46
47#####################################################################
48.PHONY : all txt sql clean help
49
50all: $(ALL_DEPENDS)
51
52txt: map-server
53
54sql: $(SQL_DEPENDS)
55
56clean:
57        rm -rf *.o obj_txt obj_sql ../../map-server@EXEEXT@ ../../map-server_sql@EXEEXT@
58
59help:
60ifeq ($(HAVE_MYSQL),yes)
61        @echo "possible targets are 'sql' 'txt' 'all' 'clean' 'help'"
62        @echo "'sql'   - map server (SQL version)"
63else
64        @echo "possible targets are 'txt' 'all' 'clean' 'help'"
65endif
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
73needs_mysql:
74        @echo "MySQL not found or disabled by the configure script"
75        @exit 1
76
77# object directories
78obj_txt:
79        -mkdir obj_txt
80
81obj_sql:
82        -mkdir obj_sql
83
84# executables
85map-server: obj_txt $(MAP_TXT_OBJ) $(COMMON_OBJ)
86        @CC@ @LDFLAGS@ -o ../../map-server@EXEEXT@ $(MAP_TXT_OBJ) $(COMMON_OBJ) @LIBS@ @PCRE_LIBS@
87
88map-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
92obj_txt/%.o: %.c $(MAP_H) $(COMMON_H)
93        @CC@ @CFLAGS@ $(PCRE_CFLAGS) $(CUSTOM_CFLAGS) -DTXT_ONLY @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
94
95obj_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
Note: See TracBrowser for help on using the browser.