Heterogeneous Environment


To automatically generate binaries for the particular operating system type you wish to execute your program on, use the smake(1) command. smake(1) generates and places binaries in an directory specific for the operating system type so you can generate binaries for different operating system types without having to create a new directory or recompile every time you switch operating system type.

smake requires a Makefile of the following format:

    include $(BUILD)/config.make
    
    LANGUAGE = mpc++
    CPPFLAGS = $(X11INCLUDES)
    LDLIBS = -L$(X11LIBS) $(XAWLIB) $(XMULIB) $(XTOOLLIB) $(XLIB) -lm
    
    SRCS = hello.cc
    OBJS = hello.o
    PROGRAM = hello
    
    OBJDIR_RULE = prog-wrapper
    include $(RULES)/srcdir
This Makefile will compile the /opt/score/example/mttl-ult/hello.cc program.

Compile the program for the homogeneous cluster.

$ smake
Be careful with this smake(1) command provided by SCore. It is different from the make(1) command provided by Linux and Unix.

smake produces quite a lot of output that is not displayed here. It will create an object directory in the current directory for the particular platform and copy the Makefile into it. Within this directory it will create a dependency file for the platform before compiling the program and producing a relocatable object file and executable file. A wrapper file, called .wrapper, which will be used to select executable programs for a particular platform, will be created in the current directory and the PROGRAM target from the Makefile will be used to create a link to the wrapper, thus forming the link to the executable program.


<<<<<<< hetero.html
PCCC logo PC Cluster Consotium

CREDIT
This document is a part of the SCore cluster system software developed at PC Cluster Consortium, Japan. Copyright (C) 2003 PC Cluster Consortium.