]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - contrib/apr-util/test/Makefile.win
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / contrib / apr-util / test / Makefile.win
1 # PROGRAMS
2 #   test programs invoked via standard user interface, run on all platforms
3 # ALL_TESTS
4 #   test modules invoked through the abts suite (./testall)
5 # OTHER_PROGRAMS
6 #   programs such as sendfile, that have to be invoked in a special sequence
7 #   or with special parameters
8
9 # Windows Specific;
10 # MODEL
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.
13 # OUTDIR
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
16 # APROUTDIR
17 #   The library path of apr (if different from OUTDIR)
18 # APR_PATH
19 #   relative or absolute path to locate apr libs and includes
20 # API_PATH
21 #   relative or absolute path to locate apr-iconv libs and includes
22
23 !IFNDEF MODEL
24 MODEL=dynamic
25 !ENDIF
26
27 !IFNDEF OUTDIR
28 !IF "$(MODEL)" == "static"
29 OUTDIR=LibR
30 !ELSE
31 OUTDIR=Release
32 !ENDIF
33
34 !IF [$(COMSPEC) /c cl /nologo /? \
35         | $(SystemRoot)\System32\find.exe "x64" >NUL ] == 0
36 OUTDIR=x64\$(OUTDIR)
37 !ENDIF
38 !ENDIF
39
40 !IF !EXIST("$(OUTDIR)\.")
41 !IF ([$(COMSPEC) /C mkdir $(OUTDIR)] == 0)
42 !ENDIF
43 !ENDIF
44
45 !IFNDEF INTDIR
46 INTDIR=$(OUTDIR)
47 !ELSE
48 !IF !EXIST("$(INTDIR)\.")
49 !IF ([$(COMSPEC) /C mkdir $(INTDIR)] == 0)
50 !ENDIF
51 !ENDIF
52 !ENDIF
53
54 !MESSAGE Building tests into $(OUTDIR) for $(MODEL)
55
56 ALL_TESTS = $(INTDIR)\teststrmatch.obj $(INTDIR)\testuri.obj \
57         $(INTDIR)\testuuid.obj $(INTDIR)\testutil.obj \
58         $(INTDIR)\testbuckets.obj $(INTDIR)\testpass.obj \
59         $(INTDIR)\testmd4.obj $(INTDIR)\testmd5.obj \
60         $(INTDIR)\testldap.obj $(INTDIR)\testdbd.obj \
61         $(INTDIR)\testdbm.obj $(INTDIR)\testreslist.obj \
62         $(INTDIR)\testxml.obj $(INTDIR)\testqueue.obj \
63         $(INTDIR)\testrmm.obj $(INTDIR)\testxlate.obj \
64         $(INTDIR)\testdate.obj $(INTDIR)\testmemcache.obj \
65         $(INTDIR)\testcrypto.obj
66
67 CLEAN_DATA = manyfile.bin testfile.txt data\sqlite*.db
68
69 CLEAN_BUILDDIRS = Debug Release LibD LibR 9x x64
70
71 PROGRAMS = \
72         $(OUTDIR)\testall.exe
73
74 OTHER_PROGRAMS = \
75         $(OUTDIR)\dbd.exe
76
77 # bring in rules.mk for standard functionality
78 ALL: $(PROGRAMS) $(OTHER_PROGRAMS)
79
80 CL = cl.exe
81 LD = link.exe 
82
83 APR_PATH = ..\..\apr
84 API_PATH = ..\..\apr-iconv
85
86 APROUTDIR=$(OUTDIR)
87
88 !IF "$(MODEL)" == "static"
89 PROGRAM_DEPENDENCIES = \
90         $(APR_PATH)\$(APROUTDIR)\apr-1.lib \
91         ..\$(OUTDIR)\aprutil-1.lib 
92 STATIC_CFLAGS = /D APR_DECLARE_STATIC /D APU_DECLARE_STATIC
93 STATIC_LIBS = odbc32.lib odbccp32.lib wldap32.lib 
94 !ELSE
95 PROGRAM_DEPENDENCIES = \
96         $(APR_PATH)\$(APROUTDIR)\libapr-1.lib \
97         ..\$(OUTDIR)\libaprutil-1.lib 
98 STATIC_CFLAGS =
99 # APR 1.3 doesn't fully abstract ldap_ calls to permit switching providers;
100 STATIC_LIBS = wldap32.lib 
101 !ENDIF
102
103 !IFDEF _DEBUG
104 DEBUG_CFLAGS = /MDd
105 !ELSE
106 DEBUG_CFLAGS = /MD 
107 !ENDIF
108
109 INCLUDES=/I "../include" /I "$(API_PATH)/include" /I "$(APR_PATH)/include"
110
111 CFLAGS = /nologo /c /W3 /Gm /EHsc /Zi /Od $(INCLUDES) \
112          $(STATIC_CFLAGS) $(DEBUG_CFLAGS) /D "BINPATH=$(OUTDIR:\=/)" \
113          /D _DEBUG /D WIN32 /Fo"$(INTDIR)/" /FD
114
115 LD_LIBS = kernel32.lib advapi32.lib ws2_32.lib wsock32.lib \
116           ole32.lib shell32.lib rpcrt4.lib $(STATIC_LIBS)
117
118 LDFLAGS = /nologo /debug /subsystem:console /incremental:no 
119 SHLDFLAGS = /nologo /dll /debug /subsystem:windows /incremental:no
120
121 .c{$(INTDIR)}.obj::
122         $(CL) $(CFLAGS) -c $< -Fd$(INTDIR)\ $(INCLUDES)
123
124 # PROGRAMS;
125
126 abts.c: abts.h abts_tests.h testutil.h
127
128 testutil.c: abts.h abts_tests.h testutil.h
129
130 $(OUTDIR)\testall.exe: $(ALL_TESTS) $(INTDIR)\abts.obj $(PROGRAM_DEPENDENCIES)
131         $(LD) $(LDFLAGS) /out:"$@" $** $(LD_LIBS)
132         @if exist "$@.manifest" \
133             mt.exe -manifest "$@.manifest" -outputresource:$@;1
134
135 # OTHER_PROGRAMS;
136
137 $(OUTDIR)\dbd.exe: $(INTDIR)\dbd.obj $(PROGRAM_DEPENDENCIES)
138         $(LD) $(LDFLAGS) /out:"$@" $** $(LD_LIBS)
139         @if exist "$@.manifest" \
140             mt.exe -manifest "$@.manifest" -outputresource:$@;1
141
142
143 cleandata:
144         @for %f in ($(CLEAN_DATA)) do @if EXIST %f del /f %f
145
146 clean: cleandata
147         @if EXIST $(INTDIR)\. rmdir /s /q $(INTDIR)
148         @if EXIST $(OUTDIR)\. rmdir /s /q $(OUTDIR)
149
150 cleanall: 
151         @for %d in ($(CLEAN_BUILDDIRS) $(INTDIR) $(OUTDIR)) do \
152             @if EXIST %d\. rmdir /s /q %d
153
154
155 !IF "$(MODEL)" != "static"
156 PATH=$(OUTDIR);..\$(OUTDIR);..\ldap\$(OUTDIR);..\dbd\$(OUTDIR);$(API_PATH)\$(OUTDIR);$(APR_PATH)\$(APROUTDIR);$(PATH)
157 !ENDIF
158 APR_ICONV1_PATH=$(API_PATH)\$(OUTDIR)\iconv
159
160 check: $(PROGRAMS) $(OTHER_PROGRAMS)
161         echo Testing dbd sqlite2 && $(OUTDIR)\dbd.exe sqlite2 || echo Failed
162         echo Testing dbd sqlite3 && $(OUTDIR)\dbd.exe sqlite3 || echo Failed
163         @for %p in ($(PROGRAMS)) do @( \
164             echo Testing %p && %p -v || echo %p failed \
165         )
166
167 checkall: check
168
169 # DO NOT REMOVE