## Makefile for building the GLib test programs with gcc for mingw.
## Use: make -f makefile.mingw check

TOP = ../..

include ../build/win32/make.mingw

# Possibly override GLib version in build\win32\module.defs
GLIB_VER = @GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@

################################################################

# Nothing much configurable below

INCLUDES = -I .. -I ../gmodule
DEFINES = -DHAVE_CONFIG_H

BUILD_DLL = ../build-dll

TESTS = \
	array-test.exe	\
	date-test.exe	\
	dirname-test.exe\
	gio-test.exe	\
	hash-test.exe	\
	list-test.exe	\
	mainloop-test.exe\
	markup-test.exe	\
	module-test.exe	\
	node-test.exe	\
	queue-test.exe	\
	rand-test.exe	\
	relation-test.exe\
	shell-test.exe	\
	slist-test.exe	\
	spawn-test.exe	\
	strfunc-test.exe\
	string-test.exe	\
	thread-test.exe	\
	threadpool-test.exe\
	tree-test.exe	\
	type-test.exe	\
	unicode-encoding.exe \
	libmoduletestplugin_a.dll \
	libmoduletestplugin_b.dll

all:	$(TESTS)

ifeq ($(wildcard makefile.mingw.in),makefile.mingw.in)
makefile.mingw: makefile.mingw.in
	sed -e 's,@GLIB[_]MAJOR_VERSION@,@GLIB_MAJOR_VERSION@,' \
	    -e 's,@GLIB[_]MINOR_VERSION@,@GLIB_MINOR_VERSION@,' <$< >$@
endif

.SUFFIXES: .c .i .exe

.c.exe:
	$(CC) $(CFLAGS) -o $@ $< -L ../gthread -lgthread-$(GLIB_VER) -L .. -lglib-$(GLIB_VER) 

module-test.exe : module-test.o
	$(CC) $(CFLAGS) -Wl,--base-file,module-test.base -o module-test.exe module-test.o -L .. -lglib-$(GLIB_VER) -L ../gmodule -lgmodule-$(GLIB_VER) $(LDFLAGS)
	$(DLLTOOL) --base-file module-test.base --output-exp module-test.exp module-test.o
	$(CC) $(CFLAGS) -Wl,--base-file,module-test.base,module-test.exp -o module-test.exe module-test.o -L .. -lglib-$(GLIB_VER) -L ../gmodule -lgmodule-$(GLIB_VER) $(LDFLAGS)
	$(DLLTOOL) --base-file module-test.base --output-exp module-test.exp module-test.o
	$(CC) $(CFLAGS) -Wl,module-test.exp -o module-test.exe module-test.o -L .. -lglib-$(GLIB_VER) -L ../gmodule -lgmodule-$(GLIB_VER) $(LDFLAGS)

libmoduletestplugin_a.dll : libmoduletestplugin_a.o
	$(BUILD_DLL) libmoduletestplugin_a - - libmoduletestplugin_a.o -L .. -lglib-$(GLIB_VER) -L ../gmodule -lgmodule-$(GLIB_VER)

libmoduletestplugin_b.dll : libmoduletestplugin_b.o
	$(BUILD_DLL) libmoduletestplugin_b - - libmoduletestplugin_b.o -L .. -lglib-$(GLIB_VER) -L ../gmodule -lgmodule-$(GLIB_VER)

check:	all
	@for P in $(TESTS) ; do echo $$P; ./$$P; done
	@echo All tests successful.
