File: vc-test.mak.template

package info (click to toggle)
libpqxx 4.0.1%2Bdfsg3-8
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 16,012 kB
  • ctags: 9,469
  • sloc: sh: 11,289; cpp: 10,801; xml: 1,256; makefile: 287; ansic: 195; python: 159
file content (115 lines) | stat: -rw-r--r-- 2,637 bytes parent folder | download | duplicates (2)
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)