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 *.ali
*.o *.o
build build
obj
testrunner testrunner
xmlrunner xmlrunner

View File

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

View File

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