-
-else
-# Build in structure of OCERA framework
-
-ifneq ($(wildcard ../../../../../ocera.mk),)
-ifndef TOPDIR
-include ../../../../../ocera.mk
-else
-LINUX_DIR = ../../../../../kernel/linux/
-endif
-else
-all:
- @echo -e "\nTo build LinCAN driver for OCERA framework, ocera.mk file have"
- @echo -e "to be generated first. Go to ocera/ directory and do 'make', please."
- @echo -e "If standalone build is required, mark lincan/ by 'touch ../Standalone.mk'.\n"
-endif
-ifdef LINUX_DIR
-KERNEL_LOCATION = $(LINUX_DIR)
-endif
-endif
-# End of OCERA framework header
-
-# Where to look for kernel
-# if not defined, sources of current running kernel are found
-#KERNEL_LOCATION=/usr/src/linux
-#KERNEL_LOCATION=/usr/src/linux-2.2.19
-#KERNEL_LOCATION=/usr/src/linux-2.2.22
-#KERNEL_LOCATION=/usr/src/linux-2.6.0-test4
-#KERNEL_LOCATION=/home/cvs/ocera/ocera-build/kernel/linux
-
-
-# Enable debugging messages
-#DEBUG = y
-
-# You can comment out the hardware you don't need. This will result in a smaller
-# driver. By default, all hardware is supported in the driver. See the README
-# file for a description of the supported hardware.
-# pccan Not to be confused with PCCCAN!!!
-# pcccan Not to be confused with PCCAN!!!
-
-SUPPORTED_CARDS = pip pccan smartcan nsi cc_can104 \
- pc_i03 pcm3680 aim104 m437 pcccan ssv \
- bfadcan pikronisa virtual template
-
-#SUPPORTED_CARDS = pcm3680 bfadcan pikronisa template
-
-#SUPPORTED_CARDS = virtual
-
-########## Don't change anything under this line ################
-
-# currently running kernel
-CURRENT=$(shell uname -r)
-KERNEL_NEW=$(shell if [ -d /lib/modules/$(CURRENT)/build ] ; \
- then echo yes ; else echo no ; fi )
-
-#KERNEL_LOCATION=/usr/src/kernel/$(CURRENT)
-#KERNEL_LOCATION=/lib/modules/$(CURRENT)/build
-
-ifndef KERNEL_LOCATION
-ifeq ($(KERNEL_NEW),yes)
-KERNEL_LOCATION=/lib/modules/$(CURRENT)/build
-MODULE_CHAR_LOC=/lib/modules/$(CURRENT)/kernel/drivers/char
-else
-KERNEL_LOCATION=/usr/src/linux
-MODULE_CHAR_LOC=/lib/modules/$(CURRENT)/misc
-endif
-endif
-
-TOPDIR = $(KERNEL_LOCATION)
-CONFIG_SHELL = TOPDIR=$(TOPDIR)
-
-KERNEL_VERSION := $(shell awk -F\" '/REL/ {print $$2}' \
- $(KERNEL_LOCATION)/include/linux/version.h | awk -F\- '{print $$1}')
-
-PROC_FS := $(shell awk -F\ '/PROC_FS/ {print $$3}' \
- $(KERNEL_LOCATION)/include/linux/autoconf.h)
-
-DEVFS_FS := $(shell awk -F\ '/DEVFS_FS/ {print $$3}' \
- $(KERNEL_LOCATION)/include/linux/autoconf.h)
-
-KERNEL_MODULE_V26 := $(shell echo $(KERNEL_VERSION) \
- | sed -n 's/^.*2\.[5-9]\..*$$/yes/p')
-
-ifdef DEBUG
- EXTRA_CFLAGS += -DCAN_DEBUG
- EXTRA_CFLAGS += -ggdb
-endif
-
-ifndef MODVERSIONS
-# EXTRA_CFLAGS += -DNOVER
-#else
-# EXTRA_CFLAGS += -DMODVERSIONS
-endif
-
-ifdef DEVFS_FS
- EXTRA_CFLAGS += -DWITH_DEVFS_FS
-endif
-
-ifdef PROC_FS
- O_OBJS += proc.o
-endif
-
-# Target object file if any
-# this must be undefined for 2.5.xx kernels
-ifndef KERNEL_MODULE_V26
-O_TARGET = can.o
-endif
-# Regular object files
-O_OBJS += $(SUPPORTED_CARDS:%=%.o)
-O_OBJS += can_queue.o devcommon.o main.o modparms.o setup.o \
- sja1000p.o sja1000.o i82527.o irq.o boardlist.o \
- open.o proc.o close.o write.o read.o ioctl.o select.o
-# Objects with exported symbols (-DEXPORT_SYMTAB)
-OX_OBJS =
-# Module objects
-M_OBJS = $(O_TARGET)
-# Module only objects with exported symbols (-DEXPORT_SYMTAB)
-MX_OBJS =
-# Kernel only objects
-L_OBJS =
-# Kernel only objects with exported symbols (-DEXPORT_SYMTAB)
-LX_OBJS =
-# Additional CFLAGS
-EXTRA_CFLAGS +=
-
-# Linux 2.4.2 and newer build system needs next
-can-objs = $(O_OBJS)
-obj-y = $(O_OBJS)
-obj-m = can.o
-
-ifndef KERNEL_MODULE_V26
-FINAL_MODULE_OBJS=$(obj-m)
-else
-FINAL_MODULE_OBJS=$(obj-m:%.o=%.ko)
-endif
-
-########## Source/target independent build of module #############
-
-default : make_this_module
- cp $(FINAL_MODULE_OBJS) ../$(FINAL_MODULE_OBJS)
-
-dep: make_this_module_dep
-
-install : install_this_module
-
-.supported_cards.h: Makefile
- echo >.supported_cards.h
- $(foreach card, $(SUPPORTED_CARDS), \
- echo \#define ENABLE_CARD_$(card) 1 >>.supported_cards.h ;)
-
-make_this_module: .supported_cards.h
- echo Linux kernel version $(KERNEL_VERSION)
- echo Linux kernel sources $(KERNEL_LOCATION)
- echo Module target $(obj-m)
- echo Module objects $(can-objs)
- DIR=`pwd`; (cd $(KERNEL_LOCATION); make SUBDIRS=$$DIR modules)
-
-make_this_module_dep:
- DIR=`pwd`; (cd $(KERNEL_LOCATION); make SUBDIRS=$$DIR dep)
-
-install_this_module: make_this_module
- su -c "mkdir -v -p $(MODULE_CHAR_LOC) && cp -v $(FINAL_MODULE_OBJS) $(MODULE_CHAR_LOC)"
-
-clean:
- rm -f $(M_OBJS) $(MX_OBJS) $(O_OBJS) $(OX_OBJS) $(obj-m) \
- .*.o.flags .*.o.cmd .*.ko.cmd .depend .supported_cards.h *~ \
- $(obj-m:%.o=%.mod.o) $(FINAL_MODULE_OBJS) ../$(FINAL_MODULE_OBJS)
-
-distclean: clean
-
-
-ifndef KERNEL_MODULE_V26
-include $(KERNEL_LOCATION)/Rules.make