From: ppisa Date: Fri, 19 Sep 2003 19:44:31 +0000 (+0000) Subject: Update of Makefiles to support "Standalone" compilation. X-Git-Tag: CLT_COMM_CAN_pre_canmsg_change~22 X-Git-Url: http://rtime.felk.cvut.cz/gitweb/lincan.git/commitdiff_plain/5bef5c531e98c252f89eeeeb9645bb0251896fda Update of Makefiles to support "Standalone" compilation. If file "lincan/Standalone.mk" is found, the driver does not require OCERA framework. The compile for 2.2.19, 2.4.19, 2.6.0-t4 and OCERA target tested. --- diff --git a/lincan/Makefile b/lincan/Makefile index 8978872..60ca0a6 100644 --- a/lincan/Makefile +++ b/lincan/Makefile @@ -9,14 +9,32 @@ # ########## The following options can be changed ########## -TOPDIR = $(LINUX_DIR) - SUBDIRS = src utils +ifneq ($(wildcard ./Standalone.mk),) +# Standalone make outside of OCERA framework + +all: default + +.PHONY: dep default subdirs clean cleandepend + +dirs = src utils + +default dep clean install: + $(foreach dir, $(dirs), $(MAKE) -C $(dir) $@ ; ) + +else +# Build in structure of OCERA framework + +TOPDIR = $(LINUX_DIR) + ifneq ($(wildcard ../../../../ocera.mk),) include ../../../../ocera.mk else 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 endif diff --git a/lincan/TODO b/lincan/TODO index d2a99aa..9406e94 100644 --- a/lincan/TODO +++ b/lincan/TODO @@ -4,11 +4,11 @@ This software is released under the GPL-License. Version 0.7 6 Aug 2001 + Poll/select ++ Add proper comment to the code ++ Get rid of CLI and STI, they are not longer supported + in 2.5.xx kernels -- Add proper comment to the code - Error handling/reporting - Proc directory - Lot of ioctl's -+ Get rid of CLI and STI, they are not longer supported - in 2.5.xx kernels diff --git a/lincan/src/Makefile b/lincan/src/Makefile index 7f2b820..1b1f8ef 100644 --- a/lincan/src/Makefile +++ b/lincan/src/Makefile @@ -3,14 +3,22 @@ # 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 + +else +# Build in structure of OCERA framework ifneq ($(wildcard ../../../../../ocera.mk),) ifndef TOPDIR @@ -19,10 +27,16 @@ else 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 @@ -32,9 +46,6 @@ endif #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 @@ -51,7 +62,7 @@ SUPPORTED_CARDS = pip pccan smartcan nsi cc_can104 \ #SUPPORTED_CARDS = pcm3680 bfadcan pikronisa template -#SUPPORTED_CARDS = pikronisa +#SUPPORTED_CARDS = virtual ########## Don't change anything under this line ################ @@ -130,7 +141,7 @@ LX_OBJS = # 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 @@ -141,11 +152,7 @@ else 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) @@ -172,20 +179,15 @@ make_this_module_dep: 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