62
62
# Library compilation
63
63
define ocaml_byte_code_lib
64
64
65
- _ALL += $(1).cma
65
+ _ALL += $(1).cma
66
66
$(1)_MLO = $(call ocaml_sources,$(2))
67
67
$(1)_CMO = $$(patsubst %.ml,%.cmo,$$($(1)_MLO))
68
68
$(1)_MLLO = $$(filter %.mll,$(2))
@@ -84,14 +84,14 @@ $(1).cma: $$($(1)_CMO)
84
84
$$(OCAMLC) -a $$($(1)_LDFLAGS) $$(OCAMLC_LDFLAGS) -o $$@ $$($(1)_CMO) $$(OCAMLC_LIBS)
85
85
86
86
_install_$(1)_CMA:
87
- install -d $(OCAML_SITE)/$(1)
88
- install $(1).cma $$($(1)_CMIO) $(OCAML_SITE)/$(1)
89
-
87
+ install -d $(OCAML_SITE)/FrontC
88
+ install $(1).cma $$($(1)_CMIO) $(OCAML_SITE)/FrontC
89
+
90
90
endef
91
91
92
92
define ocaml_native_lib
93
93
94
- _ALL += $(1).cmxa
94
+ _ALL += $(1).cmxa $(1).cmxs
95
95
$(1)_MLX = $(call ocaml_sources,$(2))
96
96
$(1)_CMX = $$(patsubst %.ml,%.cmx,$$($(1)_MLX))
97
97
$(1)_MLLX = $$(filter %.mll,$(2))
@@ -107,16 +107,23 @@ _CLEAN += $$($(1)_CMX) \
107
107
$$(patsubst %.mly,%.ml,$$($(1)_MLYX)) \
108
108
$$(patsubst %.mly,%.mli,$$($(1)_MLYX))
109
109
_DIST += $(2)
110
- _BINARY_DIST += $(1).cmxa $(1).a $(patsubst %.cmx,%.cmi,$$($(1)_CMX))
111
- _INSTALL += _install_$(1)_CMXA
110
+ _BINARY_DIST += $(1).cmxa $(1).cmxs $(1). a $(patsubst %.cmx,%.cmi,$$($(1)_CMX))
111
+ _INSTALL += _install_$(1)_CMXA _install_$(1)_CMXS
112
112
113
113
$(1).cmxa: $$($(1)_CMX)
114
114
$$(OCAMLOPT) -a $$($(1)_LDFLAGS) $$(OCAMLOPT_LDFLAGS) -o $$@ $$($(1)_CMX) $$(OCAMLOPT_LIBS)
115
115
116
+ $(1).cmxs: $$($(1).cmxa)
117
+ $$(OCAMLOPT) -shared -linkall $$($(1).cmxa) -o $$@
118
+
116
119
_install_$(1)_CMXA:
117
- install -d $(OCAML_SITE)/$(1)
118
- install $(1).cmxa $(1).a $$($(1)_CMIX) $(OCAML_SITE)/$(1)
119
-
120
+ install -d $(OCAML_SITE)/FrontC
121
+ install $(1).cmxa $(1).a $$($(1)_CMIX) $(OCAML_SITE)/FrontC
122
+
123
+ _install_$(1)_CMXS:
124
+ install -d $(OCAML_SITE)/FrontC
125
+ install $(1).cmxs $(OCAML_SITE)/FrontC
126
+
120
127
endef
121
128
122
129
define ocaml_lib
0 commit comments