summaryrefslogtreecommitdiffstats
path: root/otherlibs/labltk/browser
diff options
context:
space:
mode:
Diffstat (limited to 'otherlibs/labltk/browser')
-rw-r--r--otherlibs/labltk/browser/Makefile.nt30
-rw-r--r--otherlibs/labltk/browser/winmain.c12
2 files changed, 27 insertions, 15 deletions
diff --git a/otherlibs/labltk/browser/Makefile.nt b/otherlibs/labltk/browser/Makefile.nt
index 43b3828b2..729acb710 100644
--- a/otherlibs/labltk/browser/Makefile.nt
+++ b/otherlibs/labltk/browser/Makefile.nt
@@ -1,12 +1,18 @@
-!include ..\support\Makefile.common.nt
+include ../support/Makefile.common.nt
LABLTKLIB=-I ../labltk -I ../lib -I ../support
OTHERSLIB=-I $(OTHERS)/win32unix -I $(OTHERS)/str -I $(OTHERS)/systhreads
OCAMLTOPLIB=-I $(TOPDIR)/parsing -I $(TOPDIR)/utils -I $(TOPDIR)/typing
INCLUDES=$(OTHERSLIB) $(LABLTKLIB) $(OCAMLTOPLIB)
-CCFLAGS=-I..\..\..\byterun /Zi $(TK_DEFS)
+CCFLAGS=-I../../../byterun $(TK_DEFS)
-OBJ = list2.cmo useunix.cmo setpath.cmo lexical.cmo \
+ifeq ($(CCOMPTYPE),cc)
+WINDOWS_APP=
+else
+WINDOWS_APP=-cclib "/link /subsystem:windows"
+endif
+
+OBJS = list2.cmo useunix.cmo setpath.cmo lexical.cmo \
fileselect.cmo searchid.cmo searchpos.cmo shell.cmo \
help.cmo \
viewer.cmo typecheck.cmo editor.cmo main.cmo
@@ -18,7 +24,7 @@ JG = jg_tk.cmo jg_config.cmo jg_bind.cmo jg_completion.cmo \
# Default rules
-.SUFFIXES: .ml .mli .cmo .cmi .cmx
+.SUFFIXES: .ml .mli .cmo .cmi .cmx .c .$(O)
.ml.cmo:
$(CAMLCOMP) $(INCLUDES) $<
@@ -26,27 +32,27 @@ JG = jg_tk.cmo jg_config.cmo jg_bind.cmo jg_completion.cmo \
.mli.cmi:
$(CAMLCOMP) $(INCLUDES) $<
-y.c.obj:
+.c.$(O):
$(BYTECC) $(BYTECCCOMPOPTS) $(CCFLAGS) -c $<
all: ocamlbrowser.exe
ocamlbrowser.exe: $(TOPDIR)/toplevel/toplevellib.cma \
- ..\support\lib$(LIBNAME).lib
-ocamlbrowser.exe: jglib.cma $(OBJ) winmain.obj
+ ../support/lib$(LIBNAME).$(A)
+ocamlbrowser.exe: jglib.cma $(OBJS) winmain.$(O)
$(CAMLC) -o ocamlbrowser.exe -custom $(INCLUDES) \
$(TOPDIR)/toplevel/toplevellib.cma \
- unix.cma threads.cma str.cma $(LIBNAME).cma jglib.cma $(OBJ) \
- winmain.obj -cclib "/subsystem:windows"
+ unix.cma threads.cma str.cma $(LIBNAME).cma jglib.cma $(OBJS) \
+ winmain.$(O) $(WINDOWS_APP)
jglib.cma: $(JG)
$(CAMLCOMP) -a -o jglib.cma $(JG)
install:
- if exist ocamlbrowser.exe cp ocamlbrowser.exe $(BINDIR)
+ if test -f ocamlbrowser.exe; then cp ocamlbrowser.exe $(BINDIR); fi
clean:
- rm -f *.cm? ocamlbrowser.exe dummy.mli *~ *.orig *.obj *.pdb
+ rm -f *.cm? ocamlbrowser.exe dummy.mli *~ *.orig *.$(O)
depend:
$(CAMLDEP) *.ml *.mli > .depend
@@ -55,4 +61,4 @@ dummy.mli:
cp dummyWin.mli dummy.mli
shell.cmo: dummy.cmi
-!include .depend
+include .depend
diff --git a/otherlibs/labltk/browser/winmain.c b/otherlibs/labltk/browser/winmain.c
index 6805ecfcd..d36f6786f 100644
--- a/otherlibs/labltk/browser/winmain.c
+++ b/otherlibs/labltk/browser/winmain.c
@@ -1,12 +1,18 @@
-#include <callback.h>
#include <windows.h>
+#include <mlvalues.h>
+#include <callback.h>
+#include <sys.h>
+
extern int __argc;
extern char **__argv;
-extern void expand_command_line (int *, char ***);
+extern void expand_command_line(int * argcp, char *** argvp);
extern void caml_main (char **);
int WINAPI WinMain(HINSTANCE h, HINSTANCE HPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
- return main(__argc, __argv);
+ expand_command_line(&__argc, &__argv);
+ caml_main(__argv);
+ sys_exit(Val_int(0));
+ return 0;
}