Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
AIMK(1PVM)			PVM Version 3.4			    AIMK(1PVM)

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	compi-
       lation (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 sys-
       tem 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 be-
       coming intermixed and to	 permit	 overlapping  compiles.	  A  different
       makefile	can be placed in each subdirectory or a	single makefile, Make-
       file.aimk, can be shared	between	architectures.	Per-architecture defi-
       nitions	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	direc-
	     tory 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, oth-
       erwise 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  concur-
       rently  on  machines of different types,	sharing	the same source	direc-
       tory.

	     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)

				 02 May, 1994			    AIMK(1PVM)

NAME | SYNOPSIS | DESCRIPTION | FLAGS | EXAMPLES | ENVIRONMENT | FILES | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=aimk&sektion=1&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help