ifeq ($(KERNELRELEASE),)

KERNELRELEASE := $(shell uname -r)
KERNELSRCDIR := /lib/modules/$(KERNELRELEASE)/build
BUILD_DIR := $(shell pwd)
export DVB_SRC_DIR := $(shell cd ..; pwd)

include $(KERNELSRCDIR)/.config

ifdef CONFIG_DVB_AV7110_FIRMWARE
DVB_FIRMWARE += av7110_firm.h
endif

all: makelinks $(DVB_FIRMWARE)
	$(MAKE) -C $(KERNELSRCDIR) SUBDIRS=$(BUILD_DIR)

clean:
	rm -f *.o *.ko .*.o.cmd .*.ko.cmd *.mod.c .*.o.d fdump av7110_firm.h
	find . -type l | xargs -r rm

install:
	@echo "Use insmod.sh to load/unload the driver modules."

makelinks:
	[ -L saa7146_video.c ] || ./getlinks

# prepare firmware if selected above
fdump:
	$(CC) -o $@ fdump.c

av7110_firm.h: fdump
	./fdump $(CONFIG_DVB_AV7110_FIRMWARE_FILE) dvb_ttpci_fw $@

else

export CC := $(CROSS_COMPILE)gcc -I$(DVB_SRC_DIR)/linux/include
#EXTRA_CFLAGS = -Idrivers/media/video

saa7146-objs    := saa7146_i2c.o saa7146_core.o 
saa7146_vv-objs := saa7146_vv_ksyms.o saa7146_fops.o saa7146_video.o saa7146_hlp.o saa7146_vbi.o
obj-m += saa7146.o
obj-m += saa7146_vv.o

dvb-core-objs = dvbdev.o dmxdev.o dvb_demux.o dvb_filter.o \
                dvb_functions.o dvb_frontend.o dvb_i2c.o dvb_net.o dvb_ksyms.o dvb_ringbuffer.o
obj-m += dvb-core.o

obj-m += dst.o
obj-m += stv0299.o
obj-m += alps_tdlb7.o
obj-m += alps_tdmb7.o
obj-m += at76c651.o
obj-m += cx24110.o
obj-m += grundig_29504-491.o
obj-m += grundig_29504-401.o
obj-m += mt312.o
obj-m += ves1820.o
obj-m += ves1x93.o
obj-m += tda1004x.o
obj-m += sp887x.o
obj-m += nxt6000.o

obj-m += skystar2.o
#obj-m += bt878.o dvb-bt8xx.o
obj-m += dvb-ttusb-budget.o
obj-m += ttusb_dec.o

obj-m += ttpci-eeprom.o
obj-m += budget-core.o
obj-m += budget.o
obj-m += budget-av.o
obj-m += budget-ci.o
obj-m += budget-patch.o

dvb-ttpci-objs := av7110_hw.o av7110_v4l.o av7110_av.o av7110_ca.o av7110.o av7110_ipack.o av7110_ir.o
obj-m += dvb-ttpci.o

endif
