[Omake] can't find the error in my omakefile

micha micha-1 at fantasymail.de
Mon Feb 12 01:50:47 PST 2007


hi,

when running omake it outputs:

------------------------------------------------------------------------------------------------
*** omake: reading OMakefiles
*** omake: finished reading OMakefiles (0.0 sec)
- build . hello.run
+ ocamlc.opt -warn-error A -g -I . -custom -o hello.run ask.cmo 
color.cmo draw.cmo font.cmo labeltype.cmo box.cmo widget.cmo window.cmo 
hello.cmo valuator.cmo libofltk.a -cclib "-lstdc++ -L/usr/local/lib 
-lfltk2 -lX11 -lXi -lm -lsupc++"
/usr/local/godi/bin/ocamlc.opt: unknown option `-L/usr/local/lib'.
Usage: ocamlc <options> <files>
Options are:
  -a  Build a library
  -c  Compile only (do not link)
  -cc <command>  Use <command> as the C compiler and linker
  -cclib <opt>  Pass option <opt> to the C linker
  -ccopt <opt>  Pass option <opt> to the C compiler and linker
  -config  print configuration values and exit
  -custom  Link in custom mode
  -dllib <lib>  Use the dynamically-loaded library <lib>
  -dllpath <dir>  Add <dir> to the run-time search path for shared libraries
  -dtypes  Save type information in <filename>.annot
  -for-pack <ident>  Ignored (for compatibility with ocamlopt)
  -g  Save debugging information
  -i  Print inferred interface
  -I <dir>  Add <dir> to the list of include directories
  -impl <file>  Compile <file> as a .ml file
  -intf <file>  Compile <file> as a .mli file
  -intf-suffix <string>  Suffix for interface files (default: .mli)
  -intf_suffix <string>  (deprecated) same as -intf-suffix
  -labels  Use commuting label mode
  -linkall  Link all modules, even unused ones
  -make-runtime  Build a runtime system with given C objects and libraries
  -make_runtime  (deprecated) same as -make-runtime
  -modern  (deprecated) same as -labels
  -noassert  Don't compile assertion checks
  -noautolink  Don't automatically link C libraries specified in .cma files
  -nolabels  Ignore non-optional labels in types
  -nostdlib  do not add default directory to the list of include directories
  -o <file>  Set output file name to <file>
  -output-obj  Output a C object file instead of an executable
  -pack  Package the given .cmo files into one .cmo
  -pp <command>  Pipe sources through preprocessor <command>
  -principal  Check principality of type inference
  -rectypes  Allow arbitrary recursive types
  -thread  Generate code that supports the system threads library
  -unsafe  No bounds checking on array and string access
  -use-runtime <file>  Generate bytecode for the given runtime system
  -use_runtime <file>  (deprecated) same as -use-runtime
  -v  Print compiler version and location of standard library and exit
  -version  Print compiler version and exit
  -verbose  Print calls to external commands
  -vmthread  Generate code that supports the threads library with VM-level
     scheduling
  -w <flags>  Enable or disable warnings according to <flags>:
     C/c enable/disable suspicious comment
     D/d enable/disable deprecated features
     E/e enable/disable fragile match
     F/f enable/disable partially applied function
     L/l enable/disable labels omitted in application
     M/m enable/disable overriden method
     P/p enable/disable partial match
     S/s enable/disable non-unit statement
     U/u enable/disable unused match case
     V/v enable/disable hidden instance variable
     Y/y enable/disable suspicious unused variables
     Z/z enable/disable all other unused variables
     X/x enable/disable all other warnings
     A/a enable/disable all warnings
     default setting is "Aelz"
  -warn-error <flags>  Treat the warnings of <flags> as errors, if they are
     enabled.  See option -w for the list of flags.
     Default setting is "a" (warnings are not errors)
  -where  Print location of standard library and exit
  -nopervasives  (undocumented)
  -dparsetree  (undocumented)
  -drawlambda  (undocumented)
  -dlambda  (undocumented)
  -dinstr  (undocumented)
  -use-prims <file>  (undocumented)
  - <file>  Treat <file> as a file name (even if it starts with `-')
  -help  Display this list of options
  --help  Display this list of options
*** omake: 104/109 targets are up to date
*** omake: failed (0.1 sec, 0/26 scans, 1/33 rules, 0/209 digests)
*** omake: targets were not rebuilt because of errors:
   hello.run
------------------------------------------------------------------------------------------------



but when running the command myself it works:

ocamlc.opt -warn-error A -g -I . -custom -o hello.run ask.cmo color.cmo 
draw.cmo font.cmo labeltype.cmo box.cmo widget.cmo window.cmo hello.cmo 
valuator.cmo libofltk.a -cclib "-lstdc++ -L/usr/local/lib -lfltk2 -lX11 
-lXi -lm -lsupc++"

that works and my hello.run runs :-)

I just can't find my error in the makefile (at the end of this post)

any ideas?

cheers,
 Michael

-----------------------------------------------------------------------------
(I'm using debian egde,  athlon xp, linux 2.6.17, ocaml 3.09.1, omake 0.9.8)


OMakefile (without most comments) :

.PHONY: all install clean

#c part
 
INCLUDES += /usr/local/include/ /usr/local/godi/lib/ocaml/std-lib

LIBFILES[] =
   obox
   odraw
   ofont
   oslider
   owindow
   obutton
   ofl
   ointinput
   owidget
 
LIB = libofltk

.DEFAULT: $(StaticCLibrary $(LIB), $(LIBFILES))

# ocaml part

FILES[] =
    hello
    ask
    box
    color
    draw
    font
    labeltype
    valuator
    widget
    window

PROGRAM = hello

OCAML_CLIBS += libofltk

NATIVE_ENABLED = false
BYTE_ENABLED = true

OCAML_LINK_FLAGS = -cclib \"-lstdc++ -L/usr/local/lib -lfltk2 -lX11 -lXi 
-lm -lsupc++\"

.DEFAULT: $(OCamlProgram $(PROGRAM), $(FILES))




More information about the Omake mailing list