
O_TARGET := dgcusbdcp.o
obj-$(CONFIG_SKY_USB_MODEM) += mod_dgcusbdcp.o osdcp.o

REAL_KERNELSRC := ../../../
FOUND_CLASS_SIMPLE := $(shell grep -q 'class_simple_device_add' ${REAL_KERNELSRC}/include/linux/device.h 2>/dev/null && echo -DFOUND_CLASS_SIMPLE)
FOUND_UART_REGISTER_PORT := $(shell grep -q 'uart_register_port' ${REAL_KERNELSRC}/include/linux/serial_core.h 2>/dev/null && echo -DFOUND_UART_REGISTER_PORT)
FOUND_TTY_START_STOP := $(shell grep -q 'stop_tx.*tty_stop' ${REAL_KERNELSRC}/include/linux/serial_core.h 2>/dev/null && echo -DFOUND_TTY_START_STOP)
FOUND_CLASS_DEVICE_PARENT := $(shell grep -q 'struct[ \t]*class_device[ \t]*\*[ \t]*parent' ${REAL_KERNELSRC}/include/linux/device.h 2>/dev/null && echo -DFOUND_CLASS_DEVICE_PARENT)
FOUND_MODULE_PARAM :=  $(shell grep -q 'module_param' ${REAL_KERNELSRC}/include/linux/moduleparam.h 2>/dev/null && echo -DFOUND_MODULE_PARAM)
FOUND_PM_MESSAGE_T := $(shell grep -q 'pm_message_t' ${REAL_KERNELSRC}/include/linux/pci.h 2>/dev/null && echo -DFOUND_PM_MESSAGE_T)
FOUND_PM_MESSAGE_STRUCT := $(shell grep -q '^typedef struct pm_message' ${REAL_KERNELSRC}/include/linux/pm.h 2>/dev/null && echo -DFOUND_PM_MESSAGE_STRUCT)
FOUND_PCI_CHOOSE_STATE := $(shell grep -q 'pci_choose_state' ${REAL_KERNELSRC}/include/linux/pci.h 2>/dev/null && echo -DFOUND_PCI_CHOOSE_STATE)
FOUND_LINUX_SUSPEND := $(shell test -e ${REAL_KERNELSRC}/include/linux/suspend.h && echo -DFOUND_LINUX_SUSPEND)
FOUND_USB_DRIVER_OWNER := $(shell grep -q 'struct module \*owner' ${REAL_KERNELSRC}/include/linux/usb.h 2>/dev/null && echo -DFOUND_USB_DRIVER_OWNER)
FOUND_PCI_REGISTER_DRIVER := $(shell grep -q 'pci_register_driver' ${REAL_KERNELSRC}/include/linux/pci.h 2>/dev/null && echo -DFOUND_PCI_REGISTER_DRIVER)
FOUND_TTY_NEW_API := $(shell grep -q 'tty_buffer_request_room' ${REAL_KERNELSRC}/include/linux/tty_flip.h 2>/dev/null && echo -DFOUND_TTY_NEW_API)
FOUND_TOUCH_ATIME := $(shell grep -q 'touch_atime' ${REAL_KERNELSRC}/include/linux/fs.h 2>/dev/null && echo -DFOUND_TOUCH_ATIME)
FOUND_SEEK_MODES := $(shell grep -q 'SEEK_SET' ${REAL_KERNELSRC}/include/linux/fs.h 2>/dev/null && echo -DFOUND_SEEK_MODES)
FOUND_LINUX_CONFIG := $(shell test -e ${REAL_KERNELSRC}/include/linux/config.h && echo -DFOUND_LINUX_CONFIG)
FOUND_KERNEL_EXECVE := $(shell grep -q 'kernel_execve' ${REAL_KERNELSRC}/include/linux/syscalls.h 2>/dev/null && echo -DFOUND_KERNEL_EXECVE)
FOUND_IRQ_HANDLER_T := $(shell grep -q 'irq_handler_t' ${REAL_KERNELSRC}/include/linux/interrupt.h 2>/dev/null && echo -DFOUND_IRQ_HANDLER_T)
FOUND_USB_COMPLETE_PT_REGS := $(shell grep -q 'usb_complete_t.*pt_regs' ${REAL_KERNELSRC}/include/linux/usb.h 2>/dev/null && echo -DFOUND_USB_COMPLETE_PT_REGS)
FOUND_KTERMIOS := $(shell grep -q 'ktermios' ${REAL_KERNELSRC}/include/linux/serial_core.h 2>/dev/null && echo -DFOUND_KTERMIOS)
FOUND_PCI_GET_DEVICE := $(shell grep -q 'pci_get_device' ${REAL_KERNELSRC}/include/linux/pci.h 2>/dev/null && echo -DFOUND_PCI_GET_DEVICE)

EXTRA_CFLAGS += $(FOUND_CLASS_SIMPLE) $(FOUND_UART_REGISTER_PORT) $(FOUND_TTY_START_STOP) $(FOUND_CLASS_DEVICE_PARENT) $(FOUND_MODULE_PARAM) $(FOUND_PM_MESSAGE_T) $(FOUND_PM_MESSAGE_STRUCT) $(FOUND_PCI_CHOOSE_STATE) $(FOUND_LINUX_SUSPEND) $(FOUND_USB_DRIVER_OWNER) $(FOUND_PCI_REGISTER_DRIVER) $(FOUND_TTY_NEW_API) $(FOUND_TOUCH_ATIME) $(FOUND_SEEK_MODES) $(FOUND_LINUX_CONFIG) $(FOUND_KERNEL_EXECVE) $(FOUND_IRQ_HANDLER_T) $(FOUND_USB_COMPLETE_PT_REGS) $(FOUND_KTERMIOS) $(FOUND_PCI_GET_DEVICE) -DFRAME_WORK=FWK_LINUX_SOFTK56 -DTARGET_DGC_LINUX -DNO_DUMPMGR_SUPPORT -DNO_BLAM_SUPPORT -DFRAME_WORK_IMPORTED -DUSE_DCP

include $(TOPDIR)/Rules.make
