forked from RYTong/erldb-driver
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile.in
executable file
·129 lines (108 loc) · 3.27 KB
/
Makefile.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
# Copyright (c) 2009-2010 Beijing RYTong Information Technologies, Ltd.
# All rights reserved.
#
# No part of this source code may be copied, used, or modified
# without the express written consent of RYTong.
# Variables
SRC_TOP = @SRC_TOP@
SYSTEM=@SYSTEM@
SHELL = /bin/sh
ECHO = @ECHO@
ifeq ($(SYSTEM), AIX)
CC = gxlc
CXX = gxlc++
LD = xlc++ -qmkshrobj
else
CC = @CC@
CXX = @CXX@
LD = @LD@
endif
AR = ar rucs
ERL = @ERLANG@
ERL_ROOT = @ERL_ROOT@
ERL_INTF_ROOT = @ERL_INTF_ROOT@
ERL_DRV = @ERL_HOME@/erlang/usr
DIALYZER = @ERL_HOME@/erlang/bin/dialyzer
ERL_LIBDIR = @ERL_LIBDIR@
CFLAGS = @CFLAGS@ @CPPFLAGS@ @MYSQL_CFLAGS@ @ORACLE_CFLAGS@ @SYBASE_CFLAGS@ @DB2_CFLAGS@ @INFORMIX_CFLAGS@
LDFLAGS = @LDFLAGS@
SHLIB_SUFFIX = @SHLIB_SUFFIX@
CUR_DIR = $(shell pwd)
DRI_LIB = $(SRC_TOP)/priv
MYSQL_SRC = @MYSQL_SRC@
ORACLE_SRC = @ORACLE_SRC@
SYBASE_SRC = @SYBASE_SRC@
DB2_SRC = @DB2_SRC@
INFORMIX_SRC = @INFORMIX_SRC@
APPNAME = db_driver
VERSION = 1.0.0
TARGETDIR = $(APPNAME)-$(VERSION)
# NOTE: we include both erl_driver and erl_interface so that we can
# use either one.
INCLS =\
-I$(ERL_DRV)/include \
-I$(ERL_ROOT)/include \
-I$(ERL_INTF_ROOT)/include \
-I$(CUR_DIR)/c_src \
-I$(CUR_DIR)/c_src/util \
-I$(CUR_DIR)/../libewp
LIBS = @MYSQL_LIBS@ @ORACLE_LIBS@ @SYBASE_LIBS@ @DB2_LIBS@ @INFORMIX_LIBS@ -L$(ERL_INTF_ROOT)/lib -L$(ERL_DRV)/lib -lei -lpthread
# NOTE: We *must* define the following two variables in order for
# Makefile.include.c_build to work! These two variables must be in the names
# of C_SRCS and CXX_SRCS.
C_SRCS =
CXX_SRCS =\
c_src/database_drv.cpp \
c_src/base/AsyncDrv.cpp \
c_src/base/ThreadPool.cpp \
c_src/base/DatabaseDrv.cpp \
c_src/util/EWPString.cpp \
c_src/util/SysLogger.cpp \
c_src/util/TimeVal.cpp \
c_src/base/StmtMap.cpp \
c_src/base/DBOperation.cpp \
c_src/base/ConnectionPool.cpp \
c_src/base/Connection.cpp \
$(MYSQL_SRC) \
$(ORACLE_SRC) \
$(SYBASE_SRC) \
$(DB2_SRC) \
$(INFORMIX_SRC)
OBJS = $(CXX_SRCS:.cpp=.o) $(C_SRCS:.c=.o)
GOAL = $(DRI_LIB)/database_drv.so
.PHONY: all docs doc libdoc clean docsclean distclean
all: ebin $(GOAL) app
app:
cp src/db.app.src $(EBIN_DIR)/db.app
# Build rules
ERL_SRCDIR = src
include $(SRC_TOP)/build/Makefile.include.erl_build
include $(SRC_TOP)/build/Makefile.include.c_build
docs: doc libdoc
libdoc:
doxygen priv/doc/db.doxyfile
install:
install -d $(ERL_LIBDIR)/$(TARGETDIR)/priv
install -d $(ERL_LIBDIR)/$(TARGETDIR)/ebin
install -d $(ERL_LIBDIR)/$(TARGETDIR)/src
install -d $(ERL_LIBDIR)/$(TARGETDIR)/include
install -d $(ERL_LIBDIR)/$(TARGETDIR)/config
install -m 0644 $(SRC_TOP)/include/* $(ERL_LIBDIR)/$(TARGETDIR)/include/
install -m 0644 $(SRC_TOP)/ebin/* $(ERL_LIBDIR)/$(TARGETDIR)/ebin/
install -m 0644 $(SRC_TOP)/priv/* $(ERL_LIBDIR)/$(TARGETDIR)/priv/
install -m 0644 $(SRC_TOP)/src/* $(ERL_LIBDIR)/$(TARGETDIR)/src/
install -m 0644 $(SRC_TOP)/config/* $(ERL_LIBDIR)/$(TARGETDIR)/config/
uninstall:
rm -rfv $(ERL_LIBDIR)/$(TARGETDIR)
clean:
rm -f c_src/*.o c_src/*/*.o $(GOAL) $(EBIN_DIR)/*.beam $(EBIN_DIR)/db.app
docsclean:
rm -fv doc/*.html
rm -fv doc/edoc-info
rm -fv doc/*.css
rm -fv doc/erlang.png
rm -rfv doc/lib
distclean: clean docsclean
rm -f Emakefile Makefile config.cache config.log \
lib/* ebin/* c_src/*~ src/*~ *~ include/emagick_config.h include/*~
rm -rf autom4te.cache .deps