|
Packit |
3259d1 |
#
|
|
Packit |
3259d1 |
# Jamrules file to build CUnit - Root Directory
|
|
Packit |
3259d1 |
# (see http://www.freetype.org/jam/index.html)
|
|
Packit |
3259d1 |
#
|
|
Packit |
3259d1 |
# Copyright (C) 2004-2006 Jerry St.Clair
|
|
Packit |
3259d1 |
#
|
|
Packit |
3259d1 |
# This library is free software; you can redistribute it and/or
|
|
Packit |
3259d1 |
# modify it under the terms of the GNU Library General Public
|
|
Packit |
3259d1 |
# License as published by the Free Software Foundation; either
|
|
Packit |
3259d1 |
# version 2 of the License, or (at your option) any later version.
|
|
Packit |
3259d1 |
#
|
|
Packit |
3259d1 |
# This library is distributed in the hope that it will be useful,
|
|
Packit |
3259d1 |
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit |
3259d1 |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Packit |
3259d1 |
# Library General Public License for more details.
|
|
Packit |
3259d1 |
#
|
|
Packit |
3259d1 |
# You should have received a copy of the GNU Library General Public
|
|
Packit |
3259d1 |
# License along with this library; if not, write to the Free Software
|
|
Packit |
3259d1 |
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
Packit |
3259d1 |
#---------------------------------------------------------------------------
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
# On Linux, basic build options are set by configure.
|
|
Packit |
3259d1 |
# See else clause below for other platforms.
|
|
Packit |
3259d1 |
if $(OS) = LINUX || $(UNIX)
|
|
Packit |
3259d1 |
{
|
|
Packit |
3259d1 |
SLASH = / ;
|
|
Packit |
3259d1 |
VERSION = @VERSION@ ;
|
|
Packit |
3259d1 |
RELEASE = @RELEASE@ ;
|
|
Packit |
3259d1 |
VERSION_MAJOR = @VERSION_MAJOR@ ;
|
|
Packit |
3259d1 |
VERSION_MINOR = @VERSION_MINOR@ ;
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
# root of install path
|
|
Packit |
3259d1 |
prefix = @prefix@ ;
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
# choice of interfaces to build into library
|
|
Packit |
3259d1 |
if @BUILD_AUTOMATED@ = TRUE
|
|
Packit |
3259d1 |
{ BUILD_AUTOMATED = 1 ; }
|
|
Packit |
3259d1 |
if @BUILD_BASIC@ = TRUE
|
|
Packit |
3259d1 |
{ BUILD_BASIC = 1 ; }
|
|
Packit |
3259d1 |
if @BUILD_CONSOLE@ = TRUE
|
|
Packit |
3259d1 |
{ BUILD_CONSOLE = 1 ; }
|
|
Packit |
3259d1 |
if @BUILD_CURSES@ != FALSE
|
|
Packit |
3259d1 |
{
|
|
Packit |
3259d1 |
BUILD_CURSES = 1 ;
|
|
Packit |
3259d1 |
SYS_LIBS = -l@CURSES_LIB@ ;
|
|
Packit |
3259d1 |
}
|
|
Packit |
3259d1 |
# BUILD_WINDOWS = 1 ;
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
# choice of whether to build examples
|
|
Packit |
3259d1 |
if @BUILD_EXAMPLES@ = TRUE
|
|
Packit |
3259d1 |
{ BUILD_EXAMPLES = 1 ; }
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
# choice of whether to build test program
|
|
Packit |
3259d1 |
if @BUILD_TEST@ = TRUE
|
|
Packit |
3259d1 |
{ BUILD_TEST = 1 ; }
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
# choice of whether to build shared library
|
|
Packit |
3259d1 |
if @ENABLE_SHARED@ = TRUE
|
|
Packit |
3259d1 |
{ BUILD_SHARED_LIB = 1 ; }
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
# choice of whether to build static library
|
|
Packit |
3259d1 |
if @ENABLE_STATIC@ = TRUE
|
|
Packit |
3259d1 |
{ BUILD_STATIC_LIB = 1 ; }
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
# debug compilation mode
|
|
Packit |
3259d1 |
if @ENABLE_DEBUG@ = FALSE
|
|
Packit |
3259d1 |
{ NODEBUG = 1 ; }
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
# Use memory tracing
|
|
Packit |
3259d1 |
if @ENABLE_MEMTRACE@ = TRUE
|
|
Packit |
3259d1 |
{ USE_MEMTRACE = -DMEMTRACE ; }
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
# Recognize deprecated version 1.1 function names and build V1.1 examples
|
|
Packit |
3259d1 |
if @ENABLE_DEPRECATED@ = TRUE
|
|
Packit |
3259d1 |
{ USE_DEPRECATED_NAMES = -DUSE_DEPRECATED_CUNIT_NAMES ; }
|
|
Packit |
3259d1 |
}
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
# On other platforms, comment out the option to disable it
|
|
Packit |
3259d1 |
else
|
|
Packit |
3259d1 |
{
|
|
Packit |
3259d1 |
SLASH = \\ ;
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
# Version number set manually so may be out-of-date
|
|
Packit |
3259d1 |
VERSION = 2.1 ;
|
|
Packit |
3259d1 |
RELEASE = 0 ;
|
|
Packit |
3259d1 |
VERSION_MAJOR = 2 ;
|
|
Packit |
3259d1 |
VERSION_MINOR = 1 ;
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
# Set the root of install path
|
|
Packit |
3259d1 |
prefix = c:\\dev\\CUnit_install ;
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
# Comment to not include interface in library
|
|
Packit |
3259d1 |
BUILD_AUTOMATED = 1 ;
|
|
Packit |
3259d1 |
BUILD_BASIC = 1 ;
|
|
Packit |
3259d1 |
BUILD_CONSOLE = 1 ;
|
|
Packit |
3259d1 |
# BUILD_CURSES = 1 ;
|
|
Packit |
3259d1 |
BUILD_WINDOWS = 1 ;
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
# Comment to not build examples
|
|
Packit |
3259d1 |
BUILD_EXAMPLES = 1 ;
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
# Comment to not build test program
|
|
Packit |
3259d1 |
BUILD_TEST = 1 ;
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
# Comment to not build CUnit shared library
|
|
Packit |
3259d1 |
BUILD_SHARED_LIB = 1 ;
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
# Comment to not build CUnit static library
|
|
Packit |
3259d1 |
BUILD_STATIC_LIB = 1 ;
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
# Comment to compile with debugging & assertions enabled
|
|
Packit |
3259d1 |
NODEBUG = 1 ;
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
# Uncomment to perform memory tracing
|
|
Packit |
3259d1 |
#USE_MEMTRACE = -DMEMTRACE ;
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
# Uncomment to recognize deprecated version 1.1 function names
|
|
Packit |
3259d1 |
# and build V1.1 examples
|
|
Packit |
3259d1 |
#USE_DEPRECATED_NAMES = -DUSE_DEPRECATED_CUNIT_NAMES ;
|
|
Packit |
3259d1 |
}
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
#---------------------------------------------------------------------------
|
|
Packit |
3259d1 |
# Options from here on should not require routine tweaking
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
PACKAGE = CUnit ;
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
# Install locations - comment out to not install that class of file
|
|
Packit |
3259d1 |
INSTALL_BIN_DIR = $(prefix)$(SLASH)bin ;
|
|
Packit |
3259d1 |
INSTALL_LIB_DIR = $(prefix)$(SLASH)lib ;
|
|
Packit |
3259d1 |
INSTALL_INC_DIR = $(prefix)$(SLASH)include$(SLASH)CUnit ;
|
|
Packit |
3259d1 |
INSTALL_DOC_DIR = $(prefix)$(SLASH)doc$(SLASH)CUnit ;
|
|
Packit |
3259d1 |
INSTALL_MAN_DIR = $(prefix)$(SLASH)man ;
|
|
Packit |
3259d1 |
INSTALL_SHARE_DIR = $(prefix)$(SLASH)share$(SLASH)CUnit ;
|
|
Packit |
3259d1 |
#INSTALL_EXAM_DIR = $(prefix)$(SLASH)share$(SLASH)CUnit$(SLASH)Examples ;
|
|
Packit |
3259d1 |
#INSTALL_TEST_DIR = $(prefix)$(SLASH)share$(SLASH)CUnit$(SLASH)Test ;
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
# Build directory - - will be qualified for compiler & build type
|
|
Packit |
3259d1 |
BUILD_DIR_ROOT = $(TOP) ;
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
EXAMPLES_DIR = $(TOP)$(SLASH)Examples ;
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
CUNIT_HDR_DIR = $(TOP)$(SLASH)CUnit$(SLASH)Headers ;
|
|
Packit |
3259d1 |
CUNIT_LIB_NAME = libcunit ;
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
# Comment for normal jam deletion of object files after building targets
|
|
Packit |
3259d1 |
KEEPOBJS = true ;
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
if $(NODEBUG)
|
|
Packit |
3259d1 |
{
|
|
Packit |
3259d1 |
CCFLAGS += -DNDEBUG ;
|
|
Packit |
3259d1 |
BUILD_SUBDIR = $(SLASH)Release ;
|
|
Packit |
3259d1 |
}
|
|
Packit |
3259d1 |
else
|
|
Packit |
3259d1 |
{
|
|
Packit |
3259d1 |
BUILD_SUBDIR = $(SLASH)Debug ;
|
|
Packit |
3259d1 |
}
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
if $(NT)
|
|
Packit |
3259d1 |
{
|
|
Packit |
3259d1 |
# variables not set properly for Windows/Win9x in Jambase 2.3
|
|
Packit |
3259d1 |
RM = del ;
|
|
Packit |
3259d1 |
MV = move /Y ;
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
SUFSHR = .dll ;
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
# Windows-specific defines
|
|
Packit |
3259d1 |
CCFLAGS = -DWIN32 -D_LIB -D_MBCS -D_DELAYTEST ;
|
|
Packit |
3259d1 |
CUNIT_WIN_DIR = $(TOP)$(SLASH)CUnit$(SLASH)Sources$(SLASH)Win ;
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
if $(BCCROOT) || ( $(TOOLSET) = BORLANDC )
|
|
Packit |
3259d1 |
{
|
|
Packit |
3259d1 |
CCFLAGS += -q -d -g0 -j0 ;
|
|
Packit |
3259d1 |
CCWARN = -w -w-8004 ;
|
|
Packit |
3259d1 |
if $(NODEBUG)
|
|
Packit |
3259d1 |
{
|
|
Packit |
3259d1 |
CCDEBUG = -v- -O2 ;
|
|
Packit |
3259d1 |
}
|
|
Packit |
3259d1 |
else
|
|
Packit |
3259d1 |
{
|
|
Packit |
3259d1 |
CCDEBUG = -v -y -Od ;
|
|
Packit |
3259d1 |
}
|
|
Packit |
3259d1 |
BUILD_SUBDIR = $(BUILD_SUBDIR)$(SLASH)bcc ;
|
|
Packit |
3259d1 |
}
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
else if $(MSVCNT) || ( $(TOOLSET) = VISUALC )
|
|
Packit |
3259d1 |
{
|
|
Packit |
3259d1 |
CCFLAGS += /Ze ;
|
|
Packit |
3259d1 |
CCWARN = /W4 ;
|
|
Packit |
3259d1 |
if $(NODEBUG)
|
|
Packit |
3259d1 |
{
|
|
Packit |
3259d1 |
CCDEBUG = /O2 ;
|
|
Packit |
3259d1 |
}
|
|
Packit |
3259d1 |
else
|
|
Packit |
3259d1 |
{
|
|
Packit |
3259d1 |
CCDEBUG = /Zi /Od ;
|
|
Packit |
3259d1 |
}
|
|
Packit |
3259d1 |
# Libraries are in different paths depending on VC version
|
|
Packit |
3259d1 |
LINKFLAGS += /LIBPATH:$(VISUALC)\\lib /LIBPATH:$(VISUALC)\\PlatformSDK\\lib\\ ;
|
|
Packit |
3259d1 |
LINKLIBS = advapi32.lib
|
|
Packit |
3259d1 |
libc.lib
|
|
Packit |
3259d1 |
oldnames.lib
|
|
Packit |
3259d1 |
gdi32.lib
|
|
Packit |
3259d1 |
user32.lib
|
|
Packit |
3259d1 |
kernel32.lib ;
|
|
Packit |
3259d1 |
BUILD_SUBDIR = $(BUILD_SUBDIR)$(SLASH)msvc ;
|
|
Packit |
3259d1 |
}
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
else if $(MINGW) || ( $(TOOLSET) = MINGW )
|
|
Packit |
3259d1 |
{
|
|
Packit |
3259d1 |
# uncomment to select desired warning level and ansi-strictness
|
|
Packit |
3259d1 |
CCWARN += -Wall ;
|
|
Packit |
3259d1 |
CCWARN += -W ;
|
|
Packit |
3259d1 |
CCWARN += -pedantic ;
|
|
Packit |
3259d1 |
CCWARN += -Wshadow ;
|
|
Packit |
3259d1 |
CCWARN += -ansi ;
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
if $(NODEBUG)
|
|
Packit |
3259d1 |
{
|
|
Packit |
3259d1 |
CCDEBUG = -O3 ;
|
|
Packit |
3259d1 |
}
|
|
Packit |
3259d1 |
else
|
|
Packit |
3259d1 |
{
|
|
Packit |
3259d1 |
CCDEBUG = -g -O0 ;
|
|
Packit |
3259d1 |
}
|
|
Packit |
3259d1 |
BUILD_SUBDIR = $(BUILD_SUBDIR)$(SLASH)mingw ;
|
|
Packit |
3259d1 |
}
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
else if $(WATCOM) || ( $(TOOLSET) = WATCOM )
|
|
Packit |
3259d1 |
{
|
|
Packit |
3259d1 |
CCFLAGS += /fr ;
|
|
Packit |
3259d1 |
CCWARN = /wx ;
|
|
Packit |
3259d1 |
if $(NODEBUG)
|
|
Packit |
3259d1 |
{
|
|
Packit |
3259d1 |
CCDEBUG = /ox ;
|
|
Packit |
3259d1 |
}
|
|
Packit |
3259d1 |
else
|
|
Packit |
3259d1 |
{
|
|
Packit |
3259d1 |
CCDEBUG = /od /d2 ;
|
|
Packit |
3259d1 |
}
|
|
Packit |
3259d1 |
BUILD_SUBDIR = $(BUILD_SUBDIR)$(SLASH)watcom ;
|
|
Packit |
3259d1 |
}
|
|
Packit |
3259d1 |
}
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
else if $(OS) = LINUX
|
|
Packit |
3259d1 |
{
|
|
Packit |
3259d1 |
SUFSHR = .so ;
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
# uncomment to select desired warning level and ansi-strictness
|
|
Packit |
3259d1 |
CCWARN += -Wall ;
|
|
Packit |
3259d1 |
CCWARN += -W ;
|
|
Packit |
3259d1 |
CCWARN += -pedantic ;
|
|
Packit |
3259d1 |
CCWARN += -Wshadow ;
|
|
Packit |
3259d1 |
CCWARN += -ansi ;
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
if $(NODEBUG)
|
|
Packit |
3259d1 |
{
|
|
Packit |
3259d1 |
CCDEBUG = -O3 ;
|
|
Packit |
3259d1 |
}
|
|
Packit |
3259d1 |
else
|
|
Packit |
3259d1 |
{
|
|
Packit |
3259d1 |
CCDEBUG = -g -O0 ;
|
|
Packit |
3259d1 |
}
|
|
Packit |
3259d1 |
BUILD_SUBDIR = $(BUILD_SUBDIR)$(SLASH)linux ;
|
|
Packit |
3259d1 |
}
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
CCFLAGS += $(USE_MEMTRACE) $(CCWARN) $(CCDEBUG) ;
|
|
Packit |
3259d1 |
C++FLAGS += $(CCFLAGS) ;
|
|
Packit |
3259d1 |
BUILD_DIR = $(BUILD_DIR_ROOT)$(BUILD_SUBDIR) ;
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
#----------------------------------------------------------------------
|
|
Packit |
3259d1 |
# CUnit-specific rules & actions
|
|
Packit |
3259d1 |
#----------------------------------------------------------------------
|
|
Packit |
3259d1 |
# If anyone can figure out a better way, good for you
|
|
Packit |
3259d1 |
# (and let me (jds) know)! Here's the problem...
|
|
Packit |
3259d1 |
# The built-in Jam install rules all convert the grist of
|
|
Packit |
3259d1 |
# the source file to (:G=installed). As a result, they
|
|
Packit |
3259d1 |
# seem unable to handle files having the same name in
|
|
Packit |
3259d1 |
# different directories. If we want to install such files
|
|
Packit |
3259d1 |
# as the Jamfile's or Makefile.am's or README's, the built-ins
|
|
Packit |
3259d1 |
# can't handle it (in my hands, anyway). As a workaround,
|
|
Packit |
3259d1 |
# we define a new rule which does not monkey with the grist
|
|
Packit |
3259d1 |
# in this way. Duplicate file names will need to explicitly
|
|
Packit |
3259d1 |
# use grist so Jam knows the difference, but the standard
|
|
Packit |
3259d1 |
# <$(SOURCE_GRIST)> works in most cases.
|
|
Packit |
3259d1 |
#
|
|
Packit |
3259d1 |
rule DoInstallCUnitFile
|
|
Packit |
3259d1 |
{
|
|
Packit |
3259d1 |
local i t ;
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
t = $(>:D=$(<)) ;
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
DEPENDS install : $(t) ;
|
|
Packit |
3259d1 |
DEPENDS $(t) : $(>) ;
|
|
Packit |
3259d1 |
SEARCH on $(>) = $(SEARCH_SOURCE) ;
|
|
Packit |
3259d1 |
MakeLocate $(t) : $(<) ;
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
# Arrange for jam uninstall
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
Clean uninstall : $(t) ;
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
for i in $(>)
|
|
Packit |
3259d1 |
{
|
|
Packit |
3259d1 |
Install $(i:D=$(<)) : $(i) ;
|
|
Packit |
3259d1 |
Chmod $(i:D=$(<)) ;
|
|
Packit |
3259d1 |
}
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
if $(UNIX)
|
|
Packit |
3259d1 |
{
|
|
Packit |
3259d1 |
if $(OWNER) { Chown $(t) ; OWNER on $(t) = $(OWNER) ; }
|
|
Packit |
3259d1 |
if $(GROUP) { Chgrp $(t) ; GROUP on $(t) = $(GROUP) ; }
|
|
Packit |
3259d1 |
}
|
|
Packit |
3259d1 |
}
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
rule InstallCUnitBin
|
|
Packit |
3259d1 |
{
|
|
Packit |
3259d1 |
DoInstallCUnitFile $(<) : $(>) ;
|
|
Packit |
3259d1 |
MODE on $(>:D=$(<)) = $(EXEMODE) ;
|
|
Packit |
3259d1 |
}
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
rule InstallCUnitFile
|
|
Packit |
3259d1 |
{
|
|
Packit |
3259d1 |
DoInstallCUnitFile $(<) : $(>) ;
|
|
Packit |
3259d1 |
MODE on $(>:D=$(<)) = $(FILEMODE) ;
|
|
Packit |
3259d1 |
}
|
|
Packit |
3259d1 |
|
|
Packit |
3259d1 |
#----------------------------------------------------------
|
|
Packit |
3259d1 |
# MakeImportLibrary
|
|
Packit |
3259d1 |
#
|
|
Packit |
3259d1 |
# This is a dummy rule. Import libraries are built in
|
|
Packit |
3259d1 |
# the dll linking directive. However, jam doesn't know
|
|
Packit |
3259d1 |
# that, so we provide a rule which does nothing more
|
|
Packit |
3259d1 |
# than define a dependency.
|
|
Packit |
3259d1 |
#
|
|
Packit |
3259d1 |
# Parameters:
|
|
Packit |
3259d1 |
#
|
|
Packit |
3259d1 |
# 1 - name of the dll
|
|
Packit |
3259d1 |
# 2 - name of the import library
|
|
Packit |
3259d1 |
#----------------------------------------------------------
|
|
Packit |
3259d1 |
rule MakeImportLibrary
|
|
Packit |
3259d1 |
{
|
|
Packit |
3259d1 |
DEPENDS $(>) : $(<) ;
|
|
Packit |
3259d1 |
LOCATE on $(>) = $(BUILD_DIR) ;
|
|
Packit |
3259d1 |
}
|
|
Packit |
3259d1 |
|