The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

aimk (1)
  • >> aimk (1) ( Linux man: Команды и прикладные программы пользовательского уровня )
  •  

    NAME

    aimk - Portable make wrapper script
     
    

    SYNOPSIS

    aimk [ -here ] [ make arguments ]

     

    DESCRIPTION

    aimk is a wrapper program for make, used to portably select options to build PVM and PVM applications on various machines. Each port of PVM is assigned an architecture name. The name is used both during compilation (to conditionally switch in code) and at runtime (to select an executable or host).

    aimk uses the value of environment variable $PVM_ARCH if it is set, otherwise it calls $PVM_ROOT/pvmgetarch to determine the architecture name. pvmgetarch is a script that sniffs at various parts of the system to determine the correct architecture name. It is updated as new PVM ports are defined, and can be augmented locally.

    aimk determines the machine architecture and execs make, passing it the architecture and a configuration file along with arguments supplied to aimk. It runs make in a subdirectory to prevent executables from becoming intermixed and to permit overlapping compiles. A different makefile can be placed in each subdirectory or a single makefile, Makefile.aimk, can be shared between architectures. Per-architecture definitions from the $PVM_ROOT/conf directory are appended to the common makefile. aimk calls make is called in one of three ways, depending on what makefiles are present:

    i.
    If $PVM_ARCH/Makefile or $PVM_ARCH/makefile exists, change directory to $PVM_ARCH and exec make there:

    (cd $PVM_ARCH ; make PVM_ARCH=$PVM_ARCH < aimk args >)

    ii.
    Else if Makefile.aimk exists, create $PVM_ARCH directory if it doesn't exist, then:

    (cd $PVM_ARCH ; \
    make -f $PVM_ROOT/conf/$PVM_ARCH.def \
    -f ../Makefile.aimk PVM_ARCH=$PVM_ARCH < aimk args >)

    iii.
    Else just exec make in current directory:

    make PVM_ARCH=$PVM_ARCH < aimk args >

    If aimk succeeds in calling make, the exit status is that of make, otherwise it is 1.

     

    FLAGS

    -here
    Forces aimk to run make in the current directory, e.g. converts case i. to case iii.

     

    EXAMPLES

    The following Makefile.aimk file builds and installs hello, creating the PVM binary directory if it doesn't exist. It can be run concurrently on machines of different types, sharing the same source directory.

          LDIR    =  -L$(PVM_ROOT)/lib/$(PVM_ARCH)
          PVMLIB  =  -lpvm3
          SDIR    =  ..
          BDIR    =  $(HOME)/pvm3/bin
          XDIR    =  $(BDIR)/$(PVM_ARCH)
          CFLAGS  =  -g -I$(PVM_ROOT)/include
          LIBS    =  $(LDIR) $(PVMLIB) $(ARCHLIB)
    
          $(XDIR):
                  - mkdir $(BDIR) $(XDIR)
    
          hello: $(SDIR)/hello.c $(XDIR)
                  $(CC) $(CFLAGS) -o $@ $(SDIR)/$@.c $(LIBS)
                  mv $@ $(XDIR)
    

     

    ENVIRONMENT

    
        $PVM_ROOT   Root path of PVM installation.
        $PVM_ARCH   PVM architecture name for machine.
    

     

    FILES

        $PVM_ROOT/lib/aimk                  The aimk program
        $PVM_ROOT/conf/$PVM_ARCH.def        Arch config file
    

     

    SEE ALSO

    pvm_intro(1PVM)


     

    Index

    NAME
    SYNOPSIS
    DESCRIPTION
    FLAGS
    EXAMPLES
    ENVIRONMENT
    FILES
    SEE ALSO


    Поиск по тексту MAN-ов: 




      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor