CTBUILD targets
D. Adams
09apr99 1830
CTBUILD packages are built with the command "ctbuild pkg tgt"
where pkg is the package name and tgt is the target name.
D0 users use gmake instead of ctbuild. Here we list the supported
targets.
Build targets
These trigger the build of shared products. Any requisite products
within the package are created if missing (e.g. a request to
run component tests will trigger the bueild of the library.
- include - Build and install include files.
- lib - Build library.
- obj - Build bare objects.
- script - Install scripts.
- bin - Build binaries.
- all - include, lib, obj and bin
- ctest - Build and run component tests.
- itest - Build and run integrated tests.
- test - ctest and itest
Clear targets
These trigger the erasure of products and associated files.
- clear_include - Delete the installed include files.
- clear_lib - Delete the library and its objects.
- clear_obj - Delete bare objects.
- clear_script - Delete installed scripts.
- clear_bin - Delete binaries.
- clear_ctest - Delete component tests.
- clear_itest - Delete integrated tests.
- clear_test - clear_ctest and clear_itest
- clear - clear_include, clear_lib, clear_obj, clear_bin,
clear_ctest and clear_itest
- clear_all - clear and clear_make (see below)
Individual product targets
The above targets build or remove all the products of a specific typ
in a specific package. It also possible to generate or remove any
single product by appending an underscore and the product name. For
example the component test for component MyClass in package mypkg
may be run with
gmake mypkg.ctest_MyClass
or deleted with
gmake mypkg.clear_ctest_MyClass
Note that for integrated tests the directory is an implicit part of
the product name and it must pe prepended with an underscore. To
run the integrated test checkit in subdirectory test of the same package
gmake mypkg.itest_test_checkit
These individual product targets can be useful when a source is changed
and it is desirable to run a particular test out of order to save time.
Clear make targets
These trigger the erasure of the makefile fragements (including
dependency files) associated with a build target.
- clear_make_include
- clear_make_lib
- clear_make_obj
- clear_make_script
- clear_make_bin
- clear_make_ctest
- clear_make_itest
- clear_make - clear_make_include, clear_make_lib, clear_make_obj,
clear_make_script, clear_make_bin, clear_make_ctest and clear_make_itest
ctclear
The command ctclear may be used to delete som ctbuild-specific generated
data. The usual products (libraries, binaries, etc.) are not
affected.
- ctclear installation - delete all the ctbuild generated files
- ctclear libdep - delete the generated libdeps files
- ctclear index - delete the index files
These commands should only be needed rarely. Dependencies will handle
most changes to virtually any files in a package.
It might be necessary to delete libdeps files if a LIBDEPS file is added
to or removed from a package. It might be necessary to delete index files
if a package is removed or an external product is setup, unsetup or is
added or removed from ctext.
adams@physics.rice.edu