## Makefile for building the GLib test programs with Microsoft C
## Use: nmake -f makefile.msc check

TOP = ..\..

!INCLUDE ..\build\win32\make.msc

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

INCLUDES = -FImsvc_recommended_pragmas.h -I .. -I ..\glib -I ..\gmodule
DEFINES = -DHAVE_CONFIG_H -DENABLE_REGEX

NONAUTOMATIC_TESTS = \
	testglib.exe	\
	testgdate.exe	\
	testgdateparser.exe \
	unicode-normalize.exe \
	unicode-collate.exe

TESTS = \
	atomic-test.exe \
	array-test.exe	\
	asyncqueue-test.exe \
	base64-test.exe \
	bit-test.exe \
	bookmarkfile-test.exe \
	child-test.exe \
	checksum-test.exe \
	completion-test.exe \
	convert-test.exe \
	date-test.exe	\
	dirname-test.exe \
	env-test.exe \
	errorcheck-mutex-test.exe \
	file-test.exe \
	gio-test.exe	\
	iochannel-test.exe \
	hash-test.exe	\
	keyfile-test.exe \
	list-test.exe	\
	mainloop-test.exe \
	mapping-test.exe \
	markup-escape-test.exe \
	markup-test.exe	\
#main?	memchunks.exe \
	module-test.exe	\
	node-test.exe	\
	option-test.exe \
	patterntest.exe \
	printf-test.exe \
	queue-test.exe	\
	qsort-test.exe \
	rand-test.exe	\
	regex-test.exe \
	relation-test.exe \
#_?	sequence-test.exe \
	shell-test.exe	\
	slice-color.exe \
	slice-test.exe	\
	slist-test.exe	\
	spawn-test.exe	\
# strfunc-test doesn't compile with MSVC
#	strfunc-test.exe\
	string-test.exe	\
# strtod-test doesn't either
#	strtod-test.exe \
	thread-test.exe	\
	threadpool-test.exe\
	tree-test.exe	\
	type-test.exe	\
	unicode-caseconv.exe \
	unicode-encoding.exe \
	utf8-validate.exe \
	utf8-pointer.exe \
	uri-test.exe \
	\
	gio-ls.exe

DLLS = \
	libmoduletestplugin_a.dll \
	libmoduletestplugin_b.dll

all :	$(TESTS) $(NONAUTOMATIC_TESTS) $(DLLS)

.c.exe :
	$(CC) $(CFLAGS) -c $<
	$(CC) $(CFLAGS) -Fe$@ $< ..\glib\glib-2.0.lib ..\gmodule\gmodule-2.0.lib ..\gthread\gthread-2.0.lib $(LDFLAGS) user32.lib /subsystem:console

gio-ls.exe : gio-ls.obj
	$(CC) $(CFLAGS) -Fe$@ gio-ls.obj \
	..\glib\glib-2.0.lib ..\gmodule\gmodule-2.0.lib ..\gthread\gthread-2.0.lib \
	..\gobject\gobject-2.0.lib ..\gio\gio-2.0.lib \
	$(LDFLAGS) user32.lib /subsystem:console

slice-test.exe : memchunks.obj slice-test.obj 
	$(CC) $(CFLAGS) -Fe$@ memchunks.obj slice-test.obj \
	..\glib\glib-2.0.lib ..\gmodule\gmodule-2.0.lib ..\gthread\gthread-2.0.lib $(LDFLAGS) user32.lib /subsystem:console
	
libmoduletestplugin_a.dll : libmoduletestplugin_a.obj
	$(CC) $(CFLAGS) -LD libmoduletestplugin_a.obj ..\gmodule\gmodule-2.0.lib ..\glib\glib-2.0.lib $(LDFLAGS)

libmoduletestplugin_b.dll : libmoduletestplugin_b.obj
	$(CC) $(CFLAGS) -LD libmoduletestplugin_b.obj ..\gmodule\gmodule-2.0.lib ..\glib\glib-2.0.lib $(LDFLAGS)

check:	all
	for %p in ($(TESTS)) do set PATH=..\glib;..\gmodule;..\gobject;..\gthread;%PATH% && %p
