Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > 485f8c30b7e261acbe76df6157207a36 > files > 11

ocaml-camlidl-devel-1.05-11.fc13.i686.rpm

include ../config/Makefile

CAMLIDL=../compiler/camlidl
CAMLC=ocamlc -I ../lib
INCLUDES=-I.. -I$(OCAMLLIB)
CCPP=$(CC)
CPPFLAGS=$(CFLAGS)

TESTS=basics.idl arrays.idl structs.idl unions.idl typedefs.idl $(TESTS_$(OSTYPE))
TESTS_unix=unix.idl
COMLIBS=$(COMLIBS_$(OSTYPE))
COMLIBS_win32=advapi32.lib ole32.lib oleaut32.lib

all: ../caml/camlidlruntime.h $(TESTS:.idl=.$(OBJEXT)) testcomp

$(TESTS:.idl=.$(OBJEXT)) component.$(OBJEXT): $(CAMLIDL) ../runtime/camlidlruntime.h

unix.$(OBJEXT): unix.idl
	$(CAMLIDL) -no-include unix.idl
	$(CAMLC) -c unix.mli
	$(CAMLC) -c unix.ml
	$(CC) $(CFLAGS) $(INCLUDES) -c unix_stubs.c
	mv unix_stubs.$(OBJEXT) unix.$(OBJEXT)

testcomp: comcomp.$(OBJEXT) component.$(OBJEXT) component.cmo testcomponent.cmo \
          ../runtime/libcamlidl.$(LIBEXT)
	$(CAMLC) -cc $(CCPP) -custom -o testcomp \
                com.cmo comcomp.$(OBJEXT) component.$(OBJEXT) \
		component.cmo testcomponent.cmo \
                ../runtime/libcamlidl.$(LIBEXT) $(COMLIBS)

clean::
	rm -f testcomp

component.cmo testcomponent.cmo: component.cmi
component.cmo component.cmi: component.$(OBJEXT)

../caml/camlidlruntime.h:
	mkdir ../caml
	ln -s ../runtime/camlidlruntime.h ../caml

.SUFFIXES:
.SUFFIXES: .idl .$(OBJEXT) .cpp .ml .mli .cmo .cmi

.idl.$(OBJEXT):
	$(CAMLIDL) -header $*.idl
	$(CAMLC) -c $*.mli
	$(CAMLC) -c $*.ml
	$(CC) $(CFLAGS) $(INCLUDES) -c $*_stubs.c
	mv $*_stubs.$(OBJEXT) $*.$(OBJEXT)

.cpp.$(OBJEXT):
	$(CCPP) $(CPPFLAGS) $(INCLUDES) -c $*.cpp

.ml.cmo:
	$(CAMLC) -c $*.ml

.mli.cmi:
	$(CAMLC) -c $*.mli

clean::
	rm -f $(TESTS:.idl=.mli) $(TESTS:.idl=.ml) $(TESTS:.idl=.h) $(TESTS:.idl=_stubs.c)

clean::
	rm -f *.cm[io] *.$(OBJEXT)