- 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. |
21 years ago |