#
# Makefile for sis7012 audio module
#

CUR = $(shell pwd)
VER = $(shell uname -r)
VER2 = $(shell uname -r | awk -F\. '{print $$2}')
VER3 = $(shell uname -r | awk -F\. '{print $$3}' | awk -F\- '{print $$1}')
CHK =
IPT = $(shell sed -e '/\#/d' ./config.in | grep linux_src_directory | awk -F\= '{print $$2}' | awk -F\  '{print $$1}')

IPT2 = $(shell sed -e '/\#/d' ./config.in | grep linux_module_directory | awk -F\= '{print $$2}' | awk -F\  '{print $$1}')


SRC1 = $(shell uname -r | awk -F\- '{print $$1}')


ifeq ($(IPT),$(CHK))
SRC := $(SRC1)
else
SRC := $(IPT)
endif


ifeq ($(IPT2),$(CHK))
MOD := $(VER)
else
MOD := $(IPT2)
endif

SND_CFG = $(shell awk -F\- '{print $$1}')
AC97_CFG = $(shell awk -F\- '{print $$1}')

HPATH   	= ./ -I/usr/src/linux-$(SRC)/include
FINDHPATH	= $(HPATH)/pci $(HPATH)/mm $(HPATH)/asm $(HPATH)/linux
#FINDHPATH	= $(HPATH)/mm $(HPATH)/asm $(HPATH)/linux
HOSTCC  	=gcc -I$(HPATH)
HOSTCFLAGS	=-O2 -fomit-frame-pointer -DMODVERSIONS -DEXPORT_SYMTAB  -include/usr/src/linux-$(SRC)/include/linux/modversions.h 
ARFLAGS		= rcs

CROSS_COMPILE 	=
EXTRA_FLAGS=-ffixed-8 

COL_DEBUG_FLAGS =

AS	=$(CROSS_COMPILE)as
LD	=$(CROSS_COMPILE)ld
CC	=$(CROSS_COMPILE)gcc -D__KERNEL__ -Wstrict-prototypes -pipe -DMODULE -Wall $(HOSTCFLAGS) -I$(HPATH) ${COL_DEBUG_FLAGS} $(EXTRA_FLAGS)

CPP	=$(CC) -E
AR	=$(CROSS_COMPILE)ar
NM	=$(CROSS_COMPILE)nm
STRIP	=$(CROSS_COMPILE)strip
MAKE	=make

#ifdef __alpha__
EXTRA_LDFLAGS=
#endif

# object files directory

O_TARGET := sis7012.o

# object files
O_OBJS := ./obj/7012.o


SND_OBJS := ./src/sndobj.o


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

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

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

%.a: %.o
	$(AR) $(ARFLAGS) $(EXTRA_CFLAGS) $@ $<

ALL_O = $(O_OBJS) $(SND_OBJS)

$(O_TARGET): $(ALL_O) Makefile
	$(LD) -r $(EXTRA_LDFLAGS) -o $@ $(ALL_O)
clean:
	rm -f *.o
	rm -f ./src/*.o
	rm -f ./src/soundcore/*.o
	rm -f ./src/ac97_codec/*.o

ifdef L_TARGET
	rm -f $(L_TARGET)
endif
ifdef O_TARGET
	rm -f $(O_TARGET)
endif


soundcore.o: ./src/soundcore/sound_core.o ./src/soundcore/sound_firmware.o
	$(LD) -r $^ -o $@

ac97_codec.o: ./src/ac97_codec/ac97_codec.c
	$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $^

7012_install:
	install -d /lib/modules/$(MOD)/kernel/drivers/sound
	install -c $(CUR)/*.o /lib/modules/$(MOD)/kernel/drivers/sound

