OSDN Git Service

First version
[st-ro/stro.git] / src / login / Makefile.in
1
2 COMMON_H = $(shell ls ../common/*.h)
3 COMMON_AR = ../common/obj/common.a
4 COMMON_INCLUDE = -I../common
5
6 MT19937AR_OBJ = ../../3rdparty/mt19937ar/mt19937ar.o
7 MT19937AR_H = ../../3rdparty/mt19937ar/mt19937ar.h
8 MT19937AR_INCLUDE = -I../../3rdparty/mt19937ar
9
10 LIBCONFIG_H = $(shell ls ../../3rdparty/libconfig/*.h)
11 LIBCONFIG_AR = ../../3rdparty/libconfig/obj/libconfig.a
12 LIBCONFIG_INCLUDE = -I../../3rdparty/libconfig
13
14 LOGIN_OBJ = $(shell ls *.c | sed -e "s/\.c/\.o/g") $(shell ls *.cpp | sed -e "s/\.cpp/\.o/g")
15 LOGIN_DIR_OBJ = $(LOGIN_OBJ:%=obj/%)
16 LOGIN_H = $(shell ls *.h)
17
18 HAVE_MYSQL=@HAVE_MYSQL@
19 ifeq ($(HAVE_MYSQL),yes)
20         SERVER_DEPENDS=login-server
21 else
22         SERVER_DEPENDS=needs_mysql
23 endif
24 ALL_DEPENDS=server
25
26 @SET_MAKE@
27
28 #####################################################################
29 .PHONY :all server clean help
30
31 all: $(ALL_DEPENDS)
32
33 server: $(SERVER_DEPENDS)
34
35 clean:
36         @echo " CLEAN   login"
37         @rm -rf *.o obj ../../@OLOG@@EXEEXT@
38
39 help:
40         @echo "possible targets are 'server' 'all' 'clean' 'help'"
41         @echo "'server'    - login server"
42         @echo "'all'       - builds all above targets"
43         @echo "'clean'     - cleans builds and objects"
44         @echo "'help'      - outputs this message"
45
46 #####################################################################
47
48 needs_mysql:
49         @echo "MySQL not found or disabled by the configure script"
50         @exit 1
51
52 # object directories
53
54 obj:
55         @echo " MKDIR   obj"
56         @-mkdir obj
57
58 #executables
59
60 login-server: obj $(LOGIN_DIR_OBJ) $(COMMON_AR)  $(MT19937AR_OBJ)
61         @echo " LD      @OLOG@@EXEEXT@"
62         @@CC@ @LDFLAGS@ -o ../../@OLOG@@EXEEXT@ $(LOGIN_DIR_OBJ) $(COMMON_AR) $(MT19937AR_OBJ) $(LIBCONFIG_AR) @LIBS@ @MYSQL_LIBS@
63             
64
65 # login object files
66
67 obj/%.o: %.c $(LOGIN_H) $(COMMON_H) $(MT19937AR_H) $(LIBCONFIG_H)
68         @echo " CC      $<"
69         @@CC@ @CFLAGS@ $(COMMON_INCLUDE) $(MT19937AR_INCLUDE) $(LIBCONFIG_INCLUDE) -DWITH_SQL @MYSQL_CFLAGS@ @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
70
71 obj/%.o: %.cpp $(LOGIN_H) $(COMMON_H) $(MT19937AR_H) $(LIBCONFIG_H)
72         @echo " CXX     $<"
73         @@CXX@ @CXXFLAGS@ $(COMMON_INCLUDE) $(MT19937AR_INCLUDE) $(LIBCONFIG_INCLUDE) -DWITH_SQL @MYSQL_CFLAGS@ @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
74
75 # missing object files
76 $(COMMON_AR):
77         @$(MAKE) -C ../common server
78
79 $(MT19937AR_OBJ):
80         @$(MAKE) -C ../../3rdparty/mt19937ar
81
82 $(LIBCONFIG_AR):
83         @$(MAKE) -C ../../3rdparty/libconfig