#****************************************************************#
#                             NOTICE                             #
#                                                                #
#    This source code contains proprietary and confidential      #
#    information, and is the property of Ncast Corporation.      #
#                                                                #
#    This program has been distributed under license agreement   #
#    and any unauthorized use or distribution is prohibited.     #
#                                                                #
#    Copyright (c) 2005-2010 by NCast Corporation.               #
#                                                                #
#    All rights reserved.                                        #
#****************************************************************#

#MODULE      := digitizer3
#DRVOBJS     := old_style_main.o
MODULE      := digitizer4
DRVOBJS     := main.o
DRVOBJS     += debug.o
DRVOBJS     += v4l2.o
DRVOBJS     += hardwareoperations.o memoryop.o globals.o proc.o gm80186.o stats.o api_proposal.o fpga_access.o usefull_functions.o
DRVOBJS     += fpgaprog/load_firmware.o fpgaprog/FPGAupdate.o fpgaprog/PALcode.o fpgaprog/iobase.o fpgaprog/jtag.o fpgaprog/progalgxc3s.o
DRVOBJS     += api_search_for_devices.o api_register_mappings.o probe_and_remove.o
DRVOBJS     += dccapi/dccapi_nosection.o dccapi/dccapi.o dccapi/dccapi_capture_machine.o dccapi/dccapi_private.o dccapi/dccapi_linux.o 
DRVOBJS     += dccapi/dccapi_dma_descriptors_building.o dccapi/dccapi_ids.o dccapi/dccapi_gmcode.o dccapi/dccapi_frame.o dccapi/dccapi_frame_retrieving.o
DRVOBJS     += dccapi/dccapi_framequeues.o 
DRVOBJS     += api_jtag_chain.o api_register_dcc.o foperations.o foperations_2_6.o api_release_all.o api_video_device.o api_low_level.o api_gm_access.o
DRVOBJS     += general_ncast_hw.o api_proc_ncast_entry.o proc_flash_access.o proc_fpga_bit_entry.o formats.o
INSTALL_DIR := /lib/modules/$(shell uname -r)/kernel/drivers/media/video
KERNEL_SOURCES := /lib/modules/$(shell uname -r)/build
#KERNEL_SOURCES := /usr/src/linux-2.6.35-rc3

EXTRA_CFLAGS += -O0

obj-m := $(MODULE).o
$(MODULE)-objs := $(DRVOBJS)

all: 
	$(MAKE) -C $(KERNEL_SOURCES) SUBDIRS=$(PWD) modules

clean:
	$(MAKE) -C $(KERNEL_SOURCES) SUBDIRS=$(PWD) clean
	rm -f fpgaprog/bit2c

install:
	install -m 644 -o root firmware/dcc4.bit /lib/firmware/dcc4.bit
	install -m 644 -o root firmware/g3_fpga.bit /lib/firmware/g3_fpga.bit
	install -m 744 -o root $(MODULE).ko $(INSTALL_DIR)
	/sbin/depmod -a

uninstall:
	@if [ -e /lib/firmware/dcc4.bit ]; then \
		rm -f /lib/firmware/dcc4.bit; \
	fi;
	@if [ -e /lib/firmware/g3_fpga.bit ]; then \
		rm -f /lib/firmware/g3_fpga.bit; \
	fi;
	@if [ -f $(INSTALL_DIR)/$(MODULE).ko ]; then \
		rm -f $(INSTALL_DIR)/$(MODULE).ko; \
		/sbin/depmod -a; \
	fi;
