1 Star 0 Fork 53

huangjiajun/openGauss-connector-odbc

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
Makefile 4.07 KB
一键复制 编辑 原始数据 按行查看 历史
zhangxubo 提交于 2022-03-11 17:10 . add 3.0.0 patch file
#################################################################
## Makefile for building ODBC library on Windows using MinGW ##
#################################################################
ifndef $(OPENSSL_DIR)
OPENSSL_DIR:=/d/Program_Files/OpenSSL-Win32
endif
ifndef $(MINGW_DIR)
MINGW_DIR:=/d/buildtools/mingw-8.1.0/msys32/mingw32
endif
PWD_DIR:=$(shell pwd)
LIBPQ_DIR:=$(PWD_DIR)/libpq
MINGW32_DIR:=$(MINGW_DIR)/i686-w64-mingw32
OUT_DIR:=$(PWD_DIR)/output
OBJ_DIR:=$(PWD_DIR)/obj
DLL_TARGET:=$(OUT_DIR)/psqlodbc35w.dll
LIB_TARGET:=$(OUT_DIR)/psqlodbc35w.lib
CC:=$(MINGW_DIR)/bin/i686-w64-mingw32-gcc
AR:=$(MINGW_DIR)/bin/i686-w64-mingw32-gcc-ar
RC_CC:=$(MINGW_DIR)/bin/windres
MD:=mkdir -p
RM:=rm -rf
DEFFILE:=$(PWD_DIR)/psqlodbc.def
CCFLAG:=-std=gnu++11 \
-DWIN32 \
-D_MINGW32 \
-DUNICODE_SUPPORT \
-DWIN_MULTITHREAD_SUPPORT \
-DDRIVER_CURSOR_IMPLEMENT \
-fpermissive \
-fPIC \
-w \
-m32
ifdef RELEASE
CCFLAG:=$(CCFLAG) -O2
else
CCFLAG:=$(CCFLAG) -g
endif
LFLAG:=-L$(OPENSSL_DIR)/lib \
-L$(LIBPQ_DIR)/lib \
-L$(MINGW_DIR)/bin \
-L$(MINGW32_DIR)/lib \
-llibpq \
-lodbc32 \
-lodbccp32 \
-lwinmm \
-lws2_32 \
-llibsecurec \
-lsecurity \
-llibcrypto \
-llibssl \
-lgdi32 \
-Wl,--enable-stdcall-fixup,--out-implib,$(DLL_TARGET)
RC_SRC:=$(PWD_DIR)/psqlodbc.rc
RC_OBJ:=$(OBJ_DIR)/psqlodbc_rc.o
INC:=-I$(PWD_DIR) \
-I$(LIBPQ_DIR)/include \
-I$(LIBPQ_DIR)/include/libpq \
-I$(MINGW_DIR)/include \
-I$(MINGW32_DIR)/include
SRC:=$(PWD_DIR)/bind.c \
$(PWD_DIR)/columninfo.c \
$(PWD_DIR)/connection.c \
$(PWD_DIR)/convert.c \
$(PWD_DIR)/descriptor.c \
$(PWD_DIR)/dlg_specific.c \
$(PWD_DIR)/dlg_wingui.c \
$(PWD_DIR)/drvconn.c \
$(PWD_DIR)/environ.c \
$(PWD_DIR)/execute.c \
$(PWD_DIR)/info.c \
$(PWD_DIR)/inouealc.c \
$(PWD_DIR)/loadlib.c \
$(PWD_DIR)/lobj.c \
$(PWD_DIR)/misc.c \
$(PWD_DIR)/multibyte.c \
$(PWD_DIR)/mylog.c \
$(PWD_DIR)/odbcapi.c \
$(PWD_DIR)/odbcapi30.c \
$(PWD_DIR)/odbcapi30w.c \
$(PWD_DIR)/odbcapiw.c \
$(PWD_DIR)/options.c \
$(PWD_DIR)/parse.c \
$(PWD_DIR)/pgapi30.c \
$(PWD_DIR)/pgtypes.c \
$(PWD_DIR)/psqlodbc.c \
$(PWD_DIR)/qresult.c \
$(PWD_DIR)/results.c \
$(PWD_DIR)/setup.c \
$(PWD_DIR)/statement.c \
$(PWD_DIR)/tuple.c \
$(PWD_DIR)/win_unicode.c
OBJ:=$(OBJ_DIR)/bind.o \
$(OBJ_DIR)/columninfo.o \
$(OBJ_DIR)/connection.o \
$(OBJ_DIR)/convert.o \
$(OBJ_DIR)/descriptor.o \
$(OBJ_DIR)/dlg_specific.o \
$(OBJ_DIR)/dlg_wingui.o \
$(OBJ_DIR)/drvconn.o \
$(OBJ_DIR)/environ.o \
$(OBJ_DIR)/execute.o \
$(OBJ_DIR)/info.o \
$(OBJ_DIR)/inouealc.o \
$(OBJ_DIR)/loadlib.o \
$(OBJ_DIR)/lobj.o \
$(OBJ_DIR)/misc.o \
$(OBJ_DIR)/multibyte.o \
$(OBJ_DIR)/mylog.o \
$(OBJ_DIR)/odbcapi.o \
$(OBJ_DIR)/odbcapi30.o \
$(OBJ_DIR)/odbcapi30w.o \
$(OBJ_DIR)/odbcapiw.o \
$(OBJ_DIR)/options.o \
$(OBJ_DIR)/parse.o \
$(OBJ_DIR)/pgapi30.o \
$(OBJ_DIR)/pgtypes.o \
$(OBJ_DIR)/psqlodbc.o \
$(OBJ_DIR)/qresult.o \
$(OBJ_DIR)/results.o \
$(OBJ_DIR)/setup.o \
$(OBJ_DIR)/statement.o \
$(OBJ_DIR)/tuple.o \
$(OBJ_DIR)/win_unicode.o
SRC_TO_OBJ=$(OBJ_DIR)/$(patsubst %.c,%.o, $(notdir $(1)))
define BUILD_OBJ
$(call SRC_TO_OBJ,$(1)):$(1)
$(CC) $(CCFLAG) $(INC) -c $$^ -o $$@
endef
#$(RC_OBJ):$(RC_SRC)
# $(RC_CC) -Jrc -I$(PWD_DIR) $(RC_SRC) -o $(RC_OBJ)
all:dirs $(OBJ)
$(RC_CC) -Jrc -I$(PWD_DIR) $(RC_SRC) -o $(RC_OBJ)
$(CC) $(OBJ) $(RC_OBJ) $(DEFFILE) -static -shared -o $(DLL_TARGET) $(LFLAG)
$(AR) rcs $(LIB_TARGET) $(OBJ) $(RC_OBJ)
dirs:
$(MD) $(OBJ_DIR)
$(MD) $(OUT_DIR)
clean:
$(RM) $(OBJ_DIR)
$(RM) $(OUT_DIR)
$(foreach c,$(SRC),$(eval $(call BUILD_OBJ,$(c))))
.PHONY: all clean dirs
#################################################################
## THE END OF PSQLODBC MINGW32 Makefile ##
#################################################################
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/b_127/openGauss-connector-odbc.git
git@gitee.com:b_127/openGauss-connector-odbc.git
b_127
openGauss-connector-odbc
openGauss-connector-odbc
master

搜索帮助