SubDir All shared ;
SubDir All all-bin ;
SubDir ALLBIN ;
SubDir All shared ;
#
# Set the version number for this release of the project.
#
# For this project, we'll record the version "number" in the $(VERSION)
# variable as 3 separate numbers: a major, minor and patch level.
# This approach makes it easy to access the separate components of the
# version number using the element number modifier.
#
# See http://public.perforce.com/public/jam/src/Jam.html#varexp for
# information on using variable modifiers.
#
VERSION = 2 4 3 ;
#
# To obtain a string containing the version number in a form suitable
# for passing to the compiler as a DEFINE (see below), we use the
# "J" modifier to "Join" the major, minor and patch numbers with '.',
# and then we append the name of the operating system for the build.
#
# The quoting here is a bit elaborate and needs to be explained.
# The innermost quotes are to make this a c style string. They
# are backslashed so that Jam will preserve them. The surrounding
# unbackslashed quotes make the VERSION and OS into one string
# from Jam's point of view. Finally, the FQuote rule quotes the
# entire thing in whatever way is suitable for the operating system
# on which Jam is being run.
#
VERSION_STR = [ FQuote "\"$(VERSION:J=.) ($(OS))\"" ] ;
Echo "Build version: " $(VERSION_STR) ;
#
# Generated objects are placed in a subdirectory of ../all-bin named
# after the operating system on and for which we are building:
#
ALL_LOCATE_TARGET ?= [ FDirName $(All) all-bin $(OS) ] ;
Echo "Compilation products will be placed in $(ALL_LOCATE_TARGET)" ;
#
# On various Unices, we use c++ instead of cc (the default) for compiling
# c++ sources. On Mac and Windows, we use the default $(C++).
#
if $(UNIX)
{
C++ = c++ ;
}
#
# Function names, etc in c++ object files are "mangled" by the c++ compiler
# in order to support c++ features. Because of this, we need to enable c++
# style linking. The "normal" way to do this in Jam is to simply set the
# $(LINK) variable to $(C++), as follows:
#
LINK = $(C++) ;
#
# Set some addtional #define symbols to pass to the c++ compiler:
#
QUOTED_DATE = [ FQuote \"$(JAMDATE)\" ] ;
DEFINES += JAMDATE=$(QUOTED_DATE)
VERSION=$(VERSION_STR)
VERSION_MAJ=$(VERSION[1])
VERSION_MIN=$(VERSION[2]) ;
| # | Change | User | Description | Committed | |
|---|---|---|---|---|---|
| #1 | 4438 | Chris Comparini |
Sample jam projects. "rootless" documentation still needs work. |