add 3.0.0 patch file
This commit is contained in:
167
Makefile
Normal file
167
Makefile
Normal file
@ -0,0 +1,167 @@
|
||||
#################################################################
|
||||
## 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 ##
|
||||
#################################################################
|
Reference in New Issue
Block a user