#
# Makefile for cross-compiling libraries
#
#------------------------------------------------------------------------------
VERSION_KERNEL= $(shell uname -r)
MACHINE	      = $(shell uname -m)

SOURCEKERNEL = /usr/src/linux-2.4.20-rtai-24.1.13
SOURCEIPN    = /usr/local/ipn

# Support for VME Driver
VMELIB	      = -I $(SOURCEIPN)/vme/universe/include
VMELIB       += -I $(SOURCEIPN)/vme/universe/src

# Support for RTAI compilation
RTAILIB	      =	-I $(SOURCEKERNEL)/include

RTAIFLAGS     =	-D__KERNEL__ -D_COMPILATION_RTAI_ -fsigned-char -msoft-float -mstring  -mmultiple 
RTAIFLAGS    += -Wstrict-prototypes  -Wno-trigraphs  -Wno-uninitialized -fno-strict-aliasing -fno-common
RTAIFLAGS    += -pipe -ffixed-r2 -fomit-frame-pointer -DMODULE 

# For PPC machine 
ifeq ($(MACHINE),ppc)
RTAIFLAGS    += -DMACHINE_PPC
RTAILIB      += -I $(SOURCEIPN)/rtai-24.1.13/include
RTAILIB      += -I $(SOURCEKERNEL)/arch/ppc 
endif

# For Others...
#------------------------------------------------------------------------------
CC            = gcc-2.95
CLIB          = -I $(PATHDRV) 
CFLAGS        = -O2 -Wall -ansi -pedantic $(CLIB)
LFLAGS        = -g

ObjSuf        = .o
SrcSuf        = .c
HeadSuf       = .h
ExeSuf        = .exe
OutPutOpt     = -o
#------------------------------------------------------------------------------
PATHCURRENT      = $(PWD)	        
PATHDRV          = ../Drivers

VME_DRV          = vme_driver
VME_DRV_OBJ      = $(PATHDRV)/$(VME_DRV)$(ObjSuf)

TDC_LOW_DRV      = tdc1190_driver_low

TDC_MED_DRV      = tdc1190_driver_medium
TDC_MED_DRV_OBJ  = $(PATHDRV)/$(TDC_MED_DRV)$(ObjSuf)

TDC_HIGH_DRV     = tdc1190_driver_high
TDC_HIGH_DRV_OBJ = $(PATHDRV)/$(TDC_HIGH_DRV)$(ObjSuf)

SRC_OBJ          = $(SRC)$(ObjSuf)
SRC_EXE	         = $(SRC)$(ExeSuf)

ALL_OBJ          = $(VME_DRV_OBJ) $(TDC_MED_DRV_OBJ) $(TDC_HIGH_DRV_OBJ) $(SRC_OBJ)


#------------------------------------ Link ------------------------------------
test    :      $(SRC_OBJ)
	       cd $(PATHDRV); make driver; cd $(PWD)	
	       $(CC) $(LFLAGS) $(ALL_OBJ) $(OutPutOpt) $(SRC_EXE)
	       echo "Test Done..."

clean:
		@rm -f core *~ *.o *.exe *.out

#------------------------------ Compile with "CVS" -----------------------------
.SUFFIXES: $(SrcSuf)

###


$(SRC)$(ObjSuf): $(SRC)$(SrcSuf)

$(SrcSuf)$(ObjSuf):
		$(CC) $(CFLAGS) $(VMELIB) $(RTAIFLAGS) $(RTAILIB) -c $<
