Sophie

Sophie

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

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

#
# Chapter 7 - Makefile
#
#
# Flags - Always compiles debug.
#
CPP_FLAGS=/c /MTd /Zi /Od /D_DEBUG
EXE_LINK_FLAGS=/DEBUG
DLL_LINK_FLAGS=/DLL /DEBUG

LIBS=UUID.lib Advapi32.lib Ole32.lib

#################################################
#
# Targets
#
all : client component camlclient camlcomponent

client : Client.exe 

component : Cmpnt.dll 
	   

#################################################
#
# Shared source files
#

GUIDs.obj : GUIDs.cpp 
	cl $(CPP_FLAGS) GUIDs.cpp

Registry.obj : Registry.cpp Registry.h
	cl $(CPP_FLAGS) Registry.cpp

#################################################
#
# component source files
#

Cmpnt.obj : Cmpnt.cpp Iface.h Registry.h
	cl $(CPP_FLAGS) Cmpnt.cpp


#################################################
#
# Client source files
#

Client.obj : Client.cpp Iface.h 
	cl $(CPP_FLAGS) Client.cpp


#################################################
#
# Link component and automatically register component.
#

Cmpnt.dll : Cmpnt.obj	GUIDs.obj Registry.obj Cmpnt.def 
	link $(DLL_LINK_FLAGS) Cmpnt.obj GUIDs.obj Registry.obj $(LIBS) /DEF:Cmpnt.def 
	regsvr32 -s Cmpnt.dll

#################################################
#
# Link client.
#

Client.exe : Client.obj GUIDs.obj
	link $(EXE_LINK_FLAGS) Client.obj GUIDs.obj $(LIBS)

#############
#
# Caml side
#
camlclient : camlclient.exe

camlclient.exe: component_stubs.obj GUIDs.obj component.cmo camlclient.cmo
	ocamlc -ccopt /Zi -o camlclient.exe  -custom \
          com.cma component.cmo camlclient.cmo \
          component_stubs.obj GUIDs.obj \
          -cclib -lcamlidl oleaut32.lib ole32.lib

component.ml component.mli component_stubs.c: component.idl ../../compiler/camlidl
	../../compiler/camlidl -header component.idl

component.cmo: component.ml component.cmi
component.cmi: component.mli
camlclient.cmo: component.cmi

camlcomponent: camlcomp.dll

camlcomp.dll: component_stubs.obj GUIDs.obj \
              component.cmo camlcomp.cmo
	camlidldll -o camlcomp.dll \
                component_stubs.obj GUIDs.obj \
                component.cmo camlcomp.cmo
	regsvr32 -s camlcomp.dll

camlcomp.cmo: component.cmi

.SUFFIXES: .ml .mli .cmo .cmx .cmi .c .obj

.ml.cmo:
	ocamlc -c $<

.ml.cmx:
	ocamlopt -c $<

.mli.cmi:
	ocamlc -c $<

.c.obj:
	ocamlc -ccopt /Zi -c $<

camlcomponent: