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 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162
|
#### Standard configuration parameters
# Compile using ocamlopt, to use ocamlc set TARGET=byte
TARGET=opt
# Install prefix
PREFIX=/usr/local
# Library directory of hevea
LIBDIR=$(PREFIX)/lib/hevea
# Where to install programms
BINDIR=$(PREFIX)/bin
# Install prefix prefix
DESTDIR=
#Where to install hevea.sty
LATEXLIBDIR=$(PREFIX)/lib/hevea
##### Advanced configuration parameters
SUF=
DIR=
OCAMLC=$(DIR)ocamlc$(SUF)
OCAMLFLAGS=
OCAMLFLAGS=-w ZY
OCAMLCI=$(OCAMLC)
OCAMLOPT=$(DIR)ocamlopt$(SUF)
OCAMLLEX=$(DIR)ocamllex$(SUF) -q
OCBFLAGS=-j 4 -classic-display
#### End of configuration parameters
#### The Makefile uses ocamlbuild if present.
PGM=hevea.byte hacha.byte esponja.byte bibhva.byte
PGMOPT=$(PGM:.byte=.opt)
PGMNATIVE=$(PGM:.byte=.native)
ONLYESPONJA=emisc.cmo buff.cmo pp.cmo htmllex.cmo htmlparse.cmo htmltext.cmo util.cmo explode.cmo ultra.cmo esp.cmo
OBJS=version.cmo mysys.cmo myStack.cmo location.cmo misc.cmo element.cmo out.cmo table.cmo mylib.cmo parse_opts.cmo myfiles.cmo outUnicode.cmo save.cmo auxx.cmo lexstate.cmo subst.cmo latexmacros.cmo counter.cmo noimage.cmo image.cmo length.cmo get.cmo tabular.cmo htmlCommon.cmo htmlMath.cmo mathML.cmo html.cmo text.cmo infoRef.cmo info.cmo section.cmo foot.cmo entry.cmo index.cmo colscan.cmo color.cmo hot.cmo package.cmo videoc.cmo verb.cmo latexscan.cmo zyva.cmo $(ONLYESPONJA) hevea.cmo
OBJSCUT=version.cmo mysys.cmo myStack.cmo location.cmo misc.cmo out.cmo cutOut.cmo thread.cmo cross.cmo mylib.cmo section.cmo length.cmo save.cmo cut.cmo hacha.cmo
OBJSESPONJA=mysys.cmo myStack.cmo location.cmo $(ONLYESPONJA) esponja.cmo
OBJSBIBHVA=bibhva.cmo
GENSRC=colscan.ml cut.ml entry.ml get.ml latexscan.ml length.ml save.ml tabular.ml videoc.ml verb.ml infoRef.ml subst.ml htmllex.ml
OPTS=$(OBJS:.cmo=.cmx)
OPTSCUT=$(OBJSCUT:.cmo=.cmx)
OPTSESPONJA=$(OBJSESPONJA:.cmo=.cmx)
OPTSBIBHVA=$(OBJSBIBHVA:.cmo=.cmx)
include libs.def
all: $(TARGET)
all-make: $(TARGET)-make
install: config.sh
./install.sh $(TARGET)
byte: ocb-byte
opt: ocb-opt
both: ocb-both
opt-make:
$(MAKE) $(MFLAGS) TARGET=opt $(PGMOPT)
byte-make:
$(MAKE) $(MFLAGS) TARGET=byte $(PGM)
both-make: byte-make opt-make
hevea.byte: ${OBJS}
${OCAMLC} ${OCAMLFLAGS} -o $@ ${OBJS}
hacha.byte: ${OBJSCUT}
${OCAMLC} ${OCAMLFLAGS} -o $@ ${OBJSCUT}
esponja.byte: ${OBJSESPONJA}
${OCAMLC} ${OCAMLFLAGS} -o $@ ${OBJSESPONJA}
bibhva.byte: ${OBJSBIBHVA}
${OCAMLC} ${OCAMLFLAGS} -o $@ ${OBJSBIBHVA}
hevea.opt: ${OPTS}
${OCAMLOPT} -o $@ ${OPTS}
hacha.opt: ${OPTSCUT}
${OCAMLOPT} -o $@ ${OPTSCUT}
esponja.opt: ${OPTSESPONJA}
${OCAMLOPT} -o $@ ${OPTSESPONJA}
bibhva.opt: ${OPTSBIBHVA}
${OCAMLOPT} -o $@ ${OPTSBIBHVA}
mylib.cmo: mylib.ml mylib.cmi config.sh
${OCAMLC} ${OCAMLFLAGS} -pp ./expandlib.sh -c mylib.ml
mylib.cmx: mylib.ml mylib.cmi config.sh
${OCAMLOPT} -pp ./expandlib.sh -c mylib.ml
fmt_map: fmt_map.cmo
${OCAMLC} -o fmt_map fmt_map.cmo
config.sh: Makefile
@(echo PGM=\"$(PGM)\" &&\
echo PGMNATIVE=\"$(PGMNATIVE)\" &&\
echo BINDIR=$(BINDIR) &&\
echo LIBDIR=$(LIBDIR) &&\
echo DESTDIR=$(DESTDIR) &&\
echo LATEXLIBDIR=$(LATEXLIBDIR) &&\
echo OCAMLFLAGS=\"$(OCAMLFLAGS)\" &&\
echo OCBFLAGS=\"$(OCBFLAGS)\" &&\
echo ALLLIB=\"$(ALLLIB)\" && \
echo HTMLLIB=\"$(HTMLLIB)\" && \
echo TEXTLIB=\"$(TEXTLIB)\" && \
echo INFOLIB=\"$(INFOLIB)\" ) > $@
clean:: config.sh
sh ocb.sh clean
ocb-byte: config.sh
sh ocb.sh byte
ocb-opt: config.sh
sh ocb.sh opt
ocb-both: config.sh
sh ocb.sh both
ocb: ocb-$(TARGET)
.SUFFIXES:
.SUFFIXES: .ml .cmo .mli .cmi .c .mll .cmx
.mll.ml:
${OCAMLLEX} $<
.ml.cmx:
${OCAMLOPT} -c $<
.ml.cmo:
${OCAMLC} ${OCAMLFLAGS} -c $<
.mli.cmi:
${OCAMLCI} -c $<
.c:
$(CC) $(CFLAGS) -o $@ $<
cleanbyte:
rm -f *.byte
rm -f *.cmo
clean::
rm -f *.byte *.opt
rm -f $(GENSRC) fmt_map.ml
rm -f *.o *.cmi *.cmo *.cmx *.o *.ppo *.ppi
rm -f *~ #*# html/*~ html/#*# text/*~ text/#*# info/*~ info/#*#
depend: $(GENSRC)
- cp .depend .depend.bak
ocamldep *.mli *.ml > .depend
videoc.cmi : latexscan.cmi
videoc.cmo : videoc.cmi
include .depend
|