## Makefile for building the gtk test apps with Microsoft C
## Use: nmake -f makefile.msc

## There is no install target, you have to decide where and 
## how to install for yourself.

TOP = ..\..
!INCLUDE $(TOP)/glib/build/win32/make.msc

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

# Possibly override versions from build/win32/module.defs
GTK_VER = 3.0

GDK_LIBS = ../gdk/gdk-win32-$(GTK_VER).lib
GTK_LIBS = ../gtk/gtk-win32-$(GTK_VER).lib

INCLUDES = -I . -I .. -I ../gdk -I ../gtk $(GDK_PIXBUF_CFLAGS)
DEPCFLAGS = $(PANGO_CFLAGS) $(GLIB_CFLAGS) $(LIBICONV_CFLAGS) $(INTL_CFLAGS) $(ATK_CFLAGS) $(CAIRO_CFLAGS)
LDFLAGS = /link /machine:ix86 $(LINKDEBUG)
DEFINES = -DG_LOG_DOMAIN=\"GtkTest\" -DGTK_VERSION=\"$(GTK_VER)\"

TOUCH = copy makefile.msc+nul

!IFNDEF TESTAPP

all :	\
	..\config.h	\
	prop-editor.obj \
	all-test-apps

..\config.h : ..\config.h.win32
	copy ..\config.h.win32 ..\config.h


#
# Test programs:
#
TESTAPPS = \
#	buildertest floatingtest \
	flicker \
#	objecttests \
	testaccel testactions testassistant \
	testbbox testbuttons \
	testcairo testcalendar testcellrenderertext testclientmessage testcombo testcombochange \
	testdnd \
	testellipsise testentrycompletion testentryicons \
	testfilechooser testfilechooserbutton testframe \
	testgrouping testgtk \
	testicontheme testiconview testimage testinput \
	testmountoperation testmenubars testmerge testmultidisplay testmultiscreen \
	testnouiprint testnotebookdnd \
	testoffscreen testorientable \
	testprint \
	testrecentchooser testrecentchoosermenu testrichtext \
	testscale testselection testspinbutton \
	testtoolbar testtooltips \
	testtreecolumns testtreecolumnsizing testtreeedit testtreeflow testtreefocus \
	testtreemodel testtreesort testtreeview treestoretest \
	teststatusicon \
	testthreads testvolumebutton testwindows testxinerama \
	simple

# syntax error : illegal character '-' in macro
#stresstest-toolbar


all-test-apps: 
	@for %d in ($(TESTAPPS)) do @nmake -nologo -f makefile.msc one-test-app THIS=%d

one-test-app:
	@nmake -nologo -f makefile.msc $(THIS).exe TESTAPP=$(THIS) EXTRA_$(THIS)=1

!ELSE

EXTRA_OBJETCS = prop-editor.obj

!IFDEF EXTRA_buildertest
EXTRA_LIBS = $(ATK_LIBS)
!ENDIF

!IFDEF EXTRA_testoffscreen
EXTRA_OBJETCS = gtkoffscreenbox.obj
!ENDIF

!IFDEF EXTRA_testprint
EXTRA_OBJETCS = testprintfileoperation.obj
EXTRA_LIBS = $(PANGOCAIRO_LIBS)
!ENDIF

!IFDEF EXTRA_testnouiprint
EXTRA_LIBS = $(PANGOCAIRO_LIBS)
!ENDIF

!IFDEF EXTRA_testfilechooser
EXTRA_LIBS = gdi32.lib user32.lib shell32.lib
!ENDIF

!IFDEF EXTRA_testsocket
EXTRA_OBJETCS = testsocket_common.obj
!ENDIF

!IFDEF EXTRA_testsocket_child
EXTRA_OBJETCS = testsocket_common.obj
!ENDIF

$(TESTAPP).exe : ../gtk/gtk-win32-$(GTK_VER).lib $(TESTAPP).obj $(EXTRA_OBJETCS)
	$(CC) $(CFLAGS) $(TESTAPP).obj $(EXTRA_OBJETCS) $(GTK_LIBS) $(GDK_LIBS) $(GDK_PIXBUF_LIBS) \
	$(PANGO_LIBS) $(PANGOCAIRO_LIBS) $(GLIB_LIBS) $(CAIRO_LIBS) $(EXTRA_LIBS) $(LDFLAGS)

$(TESTAPP).obj : $(TESTAPP).c
	$(CC) $(CFLAGS) -c -DG_LOG_DOMAIN=\"$(TESTAPP)\" $(TESTAPP).c

!ENDIF
