#
# Makefile for hpt374 Linux driver
# Copyright (c)  2000-2003 HighPoint Technologies, Inc. All rights reserved
# History:       Jan 12, 2001 initial code
#                May 18, 2003 OpenSource build
#

#
# RR154X=1 for SATA controller, 0 for HPT374 PATA controller
#
ifndef RR154X
RR154X = 1
endif

DRIVER_VERSION = 2.1

TARGET = hpt374.o

HEADERS = global.h  \
		  vdevice.h \
		  stypes.h \
		  hptintf.h \
		  hpt3xx.h \
		  atapi.h \
		  device.h \
		  channel.h \
		  chip.h \
		  command.h \
		  compiler.h \
		  osheader.h \
		  oslinux.h \
		  hpttempl.h

CSRCS = hpt.c

C_DEFINES = -DDRIVER_VERSION=\"${DRIVER_VERSION}\" -DLIST_H_INCLUDED \
		-DMODVERSIONS -DMODULE -DLINUX -D_LINUX_ -D__KERNEL__=1 -DCONFIG_PCI

ifeq ($(RR154X), 1)
C_DEFINES += -DRR154X -DHPT3XX_SATA_RESET
endif

ifeq ($(CROSS_CTRL),1)
C_DEFINES += -DNO_CROSS_CTRL=0
else
C_DEFINES += -DNO_CROSS_CTRL=1
endif

ifeq ($(BOOT), 1)
C_DEFINES += -D__BOOT_KERNEL_BOOT=1
endif

ifeq ($(SMP), 1)
C_DEFINES += -D__SMP__=1
C_DEFINES += -D__BOOT_KERNEL_SMP=1
C_DEFINES += -D__BOOT_KERNEL_UP=0
else
C_DEFINES += -D__BOOT_KERNEL_SMP=0
ifeq ($(BOOT), 1)
C_DEFINES += -D__BOOT_KERNEL_UP=0
else
C_DEFINES += -D__BOOT_KERNEL_UP=1
endif
endif

ifeq ($(ATHLON), 1)
C_DEFINES += -D__MODULE_KERNEL_athlon=1 
#C_DEFINES += -D__MODULE_KERNEL_i686=0
else
C_DEFINES += -D__MODULE_KERNEL_i686=1 
#C_DEFINES += -D__MODULE_KERNEL_athlon=0
endif

#
# Debug Options:
#
#   -DDEBUG: include debug code
#   -DDEBUG_LEVEL=x:
#       0 - No debug output message
#       1 - print only error messages
#       2 - print error and warning
#       3 - print all messages (info, warning, error)
#
ifeq ($(DEBUG),1)
DEBUGOPT += -DDBG=1
ifdef DEBUG_LEVEL
DEBUGOPT += -DDEBUG_LEVEL=$(DEBUG_LEVEL)
else
DEBUGOPT += -DDEBUG_LEVEL=1
endif
else
DEBUGOPT=
endif

COBJS = $(CSRCS:.c=.o)

ifndef NON_RAID
HEADERS += array.h arraydat.h raid5n.h
C_DEFINES += -DSUPPORT_ARRAY -DSUPPORT_OLD_ARRAY
COBJS += raid.o
endif

CC = gcc

CFLAGS = ${C_DEFINES} ${DEBUGOPT} -Wall \
		-O2 -Wstrict-prototypes -fomit-frame-pointer \
		-I. \
		-I/usr/src/linux/include \
		-I/usr/src/linux/include/asm-i386 \
		-I/usr/src/linux/drivers/scsi

.c.o:
	$(CC) $(CFLAGS) -c $*.c -o $*.o

all: $(TARGET)

$(COBJS): Makefile $(HEADERS) $(CSRCS)

$(TARGET): $(COBJS)
	$(LD) -m elf_i386 -r $^ -o $@

clean:
	@rm -f $(CSRCS:.c=.o) $(TARGET) *~ core
