2
!IF "$(OS)" == "Windows_NT"
12
# Default build and bind modes
16
!IF "$(BUILD_MODE)" == "release" || "$(BUILD_MODE)" == "Release"
17
!IF "$(BIND_MODE)" == "shared"
19
APR_LIB_PFX = $(APR_SOURCE)\Release\lib
20
APU_LIB_PFX = $(APU_SOURCE)\Release\lib
21
API_LIB_PFX = $(API_SOURCE)\Release\lib
23
CFG_DEFINES = /D "NDEBUG"
27
!IF "$(BIND_MODE)" == "static"
29
APR_LIB_PFX = $(APR_SOURCE)\LibR\ # no line continuation
30
APU_LIB_PFX = $(APU_SOURCE)\LibR\ # no line continuation
31
API_LIB_PFX = $(API_SOURCE)\LibR\ # no line continuation
33
CFG_DEFINES = /D "NDEBUG" /D "APR_DECLARE_STATIC" \
34
/D "APU_DECLARE_STATIC" /D "API_DECLARE_STATIC"
35
CFG_API_LIB = $(API_LIB_PFX)apriconv-1.lib
39
!ERROR Unknown bind mode "$(BIND_MODE)"
44
!IF "$(BUILD_MODE)" == "debug" || "$(BUILD_MODE)" == "Debug"
45
!IF "$(BIND_MODE)" == "shared"
47
APR_LIB_PFX = $(APR_SOURCE)\Debug\lib
48
APU_LIB_PFX = $(APU_SOURCE)\Debug\lib
49
API_LIB_PFX = $(API_SOURCE)\Debug\lib
50
CFG_CFLAGS = /MDd /Zi /Od
51
CFG_DEFINES = /D "_DEBUG"
56
!IF "$(BIND_MODE)" == "static"
58
APR_LIB_PFX = $(APR_SOURCE)\LibD\ # no line continuation
59
APU_LIB_PFX = $(APU_SOURCE)\LibD\ # no line continuation
60
API_LIB_PFX = $(API_SOURCE)\LibD\ # no line continuation
61
CFG_CFLAGS = /MDd /Zi /Od
62
CFG_DEFINES = /D "_DEBUG" /D "APR_DECLARE_STATIC" \
63
/D "APU_DECLARE_STATIC" /D "API_DECLARE_STATIC"
65
CFG_API_LIB = $(API_LIB_PFX)apriconv-1.lib
69
!ERROR Unknown bind mode "$(BIND_MODE)"
74
!ERROR Unknown build mode "$(BUILD_MODE)"
79
APR_SOURCE = ..\..\apr
81
API_SOURCE = ..\..\apr-iconv
82
OUTPUT_DIR = .\$(CFG_OUTPUT)
84
INT_CFLAGS = /nologo $(CFG_CFLAGS) /Fp"$(OUTPUT_DIR)\iconv.pch" /YX"iconv.h"
85
INT_INCLUDES = /I "$(APU_SOURCE)\include" /I "$(APR_SOURCE)\include"
86
# /I "$(API_SOURCE)\include"
87
INT_DEFINES = /D "WIN32" /D "_CONSOLE" /D "_MBCS" $(CFG_DEFINES)
88
INT_LDFLAGS = /nologo /incremental:no /subsystem:console $(CFG_LDFLAGS)
91
ALL_CFLAGS = $(INT_CFLAGS) $(INT_INCLUDES) $(INT_DEFINES) $(CFLAGS)
94
ALL_LDFLAGS = $(INT_LDFLAGS) $(LDFLAGS)
96
.c{$(OUTPUT_DIR)}.exe:
97
-$(SILENT)if not exist "$(OUTPUT_DIR)\$(NULL)" mkdir "$(OUTPUT_DIR)"
98
$(SILENT)echo Compiling and linking $@...
99
$(SILENT)cl $(ALL_CFLAGS) /Fo"$*.obj" /Fd"$*" $< \
100
/link $(ALL_LDFLAGS) /out:$@ \
101
"$(APU_LIB_PFX)aprutil-1.lib" \
102
"$(APR_LIB_PFX)apr-1.lib" \
104
kernel32.lib advapi32.lib ws2_32.lib mswsock.lib
107
##!ALL_TARGETS = $(OUTPUT_DIR)\testdate.exe \
108
##! $(OUTPUT_DIR)\testdbm.exe \
109
##! $(OUTPUT_DIR)\testmd4.exe \
110
##! $(OUTPUT_DIR)\testmd5.exe \
111
##! $(OUTPUT_DIR)\testqueue.exe \
112
##! $(OUTPUT_DIR)\testreslist.exe \
113
##! $(OUTPUT_DIR)\testrmm.exe \
114
##! $(OUTPUT_DIR)\teststrmatch.exe \
115
##! $(OUTPUT_DIR)\testuri.exe \
116
##! $(OUTPUT_DIR)\testuuid.exe \
117
##! $(OUTPUT_DIR)\testxlate.exe \
118
##! $(OUTPUT_DIR)\testxml.exe
120
ALL_TARGETS = $(OUTPUT_DIR)\testxlate.exe \
121
$(OUTPUT_DIR)\testdbm.exe \
122
$(OUTPUT_DIR)\testqueue.exe \
123
$(OUTPUT_DIR)\testrmm.exe \
124
$(OUTPUT_DIR)\testmd4.exe \
125
$(OUTPUT_DIR)\testmd5.exe \
126
$(OUTPUT_DIR)\testxml.exe
131
-$(SILENT)if exist "$(OUTPUT_DIR)/$(NULL)" $(rmdir) $(OUTPUT_DIR)
2
# test programs invoked via standard user interface, run on all platforms
4
# test modules invoked through the abts suite (./testall)
6
# programs such as sendfile, that have to be invoked in a special sequence
7
# or with special parameters
11
# dynamic or static - refers to which set of bindings are desired
12
# and controls which libraries (apr-1 or libapr-1) will be linked.
14
# the library path of the libraries, and also the path within test/
15
# where all of the tests for that library will be built
17
# relative or absolute path to locate apr libs and includes
19
# relative or absolute path to locate apr-iconv libs and includes
28
!IF "$(MODEL)" == "static"
34
!IF [$(COMSPEC) /c cl /nologo /? | find "x64" >NUL ] == 0
39
!IF !EXIST("$(OUTDIR)\.")
40
!IF ([$(COMSPEC) /C mkdir $(OUTDIR)] == 0)
47
!IF !EXIST("$(INTDIR)\.")
48
!IF ([$(COMSPEC) /C mkdir $(INTDIR)] == 0)
53
!MESSAGE Building tests into $(OUTDIR) for $(MODEL)
55
ALL_TESTS = $(INTDIR)\teststrmatch.obj $(INTDIR)\testuri.obj \
56
$(INTDIR)\testuuid.obj $(INTDIR)\testutil.obj \
57
$(INTDIR)\testbuckets.obj $(INTDIR)\testpass.obj \
58
$(INTDIR)\testmd4.obj $(INTDIR)\testmd5.obj \
59
$(INTDIR)\testldap.obj $(INTDIR)\testdbd.obj \
60
$(OUTDIR)\testdbm.obj $(OUTDIR)\testreslist.obj \
61
$(OUTDIR)\testxml.obj $(OUTDIR)\testqueue.obj \
62
$(OUTDIR)\testrmm.obj $(OUTDIR)\testxlate.obj \
63
$(OUTDIR)\testdate.obj
65
CLEAN_DATA = manyfile.bin testfile.txt data\sqlite*.db
67
CLEAN_BUILDDIRS = Debug Release LibD LibR 9x x64
69
PROGRAMS = $(OUTDIR)\testall.exe
71
OTHER_PROGRAMS = $(OUTDIR)\dbd.exe
73
# bring in rules.mk for standard functionality
74
ALL: $(PROGRAMS) $(OTHER_PROGRAMS)
80
API_PATH = ..\..\apr-iconv
84
!IF "$(MODEL)" == "static"
85
PROGRAM_DEPENDENCIES = \
86
$(APR_PATH)\$(APROUTDIR)\apr-1.lib \
87
$(API_PATH)\$(OUTDIR)\apriconv-1.lib \
88
..\$(OUTDIR)\aprutil-1.lib
89
STATIC_CFLAGS = /D APR_DECLARE_STATIC /D APU_DECLARE_STATIC
91
PROGRAM_DEPENDENCIES = \
92
$(APR_PATH)\$(APROUTDIR)\libapr-1.lib \
93
$(API_PATH)\$(OUTDIR)\libapriconv-1.lib \
94
..\$(OUTDIR)\libaprutil-1.lib
104
INCLUDES=/I "../include" /I "$(API_PATH)/include" /I "$(APR_PATH)/include"
106
CFLAGS = /nologo /c /W3 /Gm /EHsc /Zi /Od $(INCLUDES) \
107
$(STATIC_CFLAGS) $(DEBUG_CFLAGS) /D "BINPATH=$(OUTDIR:\=/)" \
108
/D _DEBUG /D WIN32 /Fo"$(INTDIR)/" /FD
110
LD_LIBS = kernel32.lib advapi32.lib ws2_32.lib wsock32.lib \
111
ole32.lib shell32.lib rpcrt4.lib wldap32.lib
113
LDFLAGS = /nologo /debug /subsystem:console /incremental:no
114
SHLDFLAGS = /nologo /dll /debug /subsystem:windows /incremental:no
117
$(CL) $(CFLAGS) -c $< -Fd$(INTDIR)\ $(INCLUDES)
121
abts.c: abts.h abts_tests.h testutil.h
123
testutil.c: abts.h abts_tests.h testutil.h
125
$(OUTDIR)\testall.exe: $(ALL_TESTS) $(INTDIR)\abts.obj $(PROGRAM_DEPENDENCIES)
126
$(LD) $(LDFLAGS) /out:"$@" $** $(LD_LIBS)
127
@if exist "$@.manifest" \
128
mt.exe -manifest "$@.manifest" -outputresource:$@;1
132
$(OUTDIR)\dbd.exe: $(INTDIR)\dbd.obj $(PROGRAM_DEPENDENCIES)
133
$(LD) $(LDFLAGS) /out:"$@" $** $(LD_LIBS)
134
@if exist "$@.manifest" \
135
mt.exe -manifest "$@.manifest" -outputresource:$@;1
139
@for %f in ($(CLEAN_DATA)) do @if EXIST %f del /f %f
142
@if EXIST $(INTDIR)\. rmdir /s /q $(INTDIR)
143
@if EXIST $(OUTDIR)\. rmdir /s /q $(OUTDIR)
146
@for %d in ($(CLEAN_BUILDDIRS) $(INTDIR) $(OUTDIR)) do \
147
@if EXIST %d\. rmdir /s /q %d
150
PATH=$(OUTDIR);..\$(OUTDIR);$(API_PATH)\$(OUTDIR);$(APR_PATH)\$(APROUTDIR);$(PATH)
151
APR_ICONV1_PATH=$(API_PATH)\$(OUTDIR)\iconv
153
check: $(PROGRAMS) $(OTHER_PROGRAMS)
154
@for %p in ($(PROGRAMS)) do @( \
155
echo Testing %p && %p -v || echo %p failed \
157
echo Testing dbd sqlite2 && $(OUTDIR)\dbd.exe sqlite2 || echo Failed
158
echo Testing dbd sqlite3 && $(OUTDIR)\dbd.exe sqlite3 || echo Failed