##
## makefile for mpC run-time system and topology functions
## Coded by Dm. Arapov for A.Lastovetsky 1995-1996
##

CFLAGS = -I$(MPIDIR)/include $(OPT) $(SF) -DUSE_STDARG -D__RTS__
LDFLAGS = -r -o

Obj=/usr/local/mpc/arapov/mpC

RTS = mpCctrl.o mpCdisp.o mpCerr.o mpCexchg.o mpCred.o mpCstd.o mpCtree.o \
      mpCtriv.o mpCttopo.o mpCtype.o mpCvar.o 
TOPO = mpCtopo.o


all: mpC_Cext.h mpcrts.o mpctopo.o

install: all
	cp mpcrts.o mpctopo.o $(MPCHOME)/lib
	chmod u+w,a+r $(MPCHOME)/lib/*.o
	cp *.h $(MPCHOME)/h
	chmod u+w,a+r $(MPCHOME)/h/*.h

mpcrts.o: $(RTS)
	ld $(LDFLAGS) mpcrts.o $(RTS)

mpctopo.o: $(TOPO)
	cp mpCtopo.o mpctopo.o 

mpC_Cext.h:	mpC_Cext
	sh -c "$(MPICC) -c testlong.c" >&2 failed.tst
	sh -c "if test ! -f failed.tst; then cat mpC_Cext | sed -e 's|__MPC_LONGLONG__|__MPC_LONGLONG_ON|' > mpC_Cext.h; else cp mpC_Cext mpC_Cext.h; fi"
	cp mpC_Cext.h ../h

$(RTS): mpC.h
$(TOPO): mpCtopo.h
$(TOPO): mpC.h

mpCctrl.o:  mpCtags.h

mpCdisp.o:  mpCtopo.h
mpCdisp.o:  mpCtriv.h
mpCdisp.o:  mpCtags.h

mpCexchg.o: mpCtags.h
mpCexchg.o: mpCtype.h
mpCexchg.o: mpCtree.h

mpCvar.o:   mpCtags.h
mpCvar.o:   mpCtype.h
mpCvar.o:   mpCtree.h

mpCtriv.o:  mpCtriv.h

clean:
	rm -f core *.o *% *.*% mpC_Cext.h ../h/mpC_Cext.h failed.tst

.SUFFIXES:	.c .o

.c.o:
	$(MPICC) $(CFLAGS) -c $*.c
