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
|
# Visual C++ Makefile for libpqxx test suite
# This file was written by Bart Samwel.
default:
@echo LIBPQXX testsuite Makefile for Visual C++ Available Targets
@echo -----------------------------------------------------------
@echo.
@echo ALL: perform all tests
@echo TESTxxx: perform specific test xxx
@echo CLEAN: clean up all output so that tests will run again.
@echo.
@echo Pass the option DLL=1 to link the test suite against the libpqxx DLL instead
@echo of against the static libpqxx library, and pass DEBUG=1 to link against
@echo the debug build of libpqxx.
!include win32\common
LIBDIR=lib
# C++ compiler, linker
CXX=cl.exe
LINK=link.exe
!IF "$(DLL)" == "1"
PQXX_SHARED=/D "PQXX_SHARED"
PQXXLIBTYPE=Dll
PQXXLIBTYPESUFFIX=
PQXXLIBEXT=dll
!ELSE
PQXXLIBTYPE=Static
PQXXLIBEXT=lib
PQXXLIBTYPESUFFIX=_static
!ENDIF
CXX_FLAGS_BASE=/nologo /W3 /EHsc /FD /GR /c \
/I "include" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" $(PQXX_SHARED)
LINK_FLAGS_BASE=kernel32.lib ws2_32.lib advapi32.lib /nologo /machine:I386 /libpath:"$(LIBDIR)"
!IF "$(DEBUG)" == "1"
BUILDMODE=Debug
DEBUGSUFFIX=D
CXX_FLAGS=$(CXX_FLAGS_BASE) /MDd /Gm /ZI /Od /D "_DEBUG" /RTC1
LINK_FLAGS=$(LINK_FLAGS_BASE) $(LIBPQDLIB) /debug
LIBPQ=$(LIBPQDDLL)
!ELSE
BUILDMODE=Release
DEBUGSUFFIX=
CXX_FLAGS=$(CXX_FLAGS_BASE) /MD /D "NDEBUG"
LINK_FLAGS=$(LINK_FLAGS_BASE) $(LIBPQLIB)
LIBPQ=$(LIBPQDLL)
!ENDIF
INTDIR=Test$(PQXXLIBTYPE)$(BUILDMODE)
PQXXLIB=libpqxx$(PQXXLIBTYPESUFFIX)$(DEBUGSUFFIX).lib
PQXX=libpqxx$(DEBUGSUFFIX).dll
!IF "$(DLL)" == "1"
DLLS=$(INTDIR)\$(LIBPQ) $(INTDIR)\$(PQXX)
!ELSE
DLLS=$(INTDIR)\$(LIBPQ)
!ENDIF
OBJS= \
###MAKTEMPLATE:FOREACH test/test*.cxx
$(INTDIR)\###BASENAME###.obj \
###MAKTEMPLATE:ENDFOREACH
$(INTDIR)\runner.obj
########################################################
# Logical targets
########################################################
all: runner
runner: $(INTDIR) $(INTDIR)\runner.exe
clean:
-@del /Q $(INTDIR)\*.*
$(INTDIR):
@mkdir $(INTDIR)
########################################################
# Test implementations
########################################################
$(INTDIR)\runner.success: $(INTDIR)\runner.exe
@$(INTDIR)\runner.exe
@echo >$(INTDIR)\runner.success
$(INTDIR)\runner.exe: $(OBJS) $(DLLS)
@$(LINK) $(LINK_FLAGS) $(OBJS) $(PQXXLIB) \
/out:"$(INTDIR)\\runner.exe"
###MAKTEMPLATE:FOREACH test/*.cxx
$(INTDIR)\###BASENAME###.obj:
@$(CXX) $(CXX_FLAGS) ###FILENAME### /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\"
###MAKTEMPLATE:ENDFOREACH
$(INTDIR)\$(LIBPQ):
@copy $(LIBDIR)\$(LIBPQ) $(INTDIR)
$(INTDIR)\$(PQXX):
@copy $(LIBDIR)\$(PQXX) $(INTDIR)
|