endif
VALIDARCH := no
+DEFS := $(EXTRADEFS)
ifeq ($(ARCH),x86)
CROSS := i686-polintos-
-DEFS += -DBITFIELD_LE
+DEFS += -DBITFIELD_LE -D__LITTLE_ENDIAN
+TFLAGS += -m32
VALIDARCH := yes
endif
ifeq ($(ARCH),x64)
CROSS := x86_64-polintos-
-DEFS += -DBITFIELD_LE
+DEFS += -DBITFIELD_LE -D__LITTLE_ENDIAN
+TFLAGS += -m64
VALIDARCH := yes
endif
DEFS += -D_LL_NOSMP
endif
+ifdef USEVALGRIND
+VALGRIND ?= valgrind -q
+else
+VALGRIND :=
+endif
+
# C++ prohibits defeferencing a NULL non-POD pointer (and thus
# prohibits using offsetof on non-POD types, even though there's no
# good reason to disallow it). Some headers use offsetof on non-POD
IFACES := $(BASEBUILDDIR)/build/idl/ifaces
GENINCLUDES := $(ARCHBUILDDIR)/build/include/generated
-BUILDCC := g++
+BUILDCC := gcc
BUILDCXX := g++
-CC := $(CROSS)g++
+CC := $(CROSS)gcc
CXX := $(CROSS)g++
AS := $(CROSS)as
+AR := $(CROSS)ar
LD := $(CROSS)ld
STRIP := $(CROSS)strip
DEFS += -D_LL_ARCH_$(ARCH) -D_LL_ARCH=$(ARCH)
MKDIR := mkdir -p
MV := mv
+OBJCOPY := $(CROSS)objcopy
+RANLIB := $(CROSS)ranlib
RM := rm -f
RMDIR := rm -rf
LN := ln -s
-IDLC := $(BASEBUILDDIR)/build/idlcomp/idlc
+IDLC_target := $(BASEBUILDDIR)/build/idlcomp/idlc
+IDLC := $(VALGRIND) $(BASEBUILDDIR)/build/idlcomp/idlc
TOUCH := touch
BISON := bison
FLEX := flex