# $Id: Makefile,v 2.3 1999/03/04 16:35:14 ddr Exp $

include ../config/Makefile

INCLUDES=-I ../camlp4 -I ../boot
OCAMLCFLAGS=$(INCLUDES)

CAMLP4_OBJS=../boot/stdpp.cmo ../boot/token.cmo ../boot/plexer.cmo ../boot/gramext.cmo ../boot/grammar.cmo ../camlp4/quotation.cmo ../camlp4/ast2pt.cmo ../camlp4/reloc.cmo ../camlp4/pcaml.cmo
TOP=camlp4_top.cmo
ROBJS=$(CAMLP4_OBJS) ../meta/pa_r.cmo ../meta/pa_rp.cmo $(TOP)
OOBJS=$(CAMLP4_OBJS) ../etc/pa_o.cmo ../etc/pa_op.cmo $(TOP)
OOOBJS=$(CAMLP4_OBJS) ../etc/pa_o.cmo ../etc/pa_oop.cmo $(TOP)
OBJS=../camlp4/quotation.cmo ../camlp4/reloc.cmo ../camlp4/ast2pt.cmo ../camlp4/pcaml.cmo camlp4_top.cmo

TARGET=camlp4o.cma camlp4r.cma camlp4_top.cma

all: $(TARGET)

camlp4oo.cma: $(OOOBJS)
	$(OCAMLC) $(OOOBJS) -linkall -a -o camlp4oo.cma

camlp4o.cma: $(OOBJS)
	$(OCAMLC) $(OOBJS) -linkall -a -o camlp4o.cma

camlp4r.cma: $(ROBJS)
	$(OCAMLC) $(ROBJS) -linkall -a -o camlp4r.cma

camlp4_top.cma: $(OBJS)
	$(OCAMLC) $(OBJS) -a -o camlp4_top.cma

clean::
	rm -f *.cm[ioa] *.pp[io] *.o *.bak .*.bak $(TARGET)

depend:
	cp .depend .depend.bak
	> .depend
	@for i in *.mli *.ml; do \
	  ../tools/apply pr_depend.cmo -- $(INCLUDES) $$i >> .depend; \
	done

get_promote:

install:
	-$(MKDIR) $(LIBDIR)
	cp $(TARGET) $(LIBDIR)/.

include .depend
