furhter improve collision detection by reintroducing time of collision, still more...
[supertux.git] / mk / jam / variant.jam
1 #============================================================================
2 # Setup of compiler/linker flags for debug/optimize mode
3 #============================================================================
4
5 VARIANT ?= optimize ;
6 if $(VARIANT) != "debug" && $(VARIANT) != "optimize" && $(VARIANT) != "profile"
7 {
8   exit "Invalid modus set, please set VARIANT to debug, profile or optimize" ;
9 }
10
11 switch $(VARIANT)
12 {
13 case optimize :
14     SHORTVARIANT = opt ;
15 case debug :
16     SHORTVARIANT = dbg ;
17 case profile :
18     SHORTVARIANT = prof ;
19 }
20
21 # Set modus related flags
22 CCFLAGS += $(COMPILER_CFLAGS) $(COMPILER_CFLAGS_$(VARIANT)) ;
23 C++FLAGS += $(COMPILER_CFLAGS) $(COMPILER_C++FLAGS)
24             $(COMPILER_CFLAGS_$(VARIANT)) $(COMPILER_C++FLAGS_$(VARIANT)) ;
25 LFLAGS += $(LDFLAGS) $(COMPILER_LFLAGS) $(COMPILER_LFLAGS_$(VARIANT)) ;
26 LOCATE_OBJECTS = $(LOCATE_OBJECTS)/$(SHORTVARIANT) ;
27
28 ##  SubVariant variantname
29 ##    Specify subvarianet which are placed in separate compilation directories.
30 SUBVARIANT ?= "" ;
31 rule SubVariant
32 {
33   SUBVARIANT = $(<) ;
34   if ! $(<)
35   {
36     SUBVARIANT = "" ;
37     if $(SAVED_LOCATE_TARGET)
38     {
39       LOCATE_TARGET = $(SAVED_LOCATE_TARGET) ;
40     }
41     SAVED_LOCATE_TARGET = ;
42   }
43   else
44   {
45     if ! $(SAVED_LOCATE_TARGET)
46     {
47       SAVED_LOCATE_TARGET = $(LOCATE_TARGET) ;
48     }
49     LOCATE_TARGET = $(LOCATE_TARGET)/$(SUBVARIANT) ;
50   }
51 }
52