96 lines
3.4 KiB
Makefile
96 lines
3.4 KiB
Makefile
# The list of test is stored in a separate file, so that it can be shared with
|
|
# the Windows makefile, win.mak.
|
|
|
|
origdir = @srcdir@
|
|
|
|
vpath %.c $(origdir)
|
|
vpath %.sh $(origdir)
|
|
|
|
include $(origdir)/tests
|
|
|
|
# The included file defined variable TESTBINS, which is a list of program
|
|
# names in format exe/<testname>-test. Extract the base test names from it.
|
|
TESTNAMES = $(patsubst exe/%-test,%, $(TESTBINS))
|
|
|
|
# Set by autoconf
|
|
LDFLAGS = @LDFLAGS@
|
|
CFLAGS = @CFLAGS@
|
|
CPPFLAGS = @CPPFLAGS@
|
|
ODBC_CONFIG = @ODBC_CONFIG@
|
|
PROVE = @PROVE@
|
|
|
|
LD_LIBRARY_PATH := $(origdir)/../../mppdb_temp_install/lib:$(LD_LIBRARY_PATH)
|
|
|
|
LIBODBC := $(shell $(ODBC_CONFIG) --libs)
|
|
|
|
all: $(TESTBINS) runsuite reset-db
|
|
|
|
odbc.ini:
|
|
$(origdir)/odbcini-gen.sh $(odbc_ini_extras)
|
|
|
|
installcheck: all reset-db runsuite
|
|
$(origdir)/odbcini-gen.sh $(odbc_ini_extras)
|
|
rm -f regression.diffs
|
|
@if test ! -d results; then mkdir -p results; fi
|
|
ODBCSYSINI=. ODBCINSTINI=./odbcinst.ini ODBCINI=./odbc.ini ./reset-db < $(origdir)/sampletables.sql
|
|
# If the perl 'prove' test running utility is available, use it. It produces
|
|
# nice output. But otherwise just run the plain suite, it's usable as is too.
|
|
ifdef PROVE
|
|
prove -e ./runsuite $(TESTNAMES) :: --inputdir=$(origdir)
|
|
else
|
|
./runsuite $(TESTNAMES) --inputdir=$(origdir)
|
|
endif
|
|
|
|
override CFLAGS += -Wno-pointer-sign $(CFLAGS_ADD)
|
|
|
|
runsuite: runsuite.c
|
|
|
|
reset-db: reset-db.c exe/common.o
|
|
$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $^ -o $@ $(LIBODBC)
|
|
|
|
exe/common.o: src/common.c
|
|
@if test ! -d exe; then mkdir -p exe; fi
|
|
$(COMPILE.c) -c $< -o $@
|
|
|
|
$(origdir)/src/wchar-char-test.c: $(wildcard $(origdir)/src/wchar-char-test-*.c)
|
|
@touch -c $@
|
|
|
|
# For each test, compile the .c file.
|
|
exe/%-test: src/%-test.c exe/common.o
|
|
$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $^ -o exe/$*-test $(LIBODBC)
|
|
|
|
# This target runs the regression tests with all combinations of
|
|
# UseDeclareFetch, UseServerSidePrepare and Protocol options.
|
|
installcheck-all:
|
|
rm -f odbc.ini odbcinst.ini
|
|
$(MAKE) installcheck odbc_ini_extras="UseDeclareFetch=0 UseServerSidePrepare=1 Protocol=7.4-2"
|
|
rm -f odbc.ini odbcinst.ini
|
|
$(MAKE) installcheck odbc_ini_extras="UseDeclareFetch=0 UseServerSidePrepare=1 Protocol=7.4-1"
|
|
rm -f odbc.ini odbcinst.ini
|
|
$(MAKE) installcheck odbc_ini_extras="UseDeclareFetch=0 UseServerSidePrepare=1 Protocol=7.4-0"
|
|
|
|
rm -f odbc.ini odbcinst.ini
|
|
$(MAKE) installcheck odbc_ini_extras="UseDeclareFetch=0 UseServerSidePrepare=0 Protocol=7.4-2"
|
|
rm -f odbc.ini odbcinst.ini
|
|
$(MAKE) installcheck odbc_ini_extras="UseDeclareFetch=0 UseServerSidePrepare=0 Protocol=7.4-1"
|
|
rm -f odbc.ini odbcinst.ini
|
|
$(MAKE) installcheck odbc_ini_extras="UseDeclareFetch=0 UseServerSidePrepare=0 Protocol=7.4-0"
|
|
|
|
rm -f odbc.ini odbcinst.ini
|
|
$(MAKE) installcheck odbc_ini_extras="UseDeclareFetch=1 UseServerSidePrepare=1 Protocol=7.4-2"
|
|
rm -f odbc.ini odbcinst.ini
|
|
$(MAKE) installcheck odbc_ini_extras="UseDeclareFetch=1 UseServerSidePrepare=1 Protocol=7.4-1"
|
|
rm -f odbc.ini odbcinst.ini
|
|
$(MAKE) installcheck odbc_ini_extras="UseDeclareFetch=1 UseServerSidePrepare=1 Protocol=7.4-0"
|
|
|
|
rm -f odbc.ini odbcinst.ini
|
|
$(MAKE) installcheck odbc_ini_extras="UseDeclareFetch=1 UseServerSidePrepare=0 Protocol=7.4-2"
|
|
rm -f odbc.ini odbcinst.ini
|
|
$(MAKE) installcheck odbc_ini_extras="UseDeclareFetch=1 UseServerSidePrepare=0 Protocol=7.4-1"
|
|
rm -f odbc.ini odbcinst.ini
|
|
$(MAKE) installcheck odbc_ini_extras="UseDeclareFetch=1 UseServerSidePrepare=0 Protocol=7.4-0"
|
|
|
|
clean:
|
|
rm -f $(TESTBINS) exe/*.o runsuite reset-db
|
|
rm -f results/*
|