# SCRAM FLAGS SCRAM-based projects' build rules provided via cmssw-config support many compilation/control flags. Scope of build/compilation flag are defined by the place they are defined in. e.g. Project level flags Any flag defined/provided via following are used for all build products of the project - top-level config/BuildFile.xml - compiler's tools files (e.g. gcc-cxxcompiler.xml, gcc-cxxcom- piler.xml and gcc-f77compiler.xml) - via command-line USER_/SCRAM_ Tool level flags Any flags defined in the tool file of an external are used for all the build products which directly or indirectly depends on that tool. Product level flags Any flags defined in the BuildFile.xml is used by the product(s) defined in that BuildFile.xml Some flags ([_REM]_) can be configured based on their product class e.g. available classes are LIBRARY For all shared library/edm plugin/edm capabilities plugin prod- ucts BINARY For all executables. TEST For all test executables. TEST_LIBRARY For all test shared libraires executables. Some flags ([_REM]_) can be configured based on the SCRAM- based area types e.g. available area types are RELEASE Only for compilation/build in the release area environment. DEV Only for compilation/build user development area.