| 82 |
ifneq ($(ML_INTERFACE), false) |
ifneq ($(ML_INTERFACE), false) |
| 83 |
SYNTAX += -symbol ML_INTERFACE= |
SYNTAX += -symbol ML_INTERFACE= |
| 84 |
ML_LIB = oCaml_all.$(EXTENSION_LIB) |
ML_LIB = oCaml_all.$(EXTENSION_LIB) |
| 85 |
ML_INTERFACE_OBJ = \ |
ML_INTERFACE_OBJ = ocamliface/mltypes.cmo ocamliface/mlstub.cmo |
|
cdo2cmo/ml_types.cmo \ |
|
|
cdo2cmo/ml_cduce.cmo \ |
|
|
cdo2cmo/ml_ocaml.cmo \ |
|
|
cdo2cmo/ml_checker.cmo \ |
|
|
cdo2cmo/ml_generator.cmo |
|
| 86 |
else |
else |
| 87 |
ML_INTERFACE_OBJ = |
ML_INTERFACE_OBJ = |
| 88 |
endif |
endif |
| 89 |
|
|
| 90 |
INSTALL := $(shell which install) |
INSTALL := $(shell which install) |
| 91 |
|
|
| 92 |
all: cduce dtd2cduce validate |
all: cduce dtd2cduce validate cdo2ml |
| 93 |
|
|
| 94 |
ifneq ($(ML_INTERFACE), false) |
ifneq ($(ML_INTERFACE), false) |
| 95 |
all: cdml.$(EXTENSION_LIB) |
all: cdml.$(EXTENSION_LIB) |
| 98 |
install: all |
install: all |
| 99 |
mkdir -p $(BINDIR) |
mkdir -p $(BINDIR) |
| 100 |
mkdir -p $(MANDIR)/man1 |
mkdir -p $(MANDIR)/man1 |
| 101 |
$(INSTALL) -m755 cduce$(EXE) dtd2cduce$(EXE) validate$(EXE) $(BINDIR)/ |
$(INSTALL) -m755 cduce$(EXE) dtd2cduce$(EXE) \ |
| 102 |
|
validate$(EXE) cdo2ml$(EXE) $(BINDIR)/ |
| 103 |
$(INSTALL) -m644 doc/cduce.1 $(MANDIR)/man1/ |
$(INSTALL) -m644 doc/cduce.1 $(MANDIR)/man1/ |
| 104 |
$(INSTALL) -m644 doc/dtd2cduce.1 $(MANDIR)/man1/ |
$(INSTALL) -m644 doc/dtd2cduce.1 $(MANDIR)/man1/ |
| 105 |
$(INSTALL) -m644 doc/validate.1 $(MANDIR)/man1/ |
$(INSTALL) -m644 doc/validate.1 $(MANDIR)/man1/ |
|
|
|
| 106 |
ifneq ($(ML_INTERFACE), false) |
ifneq ($(ML_INTERFACE), false) |
|
install_cdml: |
|
| 107 |
$(OCAMLFIND) install cduce META \ |
$(OCAMLFIND) install cduce META \ |
| 108 |
cdml.$(EXTENSION_LIB) cdo2cmo/cdml.cmi \ |
cdml.$(EXTENSION_LIB) cdo2cmo/cdml.cmi \ |
| 109 |
cDuce_all.cmi oCaml_all.$(EXTENSION_LIB) \ |
cDuce_all.cmi oCaml_all.$(EXTENSION_LIB) \ |
| 111 |
endif |
endif |
| 112 |
|
|
| 113 |
uninstall: |
uninstall: |
| 114 |
rm $(BINDIR)/cduce$(EXE) $(BINDIR)/dtd2cduce$(EXE) $(BINDIR)/validate$(EXE) |
rm -f $(BINDIR)/cduce$(EXE) $(BINDIR)/dtd2cduce$(EXE) \ |
| 115 |
rm $(MANDIR)/man1/cduce.1 $(MANDIR)/man1/dtd2cduce.1 $(MANDIR)/man1/validate.1 |
$(BINDIR)/validate$(EXE) $(BINDIR)/cdo2ml$(EXE) |
| 116 |
|
rm -f $(MANDIR)/man1/cduce.1 $(MANDIR)/man1/dtd2cduce.1 \ |
| 117 |
|
$(MANDIR)/man1/validate.1 |
| 118 |
|
ocamlfind remove cduce |
| 119 |
|
|
| 120 |
help: |
help: |
| 121 |
@echo "GOALS" |
@echo "GOALS" |
| 133 |
|
|
| 134 |
# Source directories |
# Source directories |
| 135 |
|
|
| 136 |
DIRS = misc parser schema typing types compile runtime driver query cdo2cmo |
DIRS = misc parser schema typing types compile runtime driver query cdo2cmo ocamliface |
| 137 |
CLEAN_DIRS = $(DIRS) tools tests |
CLEAN_DIRS = $(DIRS) tools tests |
| 138 |
|
|
| 139 |
# Objects to build |
# Objects to build |
| 190 |
$(CQL_OBJECTS_RUN) |
$(CQL_OBJECTS_RUN) |
| 191 |
ALL_INTERFACES = schema/schema_types.mli |
ALL_INTERFACES = schema/schema_types.mli |
| 192 |
|
|
| 193 |
|
ifneq ($(ML_INTERFACE), false) |
| 194 |
|
ALL_INTERFACES += ocamliface/mltypes.mli ocamluface/mlstub.mli |
| 195 |
|
endif |
| 196 |
|
|
| 197 |
DEPEND = $(ALL_OBJECTS:.cmo=.ml) $(ALL_OBJECTS:.cmo=.mli) $(ALL_INTERFACES) |
DEPEND = $(ALL_OBJECTS:.cmo=.ml) $(ALL_OBJECTS:.cmo=.mli) $(ALL_INTERFACES) |
| 198 |
|
|
| 199 |
INCLUDES = $(DIRS:%=-I %) |
INCLUDES = $(DIRS:%=-I %) |
| 234 |
validate: $(VALIDATE_OBJECTS:.cmo=.$(EXTENSION)) tools/validate.$(EXTENSION) |
validate: $(VALIDATE_OBJECTS:.cmo=.$(EXTENSION)) tools/validate.$(EXTENSION) |
| 235 |
$(LINK) $(INCLUDES) -o $@ $^ |
$(LINK) $(INCLUDES) -o $@ $^ |
| 236 |
|
|
| 237 |
|
cdo2ml: ocamliface/cdo2ml.ml |
| 238 |
|
ocamlc -o $@ -pp camlp4o -I +camlp4 camlp4.cma pr_o.cmo $^ |
| 239 |
|
|
| 240 |
.PHONY: compute_depend |
.PHONY: compute_depend |
| 241 |
compute_depend: $(DEPEND_OCAMLDEP) |
compute_depend: $(DEPEND_OCAMLDEP) |
| 242 |
echo $(DEPEND) |
echo $(DEPEND) |