File: MAKEFILE

package info (click to toggle)
camlidl 1.05-13
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 964 kB
  • ctags: 1,174
  • sloc: ml: 4,894; ansic: 941; cpp: 897; makefile: 319; xml: 213; sh: 75
file content (114 lines) | stat: -rw-r--r-- 2,285 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
#
# 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: