1# PROGRAMS includes all test programs built on this platform.
2# STDTEST_PORTABLE
3#   test programs invoked via standard user interface, run on all platforms
4# STDTEST_NONPORTABLE
5#   test programs invoked via standard user interface, not portable
6# OTHER_PROGRAMS
7#   programs such as sendfile, that have to be invoked in a special sequence
8#   or with special parameters
9
10!IFNDEF MODEL
11MODEL=dynamic
12!ENDIF
13
14INCDIR=../../include
15
16!IFNDEF OUTDIR
17!IF "$(MODEL)" == "static"
18OUTDIR=LibR
19!ELSE
20OUTDIR=Release
21!ENDIF
22
23!IF [$(COMSPEC) /c cl /nologo /? | find "x64" >NUL ] == 0
24OUTDIR=x64\$(OUTDIR)
25!ENDIF
26!ENDIF
27
28!IF !EXIST("$(OUTDIR)\.")
29!IF ([$(COMSPEC) /C mkdir $(OUTDIR)] == 0)
30!ENDIF
31!ENDIF
32
33!IFNDEF INTDIR
34INTDIR=$(OUTDIR)
35!ELSE
36!IF !EXIST("$(INTDIR)\.")
37!IF ([$(COMSPEC) /C mkdir $(INTDIR)] == 0)
38!ENDIF
39!ENDIF
40!ENDIF
41
42!MESSAGE Building tests into $(OUTDIR) for $(MODEL)
43
44NONPORTABLE = \
45	$(OUTDIR)\testucs.exe
46
47CLEAN_BUILDDIRS = Release Debug 9x x64
48
49PROGRAMS = 
50
51TARGETS = $(PROGRAMS) $(NONPORTABLE)
52
53# bring in rules.mk for standard functionality
54ALL: $(TARGETS)
55
56CL = cl.exe
57LD = link.exe 
58
59!IF "$(MODEL)" == "static"
60LOCAL_LIB= ..\..\$(OUTDIR)\apr-1.lib 
61STATIC_CFLAGS = /D APR_DECLARE_STATIC
62!ELSE
63LOCAL_LIB= ..\..\$(OUTDIR)\libapr-1.lib 
64STATIC_CFLAGS = 
65!ENDIF
66
67!IFDEF _DEBUG
68DEBUG_CFLAGS = /MDd
69!ELSE
70DEBUG_CFLAGS = /MD 
71!ENDIF
72
73INCLUDES=/I "$(INCDIR)"
74
75CFLAGS = /nologo /c /W3 /Gm /EHsc /Zi /Od $(INCLUDES) \
76	 $(STATIC_CFLAGS) $(DEBUG_CFLAGS) /D "BINPATH=$(OUTDIR:\=/)" \
77	 /D _DEBUG /D WIN32 /Fo"$(INTDIR)/" /FD
78
79LD_LIBS = kernel32.lib advapi32.lib ws2_32.lib wsock32.lib \
80	  ole32.lib shell32.lib rpcrt4.lib
81
82LDFLAGS = /nologo /debug /subsystem:console /incremental:no 
83SHLDFLAGS = /nologo /dll /debug /subsystem:windows /incremental:no
84
85.c{$(INTDIR)}.obj:
86	$(CL) $(CFLAGS) -c $< -Fd$(INTDIR)\ $(INCLUDES) 
87
88$(OUTDIR)\testucs.exe: $(INTDIR)\testucs.obj $(LOCAL_LIB) 
89	$(LD) $(LDFLAGS) /out:"$@" $** $(LD_LIBS)
90	@if exist "$@.manifest" \
91	    mt.exe -manifest "$@.manifest" -outputresource:$@;1
92
93
94clean:
95	@if EXIST $(INTDIR)\. rmdir /s /q $(INTDIR)
96	@if EXIST $(OUTDIR)\. rmdir /s /q $(OUTDIR)
97
98cleanall:
99	@for %d in ($(CLEAN_BUILDDIRS)) do @if EXIST %d\. rmdir /s /q %d
100
101
102PATH=$(OUTDIR);..\..\$(OUTDIR);$(PATH)
103
104check: $(NONPORTABLE)
105	@for %p in ($(NONPORTABLE)) do @( \
106	    echo Testing %p && %p || echo %p failed \
107	)
108
109# DO NOT REMOVE
110