Makefile.win revision 256281
1217309Snwhitehorn# PROGRAMS
2255852Sdteske#   test programs invoked via standard user interface, run on all platforms
3220749Snwhitehorn# ALL_TESTS
4255852Sdteske#   test modules invoked through the abts suite (./testall)
5217309Snwhitehorn# OTHER_PROGRAMS
6220749Snwhitehorn#   programs such as sendfile, that have to be invoked in a special sequence
7220749Snwhitehorn#   or with special parameters
8220749Snwhitehorn
9220749Snwhitehorn# Windows Specific;
10220749Snwhitehorn# MODEL
11220749Snwhitehorn#   dynamic or static - refers to which set of bindings are desired
12220749Snwhitehorn#   and controls which libraries (apr-1 or libapr-1) will be linked.
13220749Snwhitehorn# OUTDIR
14220749Snwhitehorn#   the library path of the libraries, and also the path within test/
15220749Snwhitehorn#   where all of the tests for that library will be built
16220749Snwhitehorn# APROUTDIR
17220749Snwhitehorn#   The library path of apr (if different from OUTDIR)
18220749Snwhitehorn# APR_PATH
19220749Snwhitehorn#   relative or absolute path to locate apr libs and includes
20220749Snwhitehorn# API_PATH
21220749Snwhitehorn#   relative or absolute path to locate apr-iconv libs and includes
22220749Snwhitehorn
23220749Snwhitehorn!IFNDEF MODEL
24220749SnwhitehornMODEL=dynamic
25220749Snwhitehorn!ENDIF
26220749Snwhitehorn
27220749Snwhitehorn!IFNDEF OUTDIR
28220749Snwhitehorn!IF "$(MODEL)" == "static"
29220749SnwhitehornOUTDIR=LibR
30217309Snwhitehorn!ELSE
31217309SnwhitehornOUTDIR=Release
32217309Snwhitehorn!ENDIF
33217309Snwhitehorn
34251843Sbapt!IF [$(COMSPEC) /c cl /nologo /? \
35217309Snwhitehorn	| $(SystemRoot)\System32\find.exe "x64" >NUL ] == 0
36217309SnwhitehornOUTDIR=x64\$(OUTDIR)
37217309Snwhitehorn!ENDIF
38217309Snwhitehorn!ENDIF
39217309Snwhitehorn
40217309Snwhitehorn!IF !EXIST("$(OUTDIR)\.")
41217309Snwhitehorn!IF ([$(COMSPEC) /C mkdir $(OUTDIR)] == 0)
42217309Snwhitehorn!ENDIF
43217309Snwhitehorn!ENDIF
44217309Snwhitehorn
45217309Snwhitehorn!IFNDEF INTDIR
46217309SnwhitehornINTDIR=$(OUTDIR)
47217309Snwhitehorn!ELSE
48251843Sbapt!IF !EXIST("$(INTDIR)\.")
49217309Snwhitehorn!IF ([$(COMSPEC) /C mkdir $(INTDIR)] == 0)
50217309Snwhitehorn!ENDIF
51217309Snwhitehorn!ENDIF
52217309Snwhitehorn!ENDIF
53217309Snwhitehorn
54217309Snwhitehorn!MESSAGE Building tests into $(OUTDIR) for $(MODEL)
55217309Snwhitehorn
56217309SnwhitehornALL_TESTS = $(INTDIR)\teststrmatch.obj $(INTDIR)\testuri.obj \
57217309Snwhitehorn	$(INTDIR)\testuuid.obj $(INTDIR)\testutil.obj \
58217309Snwhitehorn	$(INTDIR)\testbuckets.obj $(INTDIR)\testpass.obj \
59217309Snwhitehorn	$(INTDIR)\testmd4.obj $(INTDIR)\testmd5.obj \
60217309Snwhitehorn	$(INTDIR)\testldap.obj $(INTDIR)\testdbd.obj \
61217309Snwhitehorn	$(INTDIR)\testdbm.obj $(INTDIR)\testreslist.obj \
62217309Snwhitehorn	$(INTDIR)\testxml.obj $(INTDIR)\testqueue.obj \
63217309Snwhitehorn	$(INTDIR)\testrmm.obj $(INTDIR)\testxlate.obj \
64217309Snwhitehorn	$(INTDIR)\testdate.obj $(INTDIR)\testmemcache.obj \
65217309Snwhitehorn	$(INTDIR)\testcrypto.obj
66217309Snwhitehorn
67217309SnwhitehornCLEAN_DATA = manyfile.bin testfile.txt data\sqlite*.db
68217309Snwhitehorn
69217309SnwhitehornCLEAN_BUILDDIRS = Debug Release LibD LibR 9x x64
70217309Snwhitehorn
71217309SnwhitehornPROGRAMS = \
72217309Snwhitehorn	$(OUTDIR)\testall.exe
73217309Snwhitehorn
74217309SnwhitehornOTHER_PROGRAMS = \
75217309Snwhitehorn	$(OUTDIR)\dbd.exe
76217309Snwhitehorn
77217309Snwhitehorn# bring in rules.mk for standard functionality
78217309SnwhitehornALL: $(PROGRAMS) $(OTHER_PROGRAMS)
79217309Snwhitehorn
80217309SnwhitehornCL = cl.exe
81217309SnwhitehornLD = link.exe 
82217309Snwhitehorn
83217309SnwhitehornAPR_PATH = ..\..\apr
84217309SnwhitehornAPI_PATH = ..\..\apr-iconv
85217309Snwhitehorn
86217309SnwhitehornAPROUTDIR=$(OUTDIR)
87217309Snwhitehorn
88217309Snwhitehorn!IF "$(MODEL)" == "static"
89217309SnwhitehornPROGRAM_DEPENDENCIES = \
90217309Snwhitehorn	$(APR_PATH)\$(APROUTDIR)\apr-1.lib \
91217309Snwhitehorn	..\$(OUTDIR)\aprutil-1.lib 
92217309SnwhitehornSTATIC_CFLAGS = /D APR_DECLARE_STATIC /D APU_DECLARE_STATIC
93217309SnwhitehornSTATIC_LIBS = odbc32.lib odbccp32.lib wldap32.lib 
94217309Snwhitehorn!ELSE
95217309SnwhitehornPROGRAM_DEPENDENCIES = \
96217309Snwhitehorn	$(APR_PATH)\$(APROUTDIR)\libapr-1.lib \
97217309Snwhitehorn	..\$(OUTDIR)\libaprutil-1.lib 
98217309SnwhitehornSTATIC_CFLAGS =
99217309Snwhitehorn# APR 1.3 doesn't fully abstract ldap_ calls to permit switching providers;
100217309SnwhitehornSTATIC_LIBS = wldap32.lib 
101217309Snwhitehorn!ENDIF
102217309Snwhitehorn
103217309Snwhitehorn!IFDEF _DEBUG
104217309SnwhitehornDEBUG_CFLAGS = /MDd
105217309Snwhitehorn!ELSE
106217309SnwhitehornDEBUG_CFLAGS = /MD 
107217309Snwhitehorn!ENDIF
108217309Snwhitehorn
109217309SnwhitehornINCLUDES=/I "../include" /I "$(API_PATH)/include" /I "$(APR_PATH)/include"
110217309Snwhitehorn
111217309SnwhitehornCFLAGS = /nologo /c /W3 /Gm /EHsc /Zi /Od $(INCLUDES) \
112217309Snwhitehorn	 $(STATIC_CFLAGS) $(DEBUG_CFLAGS) /D "BINPATH=$(OUTDIR:\=/)" \
113217309Snwhitehorn	 /D _DEBUG /D WIN32 /Fo"$(INTDIR)/" /FD
114217309Snwhitehorn
115217309SnwhitehornLD_LIBS = kernel32.lib advapi32.lib ws2_32.lib wsock32.lib \
116217309Snwhitehorn	  ole32.lib shell32.lib rpcrt4.lib $(STATIC_LIBS)
117217309Snwhitehorn
118217309SnwhitehornLDFLAGS = /nologo /debug /subsystem:console /incremental:no 
119217309SnwhitehornSHLDFLAGS = /nologo /dll /debug /subsystem:windows /incremental:no
120217309Snwhitehorn
121217309Snwhitehorn.c{$(INTDIR)}.obj::
122217309Snwhitehorn	$(CL) $(CFLAGS) -c $< -Fd$(INTDIR)\ $(INCLUDES)
123217309Snwhitehorn
124217309Snwhitehorn# PROGRAMS;
125217309Snwhitehorn
126217309Snwhitehornabts.c: abts.h abts_tests.h testutil.h
127217309Snwhitehorn
128217309Snwhitehorntestutil.c: abts.h abts_tests.h testutil.h
129217309Snwhitehorn
130217309Snwhitehorn$(OUTDIR)\testall.exe: $(ALL_TESTS) $(INTDIR)\abts.obj $(PROGRAM_DEPENDENCIES)
131217309Snwhitehorn	$(LD) $(LDFLAGS) /out:"$@" $** $(LD_LIBS)
132217309Snwhitehorn	@if exist "$@.manifest" \
133217309Snwhitehorn	    mt.exe -manifest "$@.manifest" -outputresource:$@;1
134217309Snwhitehorn
135217309Snwhitehorn# OTHER_PROGRAMS;
136217309Snwhitehorn
137217309Snwhitehorn$(OUTDIR)\dbd.exe: $(INTDIR)\dbd.obj $(PROGRAM_DEPENDENCIES)
138217309Snwhitehorn	$(LD) $(LDFLAGS) /out:"$@" $** $(LD_LIBS)
139217309Snwhitehorn	@if exist "$@.manifest" \
140217309Snwhitehorn	    mt.exe -manifest "$@.manifest" -outputresource:$@;1
141217309Snwhitehorn
142217309Snwhitehorn
143217309Snwhitehorncleandata:
144217309Snwhitehorn	@for %f in ($(CLEAN_DATA)) do @if EXIST %f del /f %f
145217309Snwhitehorn
146217309Snwhitehornclean: cleandata
147217309Snwhitehorn	@if EXIST $(INTDIR)\. rmdir /s /q $(INTDIR)
148217309Snwhitehorn	@if EXIST $(OUTDIR)\. rmdir /s /q $(OUTDIR)
149217309Snwhitehorn
150217309Snwhitehorncleanall: 
151217309Snwhitehorn	@for %d in ($(CLEAN_BUILDDIRS) $(INTDIR) $(OUTDIR)) do \
152217309Snwhitehorn	    @if EXIST %d\. rmdir /s /q %d
153217309Snwhitehorn
154217309Snwhitehorn
155217309Snwhitehorn!IF "$(MODEL)" != "static"
156217309SnwhitehornPATH=$(OUTDIR);..\$(OUTDIR);..\ldap\$(OUTDIR);..\dbd\$(OUTDIR);$(API_PATH)\$(OUTDIR);$(APR_PATH)\$(APROUTDIR);$(PATH)
157217309Snwhitehorn!ENDIF
158217309SnwhitehornAPR_ICONV1_PATH=$(API_PATH)\$(OUTDIR)\iconv
159217309Snwhitehorn
160217309Snwhitehorncheck: $(PROGRAMS) $(OTHER_PROGRAMS)
161217309Snwhitehorn	echo Testing dbd sqlite2 && $(OUTDIR)\dbd.exe sqlite2 || echo Failed
162217309Snwhitehorn	echo Testing dbd sqlite3 && $(OUTDIR)\dbd.exe sqlite3 || echo Failed
163217309Snwhitehorn	@for %p in ($(PROGRAMS)) do @( \
164217309Snwhitehorn	    echo Testing %p && %p -v || echo %p failed \
165217309Snwhitehorn	)
166217309Snwhitehorn
167217309Snwhitehorncheckall: check
168217309Snwhitehorn
169217309Snwhitehorn# DO NOT REMOVE
170217309Snwhitehorn