# make.defs - common variable definitions
#
# modification history
# --------------------
# 04-12-02,mj	created
#
SHELL=/bin/sh -e

CC_ARCH_SPEC=  -march=i386 -mcpu=i686

SW_ROOT = $(USER_BASE)
SRC_BASE_PATH = $(SW_ROOT)/src
QD_INCLUDE_PATH = $(SW_ROOT)/Include/h

LIB_DIR = $(SW_ROOT)/Library
OBJDIR = obj

CC      =cc
LD      =ld
MAKE    =make
CD      =pwd
RM      =rm -f
ECHO    =echo

DEPENDENCIES= makedeps

CFLAGS = $(CFLAGS1) $(CFLAGS2) $(INCLUDE_PATH) $(CDEBUG_DEFINES)

CFLAGS1 = $(CC_ARCH_SPEC) $(DEBUG_TYPE)
CFLAGS2 = $(CC_OPTIM) $(CC_COMPILER) $(CC_WARNINGS_ALL)

CC_OPTIM = $(CC_OPTIM_TARGET)
CC_OPTIM_DRIVER	= -O
CC_OPTIM_TARGET	= -O2
CC_COMPILER = -ansi -nostdinc
CC_WARNINGS_ALL	= -Wall

ifeq ($(RELEASE),NO)
CDEBUG_DEFINES=-DDEBUG=1 -DDEBUG_QD
else
CDEBUG_DEFINES=
endif

LDFLAGS = -nostdlib -r -X -N
ARFLAGS = crus

INCLUDE_PATH = -I. \
               -I$(QD_INCLUDE_PATH)/driver \
               -I$(QD_INCLUDE_PATH)/msApi \
               -I$(QD_INCLUDE_PATH)/platform \
               -I$(SW_ROOT)/Include

