]> rtime.felk.cvut.cz Git - socketcan-devel.git/commitdiff
Added new external build system from Marc Kleine-Budde, see:
authorhartkopp <hartkopp@030b6a49-0b11-0410-94ab-b0dab22257f2>
Sat, 21 Jul 2007 17:53:09 +0000 (17:53 +0000)
committerhartkopp <hartkopp@030b6a49-0b11-0410-94ab-b0dab22257f2>
Sat, 21 Jul 2007 17:53:09 +0000 (17:53 +0000)
https://lists.berlios.de/pipermail/socketcan-core/2007-July/000539.html
Good job! Many thanks.

git-svn-id: svn://svn.berlios.de//socketcan/trunk@438 030b6a49-0b11-0410-94ab-b0dab22257f2

kernel/2.6/Makefile
kernel/2.6/Makefile.common [new file with mode: 0644]
kernel/2.6/drivers/net/can/Makefile
kernel/2.6/drivers/net/can/i82527/Makefile
kernel/2.6/drivers/net/can/sja1000/Makefile
kernel/2.6/net/can/Makefile

index def84f799ae1f398bc4c37f61708b1cfd2a24098..a59fe06ef37f8ba47ee8e2763ae5f3b9c4e362fc 100644 (file)
@@ -1,48 +1,23 @@
-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
diff --git a/kernel/2.6/Makefile.common b/kernel/2.6/Makefile.common
new file mode 100644 (file)
index 0000000..6bd69a2
--- /dev/null
@@ -0,0 +1,15 @@
+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
index 09ec89df95d6f7e5cd5350b2cfce5fca31808602..3f696b2920aea0472b91424ed9d4e11e1fca539f 100644 (file)
@@ -5,55 +5,20 @@
 
 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
index 43f18acb49ef212ff7cf496f6bab4b746e535537..6a29547302afa088c390a8d24aa95c09fa770cbc 100644 (file)
 
 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
 
index 88b59aa1314440dd3209fda080248c356b728888..7106d3f112b7e8a7ce598c682f64e71ece5143eb 100644 (file)
 #
 #  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
 
index bb0aa025648a07fba99050c36d39e4554f9287ad..ab908716aec415fc0b22a94f91eced6d501d49bb 100644 (file)
 #
 #  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