#
# Makefile for the PCtel module
#
# Note! The CFLAGS definition is now inherited from the
# parent makefile.
#

#HAL_TARGET must be one of the following: HAL_CM8738, HAL_PCT789, HAL_I810, HAL_VIA686A

ifndef HAL_TARGET
#HAL_TARGET = HAL_PCT789
#HAL_TARGET = HAL_CM8738
#HAL_TARGET = HAL_I810
HAL_TARGET = HAL_VIA686A
endif


HPATH   	= ../../include -I/usr/src/linux/include
FINDHPATH	= $(HPATH)/asm $(HPATH)/linux $(HPATH)/scsi $(HPATH)/net

HOSTCC  	=gcc -I$(HPATH)
HOSTCFLAGS	=-O -fomit-frame-pointer -DMODVERSIONS -DEXPORT_SYMTAB -include /usr/src/linux/include/linux/modversions.h
#HOSTCFLAGS	=-O -fomit-frame-pointer -DEXPORT_SYMTAB


CROSS_COMPILE 	=

COL_DEBUG_FLAGS =

AS	=$(CROSS_COMPILE)as
LD	=$(CROSS_COMPILE)ld
CC	=$(CROSS_COMPILE)gcc -D__KERNEL__ -DMODULE -Wall $(HOSTCFLAGS) -I$(HPATH) ${COL_DEBUG_FLAGS}
CPP	=$(CC) -E
AR	=$(CROSS_COMPILE)ar
NM	=$(CROSS_COMPILE)nm
STRIP	=$(CROSS_COMPILE)strip
MAKE	=make

EXTRA_LDFLAGS	:=


# object files directory

O_TARGET := ../../lib/pctel.o

# object files
O_OBJS	:= \
	ptmodule.o \
	vuart.o

PCI_OBJS := \
	../../lib/control.a \
	../../lib/dsp.a \
	../../lib/pcthal.a

I810_OBJS := \
	../../lib/control.a \
	../../lib/dsp.a \
	../../lib/i810hal.a

VIA686A_OBJS := \
	../../lib/control.a \
	../../lib/dsp.a \
	../../lib/via686ahal.a


%.s: %.c
	$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -S $< -o $@

%.o: %.c
	$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<

%.o: %.s
	$(AS) $(ASFLAGS) $(EXTRA_CFLAGS) -o $@ $<

ifdef O_TARGET
 # i810 AC-Link target
 ifeq ($(HAL_TARGET), HAL_I810)
 ALL_O = $(O_OBJS) $(I810_OBJS)
else
 # VIA686a AC-Link target
 ifeq ($(HAL_TARGET), HAL_VIA686A)
 ALL_O = $(O_OBJS) $(VIA686A_OBJS)
 else
  # CM8738 chipset target
  ifeq ($(HAL_TARGET), HAL_CM8738)
   ALL_O = $(O_OBJS) $(PCI_OBJS)
  else
  # PCT789 chipset target
   ALL_O = $(O_OBJS) $(PCI_OBJS)
  endif
 endif
endif

$(O_TARGET): $(ALL_O) Makefile
	rm -f $@
	$(LD) -r $(EXTRA_LDFLAGS) -o $@ $(ALL_O)
endif

clean:
	rm -f *.o
ifdef L_TARGET
	rm -f $(L_TARGET)
endif
ifdef O_TARGET
	rm -f $(O_TARGET)
endif
