} // namespace bear
+#if 0
+
#include <assert.h>
#define BEAR_CASSERT(f) typedef struct bear::cassert_typedef_dummy<sizeof(bear::CASSERT_FAILURE<f>)> cassert_typedef
#define BEAR_DASSERT(f) ((f) ? (void)0 : bear::debug::printTrace(), assert(f))
+#else
+
+#define BEAR_CASSERT(f) (void)0
+#define BEAR_DASSERT(f) (void)0
+
+#endif
+
#endif // DEBUG_H
using std::cout;
using std::endl;
-#include <execinfo.h>
+//#include <execinfo.h>
#include <stdlib.h>
#include "Lock.h"
void bear::debug::printTrace()
{
+#if 0
int size;
char** strings;
}
free (strings);
+#endif
}
void bear::DPF(int iLevel, const char* pstr)
CXX_$P := ${G_CXX}
-CXXFLAGS_$P := ${G_CXXFLAGS} -fPIC
+CXXFLAGS_$P := ${G_CXXFLAGS}
LIBS_$P := ${G_LIBSDL} ${G_LIBGL}
+
+ifeq (${G_BUILD},${B_DEBUG})
+ CSSFLAGS_$P += -fPIC
+else
+ifeq (${G_BUILD},${B_FINAL})
+ CSSFLAGS_$P += -fPIC
+else
+ifeq (${G_BUILD},${B_WIN32})
+else
+ifeq (${G_BUILD},${B_CYGWIN})
+else
+ $(error 'G_BUILD = ${G_BUILD}' is invalid.)
+endif
+endif
+endif
+endif
+
SRCSDIR_$P := ${CURDIR}/${G_SRCSDIR}
DEPSDIR_$P := ${CURDIR}/${G_DEPSDIR}
OBJSDIR_$P := ${CURDIR}/${G_OBJSDIR}
T_INCDIRS_$P :=
+ifeq (${G_BUILD},${B_DEBUG})
+ LINKERNAME_$P := libbear.so
+ SONAME_$P := libbear.so.0
+ REALNAME_$P := libbear.so.0.0
+else
+ifeq (${G_BUILD},${B_FINAL})
+ LINKERNAME_$P := libbear.so
+ SONAME_$P := libbear.so.0
+ REALNAME_$P := libbear.so.0.0
+else
ifeq (${G_BUILD},${B_WIN32})
LINKERNAME_$P := bear.dll
SONAME_$P := bear.dll
REALNAME_$P := bear.dll
else
- LINKERNAME_$P := libbear.so
- SONAME_$P := libbear.so.0
- REALNAME_$P := libbear.so.0.0
+ifeq (${G_BUILD},${B_CYGWIN})
+ LINKERNAME_$P := bear.dll
+ SONAME_$P := bear.dll
+ REALNAME_$P := bear.dll
+else
+ $(error 'G_BUILD = ${G_BUILD}' is invalid.)
+endif
endif
+endif
+endif
+
LNKFLAGS_$P := ${G_LNKFLAGS} -shared -Wl,-soname,${SONAME_$P}
LIBSDIRNAME_$P := libs
SRCLIBSDIR_$P := ${CURDIR}/${LIBSDIRNAME_$P}
+ifeq (${G_BUILD},${B_DEBUG})
+ DSTLIBSDIR_$P := ${BINDIR_$P}/${LIBSDIRNAME_$P}
+else
+ifeq (${G_BUILD},${B_FINAL})
+ DSTLIBSDIR_$P := ${BINDIR_$P}/${LIBSDIRNAME_$P}
+else
ifeq (${G_BUILD},${B_WIN32})
DSTLIBSDIR_$P := ${BINDIR_$P}
else
- DSTLIBSDIR_$P := ${BINDIR_$P}/${LIBSDIRNAME_$P}
+ifeq (${G_BUILD},${B_CYGWIN})
+ DSTLIBSDIR_$P := ${BINDIR_$P}
+else
+ $(error 'G_BUILD = ${G_BUILD}' is invalid.)
+endif
+endif
+endif
endif
LIBSTXT_$P := # := start
LIBSTXT_$P := $(addprefix ${DSTLIBSDIR_$P}/,${LIBSTXT_$P})
LIBSCPY_$P := # := start
+ifeq (${G_BUILD},${B_DEBUG})
+ LIBSCPY_$P += libSDL-1.2.so.0
+else
+ifeq (${G_BUILD},${B_FINAL})
+ LIBSCPY_$P += libSDL-1.2.so.0
+else
ifeq (${G_BUILD},${B_WIN32})
LIBSCPY_$P += SDL.dll
else
- LIBSCPY_$P += libSDL-1.2.so.0
+ifeq (${G_BUILD},${B_CYGWIN})
+ LIBSCPY_$P += SDL.dll
+else
+ $(error 'G_BUILD = ${G_BUILD}' is invalid.)
+endif
+endif
+endif
endif
LIBSCPY_$P := $(addprefix ${DSTLIBSDIR_$P}/,${LIBSCPY_$P})
TXT_$P += COPYING
TXT_$P := $(addprefix ${DSTTXTDIR_$P}/,${TXT_$P})
+ifeq (${G_BUILD},${B_DEBUG})
+ TARGETNAME_$P := run_physics
+else
+ifeq (${G_BUILD},${B_FINAL})
+ TARGETNAME_$P := run_physics
+else
ifeq (${G_BUILD},${B_WIN32})
TARGETNAME_$P := run_physics.exe
else
- TARGETNAME_$P := run_physics
+ifeq (${G_BUILD},${B_CYGWIN})
+ TARGETNAME_$P := run_physics.exe
+else
+ $(error 'G_BUILD = ${G_BUILD}' is invalid.)
+endif
+endif
+endif
endif
TARGETTMP_$P := ${OBJSDIR_$P}/${TARGETNAME_$P}
TARGET_$P := ${BINDIR_$P}/${TARGETNAME_$P}
B_DEBUG := DEBUG
B_FINAL := FINAL
B_WIN32 := WIN32
+B_CYGWIN := CYGWIN
# set this on the command line to get a WIN32 or a FINAL build
G_BUILD := ${B_DEBUG}
else
ifeq (${G_BUILD},${B_WIN32})
else
- $(error 'G_BUILD = ${G_BUILD}' is invalid. Valid types are '${B_DEBUG}', '${B_FINAL}' or '${B_WIN32}')
+ifeq (${G_BUILD},${B_CYGWIN})
+else
+ $(error 'G_BUILD = ${G_BUILD}' is invalid. Valid types are '${B_DEBUG}', '${B_FINAL}', '${B_CYGWIN}', or '${B_WIN32}')
+endif
endif
endif
endif
ifeq (${G_BUILD},${B_WIN32})
G_CXXFLAGS += ${T_OPTFLAGS}
else
+ifeq (${G_BUILD},${B_CYGWIN})
+ G_CXXFLAGS += ${T_OPTFLAGS}
+else
$(error 'G_BUILD = ${G_BUILD}' is invalid.)
endif
endif
endif
+endif
T_OPTFLAGS :=
T_DBGFLAGS :=
G_CXX := g++
endif
+ifeq (${G_BUILD},${B_DEBUG})
+ G_LIBGL := -lGL -lGLU
+ G_LIBSDL := `sdl-config --libs`
+else
+ifeq (${G_BUILD},${B_FINAL})
+ G_LIBGL := -lGL -lGLU
+ G_LIBSDL := `sdl-config --libs`
+else
ifeq (${G_BUILD},${B_WIN32})
G_LIBGL := -lopengl32 -lglu32
G_LIBSDL := `/usr/mingw32/bin/sdl-config --libs`
else
- G_LIBGL := -lGL -lGLU
+ifeq (${G_BUILD},${B_CYGWIN})
+ G_LIBGL := -lopengl32 -lglu32
G_LIBSDL := `sdl-config --libs`
+else
+ $(error 'G_BUILD = ${G_BUILD}' is invalid.)
+endif
+endif
+endif
endif
G_SRCSDIR := src
G_OBJSDIR := objs-mingw32
G_BINDIR := bin-mingw32
else
+ifeq (${G_BUILD},${B_CYGWIN})
+ G_OBJSDIR := objs
+ G_BINDIR := bin
+else
$(error 'G_BUILD = ${G_BUILD}' is invalid.)
endif
endif
endif
+endif
LOGFILE := bld.log