# $Id: Makefile,v 1.15.4.2 2006/09/14 15:32:20 doligez Exp $ include ../config/Makefile INCLUDES= OCAMLCFLAGS=-warn-error A $(INCLUDES) OBJS=stdpp.cmo token.cmo plexer.cmo gramext.cmo grammar.cmo extfold.cmo extfun.cmo fstream.cmo SHELL=/bin/sh TARGET=gramlib.cma .PHONY: opt all clean depend promote compare install installopt all: $(TARGET) opt: opt$(PROFILING) optnoprof: $(TARGET:.cma=.cmxa) optprof: optnoprof $(TARGET:.cma=.p.cmxa) $(TARGET): $(OBJS) $(OCAMLC) $(OBJS) -a -o $(TARGET) $(TARGET:.cma=.cmxa): $(OBJS:.cmo=.cmx) $(OCAMLOPT) $(OBJS:.cmo=.cmx) -a -o $(TARGET:.cma=.cmxa) $(TARGET:.cma=.p.cmxa): $(OBJS:.cmo=.p.cmx) $(OCAMLOPT) $(OBJS:.cmo=.p.cmx) -a -o $(TARGET:.cma=.p.cmxa) clean:: rm -f *.cm[ioax] *.cmxa *.pp[io] *.$(O) *.$(A) *.bak .*.bak $(TARGET) depend: cp .depend .depend.bak > .depend @for i in *.mli *.ml; do \ ../tools/apply.sh pr_depend.cmo -- $(INCLUDES) $$i >> .depend; \ done promote: cp $(OBJS) $(OBJS:.cmo=.cmi) ../boot/. compare: @for j in $(OBJS) $(OBJS:.cmo=.cmi); do \ if cmp $$j ../boot/$$j; then :; else exit 1; fi; \ done install: -$(MKDIR) "$(LIBDIR)/camlp4" ${BSD_INSTALL_DATA} $(TARGET) *.mli "$(LIBDIR)/camlp4/." ${BSD_INSTALL_DATA} *.cmi *.cmo "$(LIBDIR)/camlp4/." test -f $(TARGET:.cma=.cmxa) && $(MAKE) installopt LIBDIR="$(LIBDIR)" || true installopt: for f in $(TARGET:.cma=.cmxa) $(TARGET:.cma=.p.cmxa) *.cmx *.o ; do \ test -f $$f && cp $$f "$(LIBDIR)/camlp4/." || true ; \ done # Special treatment for this one: some versions of make don't like $(A) in $(TARGET:.cma=.$(A)) target="`echo $(TARGET) | sed -e 's/\.cma$$/.$(A)/'`" ; \ if test -f $$target ; then \ ${BSD_INSTALL_DATA} $$target "$(LIBDIR)/camlp4/." && ( cd "$(LIBDIR)/camlp4/." && $(RANLIB) $$target ) \ fi include .depend