--- Makefile.orig	2005-05-30 10:23:47.000000000 +0300
+++ Makefile	2009-08-26 17:31:09.000000000 +0300
@@ -22,13 +22,13 @@
 ######################################################################
 # DIRECTIVES :
 
-.SUFFIXES : .ml .mli .cmo .cmx
+.SUFFIXES : .ml .mli .cmo .cmx .sobj .obj .dobj .rc
 
 ######################################################################
 # MACROS :
 
 FLAGS=
-CFLAGS=-ccopt /W3 -ccopt /YX -ccopt /Fpwin32.pch
+CFLAGS=-ccopt /W3
 WINLIBS=user32.lib gdi32.lib shell32.lib advapi32.lib comdlg32.lib comctl32.lib
 CCWINLIBS= \
     -cclib user32.lib -cclib gdi32.lib -cclib shell32.lib -cclib advapi32.lib -cclib comdlg32.lib -cclib comctl32.lib
@@ -71,64 +71,64 @@
 #---------------------------------------------------------------------
 
 clean :
-    -@del win32.pch 2>NUL
-    -@del win32_core.sobj 2>NUL
-    -@del win32_core.dobj 2>NUL
-    -@del win32_core.cmo 2>NUL
-    -@del win32_core.cmi 2>NUL
-    -@del win32_core.cmx 2>NUL
-    -@del win32_core.obj 2>NUL
-    -@del $(MODULES:+=sobj) 2>NUL
-    -@del $(MODULES:+=dobj) 2>NUL
-    -@del $(MODULES:+=cmo) 2>NUL
-    -@del $(MODULES:+=cmi) 2>NUL
-    -@del $(MODULES:+=cmx) 2>NUL
-    -@del $(MODULES:+=obj) 2>NUL
-    -@del win32.cmi 2>NUL
-    -@del win32.cmo 2>NUL
-    -@del win32.cmx 2>NUL
-    -@del win32.obj 2>NUL
-    -@del win32.cma 2>NUL
-    -@del win32.cmxa 2>NUL
-    -@del win32.lib 2>NUL
-    -@del libwin32.lib 2>NUL
-    -@del dllwin32.lib 2>NUL
-    -@del dllwin32.exp 2>NUL
-    -@del dllwin32.dll 2>NUL
-    -@del mkwinapp.cmi 2>NUL
-    -@del mkwinapp.cmo 2>NUL
-    -@del mkwinapp.exe 2>NUL
-    -@del lkwinapp.obj 2>NUL
-    -@del test_res.obj 2>NUL
-    -@del test.cmi 2>NUL
-    -@del test.cmo 2>NUL
-    -@del test.cmx 2>NUL
-    -@del test.obj 2>NUL
-    -@del testnores.cmi 2>NUL
-    -@del testnores.cmo 2>NUL
-    -@del test_static.exe 2>NUL
-    -@del test_dynamic.exe 2>NUL
-    -@del test_opt.exe 2>NUL
+	-@del win32.pch 2>NUL
+	-@del win32_core.sobj 2>NUL
+	-@del win32_core.dobj 2>NUL
+	-@del win32_core.cmo 2>NUL
+	-@del win32_core.cmi 2>NUL
+	-@del win32_core.cmx 2>NUL
+	-@del win32_core.obj 2>NUL
+	-@del $(MODULES:+=sobj) 2>NUL
+	-@del $(MODULES:+=dobj) 2>NUL
+	-@del $(MODULES:+=cmo) 2>NUL
+	-@del $(MODULES:+=cmi) 2>NUL
+	-@del $(MODULES:+=cmx) 2>NUL
+	-@del $(MODULES:+=obj) 2>NUL
+	-@del win32.cmi 2>NUL
+	-@del win32.cmo 2>NUL
+	-@del win32.cmx 2>NUL
+	-@del win32.obj 2>NUL
+	-@del win32.cma 2>NUL
+	-@del win32.cmxa 2>NUL
+	-@del win32.lib 2>NUL
+	-@del libwin32.lib 2>NUL
+	-@del dllwin32.lib 2>NUL
+	-@del dllwin32.exp 2>NUL
+	-@del dllwin32.dll 2>NUL
+	-@del mkwinapp.cmi 2>NUL
+	-@del mkwinapp.cmo 2>NUL
+	-@del mkwinapp.exe 2>NUL
+	-@del lkwinapp.obj 2>NUL
+	-@del test_res.obj 2>NUL
+	-@del test.cmi 2>NUL
+	-@del test.cmo 2>NUL
+	-@del test.cmx 2>NUL
+	-@del test.obj 2>NUL
+	-@del testnores.cmi 2>NUL
+	-@del testnores.cmo 2>NUL
+	-@del test_static.exe 2>NUL
+	-@del test_dynamic.exe 2>NUL
+	-@del test_opt.exe 2>NUL
 
 ######################################################################
 # BUILDS :
 
 libwin32.lib : win32_core.sobj $(MODULES:+=sobj)
-    -@del $@ 2>NUL
-    lib /out:$@ $**
+	-@del $@ 2>NUL
+	lib /out:$@ $^
 
 dllwin32.dll : win32_core.dobj $(MODULES:+=dobj)
-    -@del $@ 2>NUL
-    link $(WINLIBS) ocamlrun.lib /dll /out:$@ $**
+	-@del $@ 2>NUL
+	link $(WINLIBS) $(OCAMLLIB)/libcamlrun.lib /dll /out:$@ $^
 
 win32.cma : win32_core.cmo $(MODULES:+=cmo) win32.cmo
-    ocamlc -a -o $@ -cclib -lwin32 $(CCWINLIBS) -dllib -lwin32 $**
+	ocamlc -a -o $@ -cclib -lwin32 $(CCWINLIBS) -dllib -lwin32 $^
 
 win32.cmxa : win32_core.cmx $(MODULES:+=cmx) win32.cmx
-    ocamlopt -a -o $@ -cclib -lwin32 $(CCWINLIBS) $**
+	ocamlopt -a -o $@ -cclib -lwin32 $(CCWINLIBS) $^
 
 win32_core.cmi : win32_core.mli
-    ocamlc $(FLAGS) -c $**
+	ocamlc $(FLAGS) -c $^
 
 win32_core.cmo : win32_core.cmi win32_core.ml
 
@@ -139,39 +139,39 @@
 win32.cmx : win32_core.cmx $(MODULES:+=cmx) win32.ml
 
 mkwinapp.exe : mkwinapp.ml
-    ocamlc $(FLAGS) -o $@ unix.cma $**
+	ocamlc $(FLAGS) -o $@ unix.cma $^
 
 test_static.exe : win32.cma test.ml test_res.obj libwin32.lib lkwinapp.obj
-    ocamlc $(FLAGS) -o $@ -custom win32.cma test.ml test_res.obj lkwinapp.obj
+	ocamlc $(FLAGS) -o $@ -custom win32.cma test.ml test_res.obj lkwinapp.obj
 
 test_dynamic.exe : win32.cma testnores.ml
-    ocamlc $(FLAGS) -o $@ win32.cma testnores.ml
+	ocamlc $(FLAGS) -o $@ win32.cma testnores.ml
 
 test_opt.exe : win32.cmxa test.ml test_res.obj libwin32.lib lkwinapp.obj
-    ocamlopt $(FLAGS) -o $@ win32.cmxa test.ml test_res.obj lkwinapp.obj
+	ocamlopt $(FLAGS) -o $@ win32.cmxa test.ml test_res.obj lkwinapp.obj
 
 ######################################################################
 # SUFFIXES :
 
-.c.obj :
-    ocamlc $(CFLAGS) $*.c
+.c.obj:
+	ocamlc $(CFLAGS) $*.c
 
-.c.sobj :
-    ocamlc $(CFLAGS) -ccopt /Fo$@ $*.c
+.c.sobj:
+	ocamlc $(CFLAGS) -ccopt /Fo$@ $*.c
 
-.c.dobj :
-    ocamlc $(CFLAGS) -ccopt /Fo$@ -ccopt /MD -ccopt /DCAML_DLL $*.c
+.c.dobj:
+	ocamlc $(CFLAGS) -ccopt /Fo$@ -ccopt /MD -ccopt /DCAML_DLL $*.c
 
-.rc.obj :
-    rc $*.rc
-    cvtres /machine:ix86 $*.res
-    @del $*.res
+.rc.obj:
+	rc $*.rc
+	cvtres /machine:ix86 $*.res
+	@del $*.res
 
-.ml.cmo :
-    ocamlc $(FLAGS) -c $*.ml
+.ml.cmo:
+	ocamlc $(FLAGS) -c $*.ml
 
-.ml.cmx :
-    ocamlopt $(FLAGS) -c $*.ml
+.ml.cmx:
+	ocamlopt $(FLAGS) -c $*.ml
 
 ######################################################################
 # END
