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