project Steelcrypt is type Build_Modes is ("Release", "Debug"); Mode : Build_Modes := external ("BUILD", "Debug"); for Main use ("main.adb"); for Source_Dirs use ("src/**"); case Mode is when "Debug" => for Object_Dir use "obj_debug"; when "Release" => for Object_Dir use "obj_release"; end case; package Compiler is case Mode is when "Debug" => for Default_Switches ("ada") use ("-g", "-gnato", "-gnatwa", "-gnatQ", "-gnat05"); when "Release" => for Default_Switches ("ada") use ("-gnatQ", "-gnatn", "-O2", "-gnat05"); end case; end Compiler; package Builder is case Mode is when "Debug" => for Default_Switches ("ada") use ("-g"); when "Release" => for Default_Switches ("ada") use (); end case; end Builder; package Ide is end Ide; end Steelcrypt;