# This software is released under the GPL-License.
# Version lincan-0.2 9 Aug 2003
#
-# This version is adapted from uLan Communication driver
+# This Makefile version is adapted from uLan Communication driver
# (C) Copyright 1999 by Pavel Pisa pisa@cmp.felk.cvut.cz
#
#*****************************************************************
+# Begin of OCERA framework header
ifdef SUBDIRS
SUBDIRS =
endif
+ifneq ($(wildcard ../Standalone.mk),)
+# Standalone make outside of OCERA framework
+
+all : default
+
+.PHONY: kernel-pass utils-pass
+
+kernel-pass : default
+
+else
+# Build in structure of OCERA framework
ifneq ($(wildcard ../../../../../ocera.mk),)
ifndef TOPDIR
LINUX_DIR = ../../../../../kernel/linux/
endif
else
-OCERA_NOTDEF = 1
all:
- @echo -e "You should go to the ocera/ directory and do 'make' to generate the ocera.mk file first.\nThanks."
+ @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-2.6.0-test4
#KERNEL_LOCATION=/home/cvs/ocera/ocera-build/kernel/linux
-ifdef LINUX_DIR
-KERNEL_LOCATION = $(LINUX_DIR)
-endif
# Enable debugging messages
#DEBUG = y
#SUPPORTED_CARDS = pcm3680 bfadcan pikronisa template
-#SUPPORTED_CARDS = pikronisa
+#SUPPORTED_CARDS = virtual
########## Don't change anything under this line ################
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
+O_OBJS += can_queue.o can_quekern.o devcommon.o main.o modparms.o \
+ setup.o finish.o irq.o boardlist.o \
+ sja1000p.o sja1000.o i82527.o \
+ open.o proc.o close.o write.o read.o \
+ ioctl.o select.o fasync.o
# Objects with exported symbols (-DEXPORT_SYMTAB)
OX_OBJS =
# Module objects
# Additional CFLAGS
EXTRA_CFLAGS +=
-# Linux 2.4.2 build system needs next
+# Linux 2.4.2 and newer build system needs next
can-objs = $(O_OBJS)
obj-y = $(O_OBJS)
obj-m = can.o
FINAL_MODULE_OBJS=$(obj-m:%.o=%.ko)
endif
-########## Source/target independent buil of module #############
-
-#ifndef OCERA_NOTDEF
-all : default
-#endif
+########## Source/target independent build of module #############
default : make_this_module
cp $(FINAL_MODULE_OBJS) ../$(FINAL_MODULE_OBJS)
install_this_module: make_this_module
su -c "mkdir -v -p $(MODULE_CHAR_LOC) && cp -v $(FINAL_MODULE_OBJS) $(MODULE_CHAR_LOC)"
-ifndef KERNEL_MODULE_V26
-include $(KERNEL_LOCATION)/Rules.make
clean:
rm -f $(M_OBJS) $(MX_OBJS) $(O_OBJS) $(OX_OBJS) $(obj-m) \
.*.o.flags .*.o.cmd .*.ko.cmd .depend .supported_cards.h *~ \
- ../$(FINAL_MODULE_OBJS)
+ $(obj-m:%.o=%.mod.o) $(FINAL_MODULE_OBJS) ../$(FINAL_MODULE_OBJS)
distclean: clean
-else
-clean:
- rm -f $(M_OBJS) $(MX_OBJS) $(O_OBJS) $(OX_OBJS) $(obj-m:%.o=%.ko) \
- $(obj-m:%.o=%.mod.o) .*.o.flags .*.o.cmd .*.ko.cmd .depend .supported_cards.h *~ \
- ../$(FINAL_MODULE_OBJS)
-distclean: clean
+
+ifndef KERNEL_MODULE_V26
+include $(KERNEL_LOCATION)/Rules.make
endif