Play around with building different 'modes' with gprbuild

This commit is contained in:
R. Tyler Croy 2011-02-14 20:30:14 -08:00
parent 79973ae9a3
commit d1b0f32979
3 changed files with 20 additions and 6 deletions

1
.gitignore vendored
View File

@ -1,5 +1,6 @@
*.ali
*.o
build
obj
testrunner
xmlrunner

View File

@ -4,19 +4,22 @@ TESTRUNNER=testrunner
PROJECTGPR=async.gpr
release: pre syntax
$(GPRBUILD) -p $(PROJECTGPR) -Xmode=release
lib: pre
$(GPRBUILD) -p $(PROJECTGPR)
syntax: pre
syntax: pre lib
gnatmake -gnatc -gnat05 -P $(PROJECTGPR)
clean: pre
for d in tests/*; do echo "> $$d"; (cd $$d && make clean); done
$(GPRCLEAN) $(PROJECTGPR)
rm -rf build
rm -rf obj
pre:
mkdir -p build
mkdir -p obj/debug obj/release
test: pre lib
for d in tests/*; do echo "> $$d"; (cd $$d && make run); done

View File

@ -1,12 +1,22 @@
project Async is
for Languages use ("Ada");
for Source_Dirs use ("src");
for Object_Dir use "build";
for Object_Dir use "obj/" & external ("mode", "debug");
for Exec_Dir use ".";
type Mode_Type is ("debug", "release");
Mode : Mode_Type := external ("mode", "debug");
package Compiler is
for Default_Switches("ada") use
("-O2", "-gnat05");
case Mode is
when "debug" =>
for Default_Switches ("Ada") use
("-g", "-gnat05");
when "release" =>
for Default_Switches ("Ada") use
("-O2", "-gnat05");
end case;
end Compiler;
end Async;