# Makefile - makefile for src/arch/i86/x86_64
#
# modification history
# --------------------
# 01q,18jul18,r_h  Add kernel page table isolation support (F10571)
# 01p,22oct10,ggm  Removed dsmLib.o from 64 bit build.
# 01o,22feb10,scm  add OSM code support to build...
# 01n,19jan10,scm  add qPriBMapALib.s to optimized list...
# 01m,15jan10,scm  add bALib.s to optimized list...
# 01l,14jan10,scm  add dllALib.s & sllALib.s to optimized list...
# 01k,12jan10,scm  add workQALib.s to optimized list...
# 01j,01dec09,scm  add RTP support for 64 bit...
# 01i,23jun09,jb   Adding MMU
# 01h,19jun09,mze  replacing PAD64
# 01g,03jun09,pcs  Add trcArchLib.o needed by EDR.
# 01f,29may09,scm  add fppALib to build...
# 01e,18may09,jmp  Added dbgArchLib.o to build.
# 01d,07may09,rlp  Added wdbDbgArchLib object file.
# 01c,20feb09,jb   Creating 64-bit pentiumLib.c build
# 01b,26nov08,jb   Modify to reflect new build mechanism
# 01a,20oct08,jb   Created from src/arch/i86/Makefile version 02p
#
# DESCRIPTION
# This file contains the makefile rules for building the 64bit vx library
#
#*/

TGT_DIR=$(WIND_BASE)/target

LIB_BASE_NAME   = arch

# Including defs.library to see if _WRS_CONFIG_SMP is defined.
# It must be after LIB_BASE_NAME

include $(TGT_DIR)/h/make/defs.library

DOC_FILES =

# 64 bit common files
OBJS_COMMON_64= cacheALib.o \
		cacheArchLib.o \
		cpuPwrALib.o \
		dbgArchLib.o \
		dbgStrLib.o \
		dbgStrShow.o \
		elfI86.o \
		excALib.o \
		fppALib.o \
		fppArchLib.o \
		intALib.o \
		intArchLib.o \
		ipiALib.o \
		mmuX86_64ALib.o \
		mmuX86_64Lib.o \
		objALib.o \
		pentiumALib.o \
		pentiumShow.o \
		rtpALib.o \
		rtpSigArchLib.o \
		sigCtxALib.o \
		sigCtxLib.o \
		spinLockIsrNdALib.o \
                syscallArchLib.o \
		syscallALib.o \
		sysGdtLib.o \
		sysOsmALib.o \
		sysOsmLib.o \
		taskArchLib.o \
		trcArchLib.o \
		vxALib.o \
		vxAtomicALib.o \
		vxbAccessArchALib.o \
		vxCpuALib.o \
		vxMemProbeArchALib.o \
		wdbALib.o \
		wdbDbgALib.o \
		wdbDbgArchLib.o \
		windALib.o

ifdef _WRS_CONFIG_KPTI
OBJS_COMMON_64 += kptiALib.o
endif

OBJS_COMMON_NOBUILD=

# Assembly language optimized files
OBJS_OPTIMIZED= bALib.o \
		ffsALib.o \
		workQALib.o \
		dllALib.o \
		sllALib.o \
		qPriBMapALib.o

OBJS_OPTIMIZED_NOBUILD= 

# X86_64 files
ifdef _WRS_CONFIG_LP64
OBJS  = $(OBJS_COMMON_64) $(OBJS_OPTIMIZED)

ifdef _WRS_CONFIG_SMP
OBJS += kernelLockALib.o
endif

else
OBJS=
endif

include $(TGT_DIR)/h/make/rules.library
