1 OCAMLFINDPACKAGES = "ulex,unix,expat,camlp4.macro"
2 OCAMLFINDSYNTAX = camlp4o
3 OCAMLFINDPPOPTS = $(addprefix "-ppopt ", @CAMLP4FLAGS@ -I include)
4 OCAMLFINDINCLUDES = $(addprefix "-I ", src)
5 OCAMLFINDFLAGS = -syntax $(OCAMLFINDSYNTAX) -package $(OCAMLFINDPACKAGES) \
6 $(OCAMLFINDPPOPTS) $(OCAMLFINDINCLUDES)
7 OCAMLFINDLINKFLAGS = -linkpkg
8 ODEP=tools/odeps.sh @OCAMLDEP@
14 Remakefile: Remakefile.in config.status
15 ./config.status Remakefile
17 configure config.status: configure.in
19 ./config.status --recheck
26 ./remake -v OCAMLDEPNATIVE=-native "$obj"
27 SRCS=$(ls "$dir"/*.cmx | sed 's/\.cmx/.ml/g')
28 OBJS=$(@OCAMLDEP@ $OCAMLDEPNATIVE $OCAMLFINDFLAGS -modules $SRCS | tools/osort.sh cmx)
29 @OCAMLOPT@ -o "$1" @OCAMLFLAGS@ @OCAMLOPTFLAGS@ $OCAMLFINDLINKFLAGS $OCAMLFINDFLAGS $OBJS
38 for i in "$dir"/*.cmi; do
40 if test -f "${ibase}.ml" -o -d "${ibase}" -o -f "${ibase}.mly" -o -f "${ibase}.mll"; then
41 OBJS="$OBJS ${ibase}.cmo"
45 SRCS=$(ls "$dir"/*.cmo | sed 's/\.cmo/.ml/g')
46 SORTED_OBJS=$(@OCAMLDEP@ $OCAMLFINDFLAGS -modules $SRCS | tools/osort.sh cmo)
47 @OCAMLC@ -o "$1" @OCAMLFLAGS@ @OCAMLCFLAGS@ $OCAMLFINDLINKFLAGS $OCAMLFINDFLAGS $SORTED_OBJS
53 if [ -f "$src" ]; then
55 DEPS=$( $ODEP -native $OCAMLFINDFLAGS $PACKINCLUDE "$src" )
56 echo "$DEPS" | ./remake -v PACKINCLUDE="$PACKINCLUDE" -v OCAMLDEPNATIVE=-native -v OCAMLFORPACK="$OCAMLFORPACK" -r "$target"
57 @OCAMLOPT@ -o "$target" -c @OCAMLFLAGS@ @OCAMLOPTFLAGS@ $OCAMLFORPACK $OCAMLFINDFLAGS $PACKINCLUDE "$src"
58 elif [ -d "$base" ]; then
59 modname=$(basename "$base")
60 packname=$(echo "$modname" | sed 's/\(.*\)/\u\1/')
61 OBJS=$(ls "$base"/*.ml | sed 's/\.ml/.cmx/g')
62 ./remake -v PACKINCLUDE="-I $base" -v OCAMLFORPACK="-for-pack $packname" $OBJS
63 SORTED_OBJS=$(@OCAMLDEP@ -native $OCAMLFINDFLAGS -I $base -modules "$base"/*.ml | tools/osort.sh cmx)
64 @OCAMLOPT@ -o "$target" -pack $SORTED_OBJS
65 elif [ -f "$base".mly ]; then
67 @OCAMLYACC@ "$base".mly
68 $ODEP $OCAMLDEPNATIVE $OCAMLFINDFLAGS "$src" | \
69 ./remake -v PACKINCLUDE="$PACKINCLUDE" -v OCAMLDEPNATIVE=-native -v OCAMLFORPACK="$OCAMLFORPACK" -r "$target"
70 @OCAMLOPT@ -o "$target" -c @OCAMLFLAGS@ @OCAMLOPTFLAGS@ $OCAMLFORPACK $OCAMLFINDFLAGS $PACKINCLUDE "$src"
78 if [ -f "$src" ]; then
80 DEPS=$( $ODEP $OCAMLFINDFLAGS $PACKINCLUDE "$src" )
81 echo "$DEPS" | ./remake -v PACKINCLUDE="$PACKINCLUDE" -r "$target"
82 @OCAMLC@ -o "$target" -c @OCAMLFLAGS@ @OCAMLCFLAGS@ $OCAMLFINDFLAGS $PACKINCLUDE "$src"
83 elif [ -d "$base" ]; then
84 modname=$(basename "$base")
85 packname=$(echo "$modname" | sed 's/\(.*\)/\u\1/')
86 OBJS=$(ls "$base"/*.ml | sed 's/\.ml/.cmo/g')
87 ./remake -v PACKINCLUDE="-I $base" $OBJS
88 SORTED_OBJS=$(@OCAMLDEP@ $OCAMLFINDFLAGS -I $base -modules "$base"/*.ml | tools/osort.sh cmo)
89 @OCAMLC@ -o "$target" -pack $SORTED_OBJS
90 elif [ -f "$base".mly ]; then
92 @OCAMLYACC@ "$base".mly
93 $ODEP $OCAMLFINDFLAGS $PACKINCLUDE "$src" | ./remake -v PACKINCLUDE="$PACKINCLUDE" -r "$target"
94 @OCAMLC@ -o "$target" -c @OCAMLFLAGS@ @OCAMLCFLAGS@ $OCAMLFINDFLAGS $PACKINCLUDE "$src"
102 if test -f "$base".mli; then
105 DEPS=$($ODEP $OCAMLDEPNATIVE $OCAMLFINDFLAGS $PACKINCLUDE "$src")
106 echo "$DEPS" | ./remake -v PACKINCLUDE="$PACKINCLUDE" -v OCAMLDEPNATIVE="$OCAMLDEPNATIVE" -v OCAMLFORPACK="$OCAMLFORPACK" -r "$target"
107 if test -z "$OCAMLDEPNATIVE"; then
108 @OCAMLC@ -o "$target" -c @OCAMLFLAGS@ @OCAMLCFLAGS@ $OCAMLFINDFLAGS $PACKINCLUDE "$src"
110 @OCAMLOPT@ -o "$target" -c @OCAMLFLAGS@ @OCAMLOPTFLAGS@ $OCAMLFINDFLAGS $PACKINCLUDE "$src"
113 if test -z "$OCAMLDEPNATIVE"; then
118 ./remake -v PACKINCLUDE="$PACKINCLUDE" -v OCAMLDEPNATIVE="$OCAMLDEPNATIVE" -v OCAMLFORPACK="$OCAMLFORPACK" "$obj"
122 find src -name '*.cm*' -o -name '*.o' -o -name '*.byte' -o -name '*.native' -o -name '*.mll' -o -name '*.mly' | while read file; do
125 rm -f "${file%.mll}.ml"
128 rm -f "${file%.mly}.ml" "${file%.mly}.mli"