OCAMLC=ocamlc OCAMLOPT=ocamlopt OCAMLDEP=ocamldep DESTDIR=`$(OCAMLC) -where`/score MPIINCDIR1=/opt/score5.4.0/mpi/mpich-1.2.4/i386-redhat7-linux2_4_gnu/include MPIINCDIR2=/opt/score5.4.0/include MPIINCDIR3=/usr/src/linux-2.4/include MPILIBDIR1=/opt/score5.4.0/mpi/mpich-1.2.4/i386-redhat7-linux2_4_gnu/lib MPILIBDIR2=/opt/score5.4.0/lib/i386-redhat7-linux2_4 CC=gcc CFLAGS=-I`$(OCAMLC) -where` -I$(MPIINCDIR1) -I$(MPIINCDIR2) -I$(MPIINCDIR3) -O -g -Wall -static -fconserve-space -D_BSD_SOURCE=1 -DUSE_STDARG -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STDARG_H=1 -DUSE_STDARG=1 -DMALLOC_RET_VOID=1 COBJS=init.o comm.o msgs.o collcomm.o groups.o utils.o OBJS=mpi.cmo all: libcamlmpi.a mpi.cma mpi.cmxa install: cp mpi.mli mpi.cmi mpi.cma mpi.cmxa mpi.a libcamlmpi.a $(DESTDIR) libcamlmpi.a: $(COBJS) rm -f $@ ar rc $@ $(COBJS) mpi.cma: $(OBJS) $(OCAMLC) -a -o mpi.cma -custom $(OBJS) -cclib -lcamlmpi -ccopt -L$(MPILIBDIR1) -ccopt -L$(MPILIBDIR2) -cclib -lmpich -cclib -lscoreusr -cclib -lscorecommon -cclib -lpm -cclib -lscwrap mpi.cmxa: $(OBJS:.cmo=.cmx) $(OCAMLOPT) -a -o mpi.cmxa $(OBJS:.cmo=.cmx) -cclib -lcamlmpi -ccopt -L$(MPILIBDIR1) -ccopt -L$(MPILIBDIR2) -cclib -lmpich -cclib -lscoreusr -cclib -lscorecommon -cclib -lpm -cclib -lscwrap .SUFFIXES: .ml .mli .cmo .cmi .cmx .ml.cmo: $(OCAMLC) -c $< .mli.cmi: $(OCAMLC) -c $< .ml.cmx: $(OCAMLOPT) -c $< testmpi: test.ml mpi.cma libcamlmpi.a ocamlc -o testmpi unix.cma mpi.cma test.ml -ccopt -L. clean:: rm -f testmpi test: testmpi mpirun -np 5 ./testmpi test_mandel: test_mandel.ml mpi.cmxa libcamlmpi.a ocamlopt -o test_mandel graphics.cmxa mpi.cmxa test_mandel.ml -ccopt -L. clean:: rm -f test_mandel clean:: rm -f *.cm* *.o *.a depend: $(OCAMLDEP) *.ml > .depend gcc -MM $(CFLAGS) *.c >> .depend include .depend