84 lines
2.0 KiB
Makefile
84 lines
2.0 KiB
Makefile
#
|
|
# File: win.mak
|
|
#
|
|
# Description: Makefile for regression tests on Windows
|
|
# (can be built using platform SDK's buildfarm)
|
|
#
|
|
# Usage: NMAKE /f win.mak [ installcheck ]
|
|
#
|
|
# Comments: Created by Michael Paquier, 2014-05-21
|
|
#
|
|
|
|
ORIGDIR=.
|
|
# Include the list of tests
|
|
!INCLUDE tests
|
|
|
|
SRCDIR=$(ORIGDIR)\src
|
|
OBJDIR=exe
|
|
EXEDIR=exe
|
|
|
|
# The 'tests' file contains names of the test programs, in form
|
|
# exe/<testname>-test. Extract the base names of the tests, by stripping the
|
|
# "exe/" prefix and "-test" suffix. (It would seem more straightforward to do
|
|
# it the other way round, but it is surprisingly difficult to add a
|
|
# prefix/suffix to a list in nmake. Removing them is much easier.)
|
|
TESTS = $(TESTBINS:exe/=)
|
|
TESTS = $(TESTS:-test=)
|
|
|
|
# Now create names of the test .exe from the base names
|
|
|
|
# exe\<testname>.exe
|
|
TESTEXES = $(TESTBINS:-test=-test.exe)
|
|
TESTEXES = $(TESTEXES:/=\)
|
|
|
|
COMSRC = $(SRCDIR)\common.c
|
|
COMOBJ = $(OBJDIR)\common.obj
|
|
|
|
# Flags
|
|
CLFLAGS=/W3 /D WIN32 /D _CRT_SECURE_NO_DEPRECATE
|
|
LINKFLAGS=/link odbc32.lib odbccp32.lib /MANIFEST:EMBED
|
|
|
|
# Build an executable for each test.
|
|
#
|
|
{$(SRCDIR)\}.c{$(EXEDIR)\}.exe:
|
|
$(CC) /Fe.\$(EXEDIR)\ /Fo.\$(OBJDIR)\ $< $(COMOBJ) $(CLFLAGS) $(LINKFLAGS)
|
|
|
|
all: $(TESTEXES) runsuite.exe
|
|
|
|
$(TESTEXES): $(OBJDIR) $(COMOBJ)
|
|
|
|
$(COMOBJ): $(COMSRC)
|
|
$(CC) $(CLFLAGS) /c $? /Fo$@
|
|
|
|
$(OBJDIR) :
|
|
!IF !EXIST($(OBJDIR))
|
|
mkdir $(OBJDIR)
|
|
!ENDIF
|
|
!IF !EXIST($(EXEDIR)) && "$(EXEDIR)" != "$(OBJDIR)"
|
|
mkdir "$(EXEDIR)"
|
|
!ENDIF
|
|
|
|
|
|
runsuite.exe: $(ORIGDIR)\runsuite.c
|
|
$(CC) $** $(CLFLAGS) $(LINKFLAGS)
|
|
|
|
reset-db.exe: $(ORIGDIR)\reset-db.c $(COMOBJ)
|
|
$(CC) $** $(CLFLAGS) $(LINKFLAGS)
|
|
|
|
# activate the above inference rule
|
|
.SUFFIXES: .out
|
|
|
|
# Run regression tests
|
|
RESDIR=results
|
|
installcheck: runsuite.exe $(TESTEXES) reset-db.exe
|
|
del regression.diffs
|
|
.\reset-db < $(ORIGDIR)\sampletables.sql
|
|
!IF !EXIST($(RESDIR))
|
|
mkdir $(RESDIR)
|
|
!ENDIF
|
|
.\runsuite $(TESTS) --inputdir=$(ORIGDIR)
|
|
|
|
clean:
|
|
-del $(EXEDIR)\*.exe
|
|
-del $(OBJDIR)\*.obj
|