-TOPDIR = $(shell pwd)
-KERNELVER = $(shell uname -r)
-KERNELDIR = /lib/modules/$(KERNELVER)/build
-MOD_DIR = /lib/modules/$(KERNELVER)/kernel
+ifeq ($(KERNELRELEASE),)
-SUBDIRS = \
- $(TOPDIR)/net/can \
- $(TOPDIR)/drivers/net/can
+KERNELDIR := /lib/modules/$(shell uname -r)/build
+PWD := $(shell pwd)
+TOPDIR := $(PWD)
-#
-# targetinfo
-#
-# Print out the targetinfo line on the terminal
-#
-# $1: name of the target to be printed out
-#
-targetinfo = \
- echo; \
- TG=`echo "$(1)" | sed -e "s,$(TOPDIR)/,,g"`; \
- LINE=`echo target: $$TG |sed -e "s/./-/g"`; \
- echo $$LINE; \
- echo target: $$TG; \
- echo $$LINE; \
- echo
+export CONFIG_CAN_VCAN=m
+export CONFIG_CAN_SJA1000=m
+export CONFIG_CAN_I82527=m
-.PHONY: net drivers
+export CONFIG_CAN=m
+export CONFIG_CAN_RAW=m
+export CONFIG_CAN_BCM=m
-all: net drivers
+modules modules_install clean:
+ $(MAKE) -C $(KERNELDIR) M=$(PWD) $@ TOPDIR=$(TOPDIR)
-net:
- @$(call targetinfo, "running make in net/can")
- cd net/can && make KERNELDIR=$(KERNELDIR)
+else
-drivers:
- @$(call targetinfo, "running make in drivers/net/can")
- cd drivers/net/can && make KERNELDIR=$(KERNELDIR)
-
-install: net drivers
- find -name \*.ko -exec install -v -D {} $(MOD_DIR)/{} \;
- depmod $(KERNELVER)
-
-clean:
- @for dir in $(SUBDIRS); do \
- $(call targetinfo, "cleaning in $$dir"); \
- cd $$dir; \
- make clean KERNELDIR=$(KERNELDIR); \
- done
+obj-m += drivers/net/can/
+obj-m += net/can/
+endif
--- /dev/null
+ifneq ($(KBUILD_EXTMOD),)
+
+EXTRA_CFLAGS += \
+ -I$(TOPDIR)/include \
+ -I$(TOPDIR)/drivers/net/can/hal \
+ \
+ -DETH_P_CAN=0x000C \
+ -DARPHRD_CAN=280 \
+ -DPF_CAN=29 \
+ -DAF_CAN=PF_CAN \
+ \
+ -DCONFIG_CAN_RAW_USER \
+ -DCONFIG_CAN_BCM_USER
+
+endif
ifeq ($(KERNELRELEASE),)
-ifdef $(CONFIG_CAN_SLCAN)
-SLCAN_MOD = slcan
-else
-SLCAN_MOD =
-endif
-
-ifdef $(CONFIG_CAN_MSCAN)
-MSCAN_MOD = mscan
-else
-MSCAN_MOD =
-endif
-
-KERNELDIR = /usr/src/linux
-PWD = $(shell pwd)
-
-all: vcan $(SLCAN_MOD) sja1000 i82527 $(MSCAN_MOD)
+KERNELDIR := /lib/modules/$(shell uname -r)/build
+PWD := $(shell pwd)
+TOPDIR := $(PWD)/../../..
-vcan:
- $(MAKE) -C $(KERNELDIR) M=$(PWD) CONFIG_CAN_VCAN=m modules
+export CONFIG_CAN_VCAN=m
+export CONFIG_CAN_SJA1000=m
+export CONFIG_CAN_I82527=m
-slcan:
- $(MAKE) -C $(KERNELDIR) M=$(PWD) CONFIG_CAN_SLCAN=$(CONFIG_CAN_SLCAN) modules
-
-sja1000:
- $(MAKE) -C $(KERNELDIR) M=$(PWD) CONFIG_CAN_SJA1000=m modules
-
-i82527:
- $(MAKE) -C $(KERNELDIR) M=$(PWD) CONFIG_CAN_I82527=m modules
-
-mscan:
- $(MAKE) -C $(KERNELDIR) M=$(PWD) CONFIG_CAN_MSCAN=$(CONFIG_CAN_MSCAN) modules
-
-clean:
- $(MAKE) -C $(KERNELDIR) M=$(PWD) clean
- rm -f Module.symvers
-
-.PHONY: clean all vcan slcan sja1000 i82527 mscan
+modules modules_install clean:
+ $(MAKE) -C $(KERNELDIR) M=$(PWD) $@ TOPDIR=$(TOPDIR)
else
-#CPPFLAGS += -Idrivers/net -Inet
-#AFLAGS += -Idrivers/net -Inet
-#CFLAGS += -Idrivers/net -Inet
-
-ifneq ($(KBUILD_EXTMOD),)
-EXTRA_CFLAGS += -I$(KBUILD_EXTMOD)/../../../include \
- -DETH_P_CAN=0x000C \
- -DARPHRD_CAN=280
-endif
+include $(TOPDIR)/Makefile.common
obj-$(CONFIG_CAN_VCAN) += vcan.o
obj-$(CONFIG_CAN_SLCAN) += slcan.o
ifeq ($(KERNELRELEASE),)
-KERNELDIR = /usr/src/linux
-PWD = $(shell pwd)
+KERNELDIR := /lib/modules/$(shell uname -r)/build
+PWD := $(shell pwd)
+TOPDIR := $(PWD)/../../../..
-default:
- $(MAKE) -C $(KERNELDIR) M=$(PWD) modules
-
-clean:
- $(MAKE) -C $(KERNELDIR) M=$(PWD) clean
+modules modules_install clean:
+ $(MAKE) -C $(KERNELDIR) M=$(PWD) $@ TOPDIR=$(TOPDIR)
else
-ifneq ($(KBUILD_EXTMOD),)
-EXTRA_CFLAGS += -I$(KBUILD_EXTMOD)/../../../include \
- -I$(KBUILD_EXTMOD)/hal \
- -DETH_P_CAN=0x000C \
- -DARPHRD_CAN=280
-endif
+include $(TOPDIR)/Makefile.common
obj-m := i82527-pc7io.o i82527-iomem.o i82527-esdio.o
#
# Send feedback to <socketcan-users@lists.berlios.de>
-ifeq ($(KERNELRELEASE),)
-KERNELDIR = /usr/src/linux
-PWD = $(shell pwd)
+ifeq ($(KERNELRELEASE),)
-default:
- $(MAKE) -C $(KERNELDIR) M=$(PWD) modules
+KERNELDIR := /lib/modules/$(shell uname -r)/build
+PWD := $(shell pwd)
+TOPDIR := $(PWD)/../../../..
-clean:
- $(MAKE) -C $(KERNELDIR) M=$(PWD) clean
+modules modules_install clean:
+ $(MAKE) -C $(KERNELDIR) M=$(PWD) $@ TOPDIR=$(TOPDIR)
else
-ifneq ($(KBUILD_EXTMOD),)
-EXTRA_CFLAGS += -I$(KBUILD_EXTMOD)/../../../include \
- -I$(KBUILD_EXTMOD)/hal \
- -DETH_P_CAN=0x000C \
- -DARPHRD_CAN=280
-endif
+include $(TOPDIR)/Makefile.common
obj-m := sja1000-io.o sja1000-iomem.o sja1000-iomux.o sja1000-gw2.o sja1000-esdio.o sja1000-c200.o
#
# Send feedback to <socketcan-users@lists.berlios.de>
-
-
ifeq ($(KERNELRELEASE),)
-KERNELDIR = /usr/src/linux
-PWD = $(shell pwd)
-
-all: can raw bcm
-
-can:
- $(MAKE) -C $(KERNELDIR) M=$(PWD) CONFIG_CAN=m modules
+KERNELDIR := /lib/modules/$(shell uname -r)/build
+PWD := $(shell pwd)
+TOPDIR := $(PWD)/../..
-raw: can
- $(MAKE) -C $(KERNELDIR) M=$(PWD) CONFIG_CAN=m CONFIG_CAN_RAW=m modules
+modules modules_install clean:
+ $(MAKE) -C $(KERNELDIR) M=$(PWD) $@ TOPDIR=$(TOPDIR)
-bcm: can
- $(MAKE) -C $(KERNELDIR) M=$(PWD) CONFIG_CAN=m CONFIG_CAN_BCM=m modules
-
-clean:
- $(MAKE) -C $(KERNELDIR) M=$(PWD) clean
- rm -f Module.symvers
-
-.PHONY: clean all can raw bcm
+export CONFIG_CAN=m
+export CONFIG_CAN_RAW=m
+export CONFIG_CAN_BCM=m
else
-ifneq ($(KBUILD_EXTMOD),)
-EXTRA_CFLAGS += -I$(KBUILD_EXTMOD)/../../include \
- -DETH_P_CAN=0x000C \
- -DPF_CAN=29 \
- -DAF_CAN=PF_CAN \
- -DCONFIG_CAN_RAW_USER \
- -DCONFIG_CAN_BCM_USER \
- -DARPHRD_CAN=280
-endif
+include $(TOPDIR)/Makefile.common
obj-$(CONFIG_CAN) += can.o
can-objs := af_can.o proc.o