create B_ varibles for build types
authorPatrik Gornicz <Gornicz.P@gmail.com>
Wed, 1 Jul 2009 15:12:42 +0000 (11:12 -0400)
committerPatrik Gornicz <Gornicz.P@gmail.com>
Wed, 1 Jul 2009 15:12:42 +0000 (11:12 -0400)
Makefile
lib/vars.mk
vars.mk

index 18a01d8..a1a2d5c 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,10 +1,4 @@
 
-# set this on the command line to get a WIN32 or a FINAL build
-BUILD := DEBUG
-
-# cause the fancy $${@D} directory rules to work out
-.SECONDEXPANSION:
-
 # The first and therefor default rule
 .PHONY: default
 default:
index 167c333..d739f7d 100644 (file)
@@ -27,7 +27,7 @@ T_INCDIRS_$P := ${SRCSDIR_$P} ${CURDIR}inc/
 T_INCDIRS_$P :=
 
 
-ifeq (${BUILD},WIN32)
+ifeq (${G_BUILD},${B_WIN32})
     LINKERNAME_$P  := bear.dll
     SONAME_$P      := bear.dll
     REALNAME_$P    := bear.dll
diff --git a/vars.mk b/vars.mk
index f32cc85..24bf396 100644 (file)
--- a/vars.mk
+++ b/vars.mk
@@ -1,17 +1,43 @@
 
+# cause the fancy $${@D} directory rules to work out
+.SECONDEXPANSION:
+
+B_DEBUG    := DEBUG
+B_FINAL    := FINAL
+B_WIN32    := WIN32
+
+# set this on the command line to get a WIN32 or a FINAL build
+G_BUILD    := ${B_DEBUG}
+
+ifeq (${G_BUILD},${B_DEBUG})
+else
+ifeq (${G_BUILD},${B_FINAL})
+else
+ifeq (${G_BUILD},${B_WIN32})
+else
+    $(error 'G_BUILD = ${G_BUILD}' is invalid. Valid types are '${B_DEBUG}', '${B_FINAL}' or '${B_WIN32}')
+endif
+endif
+endif
+
+
 T_OPTFLAGS := -O2
 T_DBGFLAGS := -ggdb
 T_PRFFLAGS := ${T_DBGFLAGS} -pg
 T_WARFLAGS := -Wall -Wextra -pedantic -ansi
 
 G_CXXFLAGS := ${T_WARFLAGS}
-ifeq (${BUILD},WIN32)
+ifeq (${G_BUILD},${B_DEBUG})
+    G_CXXFLAGS    += ${T_DBGFLAGS}
+else
+ifeq (${G_BUILD},${B_FINAL})
     G_CXXFLAGS    += ${T_OPTFLAGS}
 else
-ifeq (${BUILD},FINAL)
+ifeq (${G_BUILD},${B_WIN32})
     G_CXXFLAGS    += ${T_OPTFLAGS}
 else
-    G_CXXFLAGS    += ${T_DBGFLAGS}
+    $(error 'G_BUILD = ${G_BUILD}' is invalid.)
+endif
 endif
 endif
 
@@ -22,14 +48,13 @@ T_WARFLAGS :=
 
 G_LNKFLAGS :=
 
-ifeq (${BUILD},WIN32)
+ifeq (${G_BUILD},${B_WIN32})
     G_CXX := mingw32-g++
 else
     G_CXX := g++
 endif
 
-
-ifeq (${BUILD},WIN32)
+ifeq (${G_BUILD},${B_WIN32})
     G_LIBGL   := -lopengl32 -lglu32
     G_LIBSDL  := `/usr/mingw32/bin/sdl-config --libs`
 else
@@ -40,21 +65,25 @@ endif
 G_SRCSDIR := src/
 G_DEPSDIR := deps/
 
-ifeq (${BUILD},WIN32)
-    G_OBJSDIR := objs-mingw32/
-    G_BINDIR  := bin-mingw32/
+ifeq (${G_BUILD},${B_DEBUG})
+    G_OBJSDIR := objsd/
+    G_BINDIR  := bind/
 else
-ifeq (${BUILD},FINAL)
+ifeq (${G_BUILD},${B_FINAL})
     G_OBJSDIR := objs/
     G_BINDIR  := bin/
 else
-    G_OBJSDIR := objsd/
-    G_BINDIR  := bind/
+ifeq (${G_BUILD},${B_WIN32})
+    G_OBJSDIR := objs-mingw32/
+    G_BINDIR  := bin-mingw32/
+else
+    $(error 'G_BUILD = ${G_BUILD}' is invalid.)
+endif
 endif
 endif
 
 
-ifeq (${BUILD},WIN32)
+ifeq (${G_BUILD},${B_WIN32})
     PRNTFMT := printf "%-12s: %s\n"
 else
     PRNTFMT := printf "%-8s: %s\n"
@@ -75,7 +104,7 @@ else
 endif
 
 
-ifeq (${BUILD},WIN32)
+ifeq (${G_BUILD},${B_WIN32})
     prefix      := /usr/mingw32
 else
     prefix      := /usr