16.2. Sample Makefiles


       CFLAGS    =  
       FFLAGS    =  
       CPPFLAGS  = 
       FPPFLAGS  = 
        
       include ${TAO_DIR}/bmake/tao_common 
    
       rosenbrock1: rosenbrock1.o tao_chkopts 
            -${CLINKER} -o rosenbrock1 rosenbrock1.o ${TAO_LIB} ${PETSC_SNES_LIB} 
            ${RM} rosenbrock1.o 

Figure 6: Sample TAO Makefile for a Single Program

Maintaining portable TAO makefiles is very simple. Figure presents a minimal makefile for maintaining a single program that uses the TAO library. The most important line in this makefile is the line starting with include:

   include ${TAO_DIR}/bmake/tao_common 
This line includes other makefiles that provide the needed definitions and rules for the particular base software installations (specified by ${}TAO_DIR and ${}PETSC_DIR) and architecture (specified by ${}PETSC_ARCH), which are typically set as environmental variables prior to compiling TAO source or programs. As listed in the sample makefile, the appropriate include file is automatically completely specified; the user should not alter this statement within the makefile.

Note that the variable ${}TAO_LIB (as listed on the link line in this makefile) specifies all of the various TAO and supplementary libraries in the appropriate order for correct linking.

Some additional variables that can be used in the makefile are defined as follows: