project CheddarKernel is for Languages use ("Ada"); for Main use ("cheddarkernel.adb"); for Source_Dirs use ("binaries", "config", "ellidiss", "framework", "framework/parametric", "framework/queueing_system", "framework/random", "framework/design_pattern_analyzer", "framework/arinc653", "framework/cache_system", "framework/architecture_generator", "platypus", "reusable", "txt", "../required_packages/bigNumber", "../required_packages/xmlada"); type Build_Type is ("Release", "Debug"); Build : Build_Type := external ("Build", "Debug"); case Build is when "Release" => for Exec_Dir use "binaries/bin/release"; for Object_Dir use "binaries/objects/release"; when "Debug" => for Exec_Dir use "binaries/bin/debug"; for Object_Dir use "binaries/objects/debug"; end case; package Check is case Build is when "Release" => when "Debug" => for Default_Switches ("ada") use ("-d"); end case; end Check; package Builder is case Build is when "Debug" => for Default_Switches ("ada") use ("-s", "-m", "-k", "-g"); for Executable ("cheddarkernel.adb") use "cheddarkernel_d"; when "Release" => for Default_Switches ("ada") use ("-s", "-m"); end case; end Builder; package Compiler is case Build is when "Release" => for Default_Switches ("ada") use ("-gnat05", "-O3", "-gnatn", "-funroll-loops", "-gnatf", "-gnato", "-fstack-check", "-gnata"); when "Debug" => for Default_Switches ("ada") use ("-gnat05", "-gnatf", "-gnato", "-fstack-check", "-g", "-gnata"); end case; end Compiler; package Linker is case Build is when "Release" => when "Debug" => for Default_Switches ("ada") use ("-g"); end case; end Linker; end CheddarKernel;