[Omake] sections & implicit rules

Jonathan Roewen jonathan.roewen at gmail.com
Sat Mar 24 22:18:10 PDT 2007


Hi,

I'm having a few problems where redefining variables inside a section
isn't working -- but inconsistently. Using omake 0.9.8.1.

e.g.:

CProgram(kernel.elf, $(OBJS))

kernel.elf: kernel.lds libdummy.so

section
  CC = $(LD)
  CFLAGS = -nostdlib -T kernel.lds -export-dynamic
  LIBS[] = $(LIBRARIES)/libm $(LIBRARIES)/libc ...
  LDFLAGS = libdummy.so
  kernel.elf:

However, omake uses gcc, and all my redefined options are being
ignored. It's probably a bad design to do the above hack with CProgram
though =P

In another OMakefile, I have similar problems of it ignoring the
updated variables for a particular file. However, other files that
also uses the section trick as above behave as expected. In fact, the
section that fails is identical to another OMakefile in another part
of my project.

the problem:

section
  OCAMLFLAGS += -nopervasives
  pervasives.cmi:

which is in: <root>/minilib/OMakefile & <root>/kernel/stdlib/OMakefile

I'm hoping it's just some whack bug yet to be fixed, because it's annoying.

In <root>/kernel/stdlib/OMakefile, I had to use the following hack to
work around it:

pervasives.cmi: pervasives.mli
  section
    OCAMLFLAGS += -nopervasives
    $(OCamlC) -c $<

yet, in the same OMakefile, the following does work:

section
  OCAMLFLAGS += -nopervasives
  pervasives.cmo:

It seems the order things are being built in are causing my sections
to be ignored in select cases.

Other than that, I'm totally loving omake =)

Jonathan


More information about the Omake mailing list