ifneq ($(MAKESERVER),1)
$(error Please specify MAKESERVER=1 on the command line or as environment variable)
endif

INCLUDELIBFILES =  \
 composite\$(OBJDIR)\libcomposite.lib \
 config\$(OBJDIR)\libconfig.lib \
 damageext\$(OBJDIR)\libdamageext.lib \
 dbe\$(OBJDIR)\libdbe.lib \
 dix\$(OBJDIR)\libdix.lib \
 fb\$(OBJDIR)\libfb.lib \
 glx\$(OBJDIR)\libglx.lib \
 hw\xwin\$(OBJDIR)\libxwin.lib \
 hw\xwin\glx\$(OBJDIR)\libwinglx.lib \
 mi\$(OBJDIR)\libmi.lib \
 miext\damage\$(OBJDIR)\libdamage.lib \
 miext\shadow\$(OBJDIR)\libshadow.lib \
 os\$(OBJDIR)\libos.lib \
 randr\$(OBJDIR)\librandr.lib \
 record\$(OBJDIR)\librecord.lib \
 Xext\$(OBJDIR)\libxext.lib \
 xfixes\$(OBJDIR)\libxfixes.lib \
 Xi\$(OBJDIR)\libxi.lib \
 xkb\$(OBJDIR)\libxkb.lib \
 render\$(OBJDIR)\librender.lib \
 $(MHMAKECONF)\libxau\$(OBJDIR)\libxau.lib \
 $(MHMAKECONF)\libxdmcp\$(OBJDIR)\libxdmcp.lib \
 $(MHMAKECONF)\libXfont\src\util\$(OBJDIR)\libutil.lib \
 $(MHMAKECONF)\libXfont\src\fc\$(OBJDIR)\libfc.lib \
 $(MHMAKECONF)\libXfont\src\fontfile\$(OBJDIR)\libfontfile.lib \
 $(MHMAKECONF)\libXfont\src\builtins\$(OBJDIR)\libbuiltins.lib \
 $(MHMAKECONF)\libXfont\src\bitmap\$(OBJDIR)\libbitmap.lib \
 $(MHMAKECONF)\pixman\pixman\$(OBJDIR)\libpixman-1.lib \
 $(MHMAKECONF)\libx11\modules\im\ximcp\$(OBJDIR)\libximcp.lib \
 $(MHMAKECONF)\libx11\src\xlibi18n\$(OBJDIR)\libi18n.lib \
 $(MHMAKECONF)\libx11\src\$(OBJDIR)\libx11.lib \
 $(MHMAKECONF)\libx11\src\xcms\$(OBJDIR)\libxcms.lib \
 $(MHMAKECONF)\libxcb\src\$(OBJDIR)\libxcb.lib \
 $(MHMAKECONF)\libx11\src\xkb\$(OBJDIR)\libxkb.lib \
 $(MHMAKECONF)\libx11\modules\om\generic\$(OBJDIR)\libxomGeneric.lib \
 $(MHMAKECONF)\libx11\modules\lc\utf8\$(OBJDIR)\libxlcUTF8Load.lib \
 $(MHMAKECONF)\libx11\modules\lc\def\$(OBJDIR)\libxlcDef.lib \
 $(MHMAKECONF)\libx11\modules\lc\gen\$(OBJDIR)\liblcGenConvLoad.lib \
 $(MHMAKECONF)\zlib\$(OBJDIR)\libz.lib \
 $(MHMAKECONF)\libx11\modules\lc\xlocale\$(OBJDIR)\libxlocale.lib \
 $(MHMAKECONF)\libfontenc\src\$(OBJDIR)\libfontenc.lib \
 $(MHMAKECONF)\libxfont\src\freetype\$(OBJDIR)\libft.lib \
 $(MHMAKECONF)\libxfont\src\stubs\$(OBJDIR)\libstubs.lib \
 $(MHMAKECONF)\libxinerama\src\$(OBJDIR)\libxinerama.lib

LIBDIRS=$(dir $(INCLUDELIBFILES))

load_makefile $(LIBDIRS:%$(OBJDIR)\=%makefile MAKESERVER=$(MAKESERVER) DEBUG=$(DEBUG);)

OBJS = dix\$(OBJDIR)\main.obj

ifeq ($(DEBUG),1)
TTYAPP=vcxsrv_dbg
APP:=$(TTYAPP)

LINKLIBS += $(MHMAKECONF)\openssl\out32_d\libeay32.lib \
            $(MHMAKECONF)\freetype\lib\freetype200b8MT_D.lib \
            $(MHMAKECONF)\pthreads\pthreadVC2d.lib

$(OBJDIR)\$(TTYAPP).exe: $(LINKLIBS)

else
WINAPP=vcxsrv
APP:=$(WINAPP)

LINKLIBS += $(MHMAKECONF)\openssl\out32\libeay32.lib \
            $(MHMAKECONF)\freetype\lib\freetype200b8MT.lib \
            $(MHMAKECONF)\pthreads\pthreadVC2.lib

endif

RCINCLUDES += hw\xwin $(MHMAKECONF)\include $(MHMAKECONF)

XWin.rc: hw\xwin\XWin.rc
	copy $< $@

RESOURCES = XWin.rc

$(OBJDIR)\$(APP).exe: $(LINKLIBS)

XKeysymDB: ..\libX11\src\XKeysymDB
	copy $< $@

XErrorDB: ..\libX11\src\XErrorDB
	copy $< $@

%.exe: $(OBJDIR)\%.exe
	copy $< $@

load_makefile hw\xwin\xlaunch\makefile MAKESERVER=0 DEBUG=0
xlaunch.exe: hw\xwin\xlaunch\obj\release\xlaunch.exe
	copy $< $@

load_makefile ..\xkbcomp\makefile MAKESERVER=0 DEBUG=0
xkbcomp.exe: ..\xkbcomp\obj\release\xkbcomp.exe
	copy $< $@

%: ..\apps\xcalc\%.ad
	copy $< $@

load_makefile ..\apps\xcalc\makefile MAKESERVER=0 DEBUG=0
xcalc.exe: ..\apps\xcalc\obj\release\xcalc.exe XCalc XCalc-color
	copy $< $@

load_makefile ..\apps\xclock\makefile MAKESERVER=0 DEBUG=0
xclock.exe: ..\apps\xclock\obj\release\xclock.exe
	copy $< $@

load_makefile ..\apps\xwininfo\makefile MAKESERVER=0 DEBUG=0
xwininfo.exe: ..\apps\xwininfo\obj\release\xwininfo.exe
	copy $< $@

load_makefile ..\tools\plink\makefile MAKESERVER=0 DEBUG=0
plink.exe: ..\tools\plink\obj\release\plink.exe
	copy $< $@

load_makefile ..\libX11\nls\makefile MAKESERVER=0 DEBUG=0
load_makefile fonts.src\makefile MAKESERVER=0 DEBUG=0
load_makefile xkbdata.src\makefile MAKESERVER=0 DEBUG=0

all: $(APP).exe xlaunch.exe xkbcomp.exe protocol.txt XKeysymDB XErrorDB \
     ..\libX11\nls\all fonts.src\all xkbdata.src\all plink.exe xclock.exe xcalc.exe \
     xwininfo.exe swrast_dri.dll swrast_dri_dbg.dll


load_makefile ..\mesalib\windows\VC8\mesa\makefile MAKESERVER=0 DEBUG=0
swrast_dri.dll: ..\mesalib\windows\VC8\mesa\Release\swrast_dri.dll
	copy $< $@

swrast_dri_dbg.dll: ..\mesalib\windows\VC8\mesa\Debug\swrast_dri.dll
	copy $< $@

mesaopengl32.dll: ..\mesalib\lib\mesaopengl32.dll
	copy $< $@

protocol.txt: dix\protocol.txt
	copy $< $@