Skip to content
Snippets Groups Projects
Makefile 2.28 KiB
Newer Older
  • Learn to ignore specific revisions
  • Debolskiy Andrey's avatar
    Debolskiy Andrey committed
    .SUFFIXES:      .c .o .a
    
    AR          = ar crl
    RANLIB      = ranlib
    
    
    Debolskiy Andrey's avatar
    Debolskiy Andrey committed
    INSTALLDIR	= $(HOME)/ParLib.v2.2
    
    Debolskiy Andrey's avatar
    Debolskiy Andrey committed
    #INSTALLDIR	= $(HOME)
    
    
    default: all
    all: setvars libparlib.a libparlibf.a
    
    #
    # For INM's HP-cluster
    #
       CC 			= mpicc -restrict -no-ansi-alias
       LIBS			= -lmpich
    #   LIBPATH		= -L/opt/mpich-gm/lib
    #   INCPATH		= -I/opt/mpich-gm/include
       DEFINES		= -DFORTRANUNDERSCORE
    
    setvars:
    
    libparlib.a: parlib.o plutils.o bexchange.o transpose.o
    	$(AR) $@ $?
    	$(RANLIB) $@
    
    libparlibf.a: parlibf.o bexchangef.o transposef.o
    	$(AR) $@ $?
    	$(RANLIB) $@
    
    .c.o:
    		$(CC) $(INCPATH) -c $(DEFINES) $<
    
    clean:
    		rm -f *.o *.a
    
    rebuild: clean all
    
    install: libparlib.a libparlibf.a
    	@if !(test -d $(INSTALLDIR)) ; then \
    	   echo Creating directory $(INSTALLDIR)...; \
    	   mkdir $(INSTALLDIR) ; \
    	fi
    	@if !(test -d $(INSTALLDIR)/lib) ; then \
    	   echo Creating directory $(INSTALLDIR)/lib...; \
    	   mkdir $(INSTALLDIR)/lib ; \
    	fi
    	cp $? $(INSTALLDIR)/lib
    	@if !(test -d $(INSTALLDIR)/include) ; then \
    	   echo Creating directory $(INSTALLDIR)/include...; \
    	   mkdir $(INSTALLDIR)/include ; \
    	fi
    	cp -r parlib.h parlibf.h $(INSTALLDIR)/include
    	@if !(test -d $(INSTALLDIR)/man) ; then \
    	   echo Creating directory $(INSTALLDIR)/man...; \
    	   mkdir $(INSTALLDIR)/man ; \
    	fi
    	@if !(test -d $(INSTALLDIR)/man/man3) ; then \
    	   echo Creating directory $(INSTALLDIR)/man/man3...; \
    	   mkdir $(INSTALLDIR)/man/man3 ; \
    	fi
    	cp -r man/* $(INSTALLDIR)/man/man3
    	ln -s $(INSTALLDIR)/man/man3/P_BExchange_init.3 \
          $(INSTALLDIR)/man/man3/P_BExchange_start.3
    	ln -s $(INSTALLDIR)/man/man3/P_BExchange_init.3 \
          $(INSTALLDIR)/man/man3/P_BExchange_end.3
    	ln -s $(INSTALLDIR)/man/man3/P_BExchange_init.3 \
          $(INSTALLDIR)/man/man3/P_BExchange_free.3
    	ln -s $(INSTALLDIR)/man/man3/P_Transpose_init.3 \
          $(INSTALLDIR)/man/man3/P_Transpose_start.3
    	ln -s $(INSTALLDIR)/man/man3/P_Transpose_init.3 \
          $(INSTALLDIR)/man/man3/P_Transpose_end.3
    	ln -s $(INSTALLDIR)/man/man3/P_Transpose_init.3 \
          $(INSTALLDIR)/man/man3/P_Transpose_free.3
    
    plutils.o: plutils.h
    parlib.o: parlib.h plutils.h
    
    Debolskiy Andrey's avatar
    Debolskiy Andrey committed
    parlib.o: parlib.h plutils.h
    
    Debolskiy Andrey's avatar
    Debolskiy Andrey committed
    bexchange.o: parlib.h plutils.h
    bexchangef.o: parlib.h plutils.h
    transpose.o: parlib.h plutils.h
    transposef.o: parlib.h plutils.h