# 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 = $(DSDT_USER_BASE)
SRC_BASE_PATH = $(SW_ROOT)/src
QD_INCLUDE_PATH = $(SW_ROOT)/Include/h

LIB_DIR = $(SW_ROOT)/Library
OBJDIR = $(DSDT_PROJ_NAME)_obj

ifeq ($(CC),)
CC      =cc
LD      =ld
endif

MAKE    =make
CD      =pwd
RM      =rm -f
ECHO    =echo

DEPENDENCIES= makedeps

#CFLAGS = $(CFLAGS1) $(CFLAGS2) $(INCLUDE_PATH) $(CDEBUG_DEFINES)
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
ifeq ($(DSDT_USE_MAD),TRUE)
MAD_INCLUDE_PATH = $(SW_ROOT)/../phy/Include
INCLUDE_PATH += -I$(MAD_INCLUDE_PATH) 
INCLUDE_PATH += -I$(MAD_INCLUDE_PATH)/h/driver 
INCLUDE_PATH += -I$(MAD_INCLUDE_PATH)/h/madApi 
INCLUDE_PATH += -I$(MAD_INCLUDE_PATH)/h/platform 
endif

