[openib-general] Re: [PATCH][DAPL] make dapl build outside of kernel tree

James Lentini jlentini at netapp.com
Fri Apr 29 09:43:45 PDT 2005


Tom,

Did you try building using the method described in the README file?

svn/gen2/users/jlentini/linux-kernel/README

The procedure there has been working for me. I'd rather continue using 
it than change. I like the idea that the build setup is exactly as it 
would be if it were part of the trunk.

james

On Wed, 27 Apr 2005, Tom Duffy wrote:

> Until DAPL is in the trunk, it should be albe to be built outside of
> your normal kernel tree.  These changes make that possible.  Now, you
> can type something like:
>
> $ KERNELDIR=/path/to/kernel/dir/or/object/dir make
>
> in each of dat, dat-provider, and patches (to get ib_at).
>
> Signed-off-by: Tom Duffy <tduffy at sun.com>
>
> Index: gen2/users/jlentini/linux-kernel/dat-provider/Makefile
> ===================================================================
> --- gen2/users/jlentini/linux-kernel/dat-provider/Makefile	(revision 2219)
> +++ gen2/users/jlentini/linux-kernel/dat-provider/Makefile	(working copy)
> @@ -1,18 +1,3 @@
> -
> -obj-$(CONFIG_INFINIBAND_DAT_PROVIDER) += ib_dat_provider.o
> -
> -#debug
> -KDAPL_DEBUG = 1
> -ifeq (1,$(KDAPL_DEBUG))
> -  EXTRA_CFLAGS += -O0 -g
> -  EXTRA_CFLAGS += -DDAPL_DBG # -DDAPL_DBG_IO_TRC
> -endif
> -
> -EXTRA_CFLAGS += 				\
> -    -DDAPL_ATS					\
> -    -Idrivers/infiniband/include		\
> -    -Idrivers/dat
> -
> PROVIDER_MODULES := \
> 	dapl_openib_qp			\
> 	dapl_openib_util		\
> @@ -106,5 +91,25 @@ PROVIDER_MODULES := \
>
> PROVIDER_OBJS := $(foreach s, $(PROVIDER_MODULES), $(s).o)
>
> -ib_dat_provider-y:= $(PROVIDER_OBJS)
> +KDAPL_DEBUG = 1
> +ifeq (1,$(KDAPL_DEBUG))
> +  EXTRA_CFLAGS += -O0 -g
> +  EXTRA_CFLAGS += -DDAPL_DBG # -DDAPL_DBG_IO_TRC
> +endif
> +
> +EXTRA_CFLAGS += -DDAPL_ATS -Idrivers/infiniband/include -I$(obj)/../dat -I$(obj)/../patches/
> +
> +ifneq ($(KERNELRELEASE),)
> +        obj-m := ib_dat_provider.o
> +        ib_dat_provider-objs := $(PROVIDER_OBJS)
> +else
> +	KERNELDIR ?= /lib/modules/$(shell uname -r)/build
> +	PWD := $(shell pwd)
> +
> +default:
> +	$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
> +
> +endif
>
> +clean:
> +	rm -f *.o *.ko
> Index: gen2/users/jlentini/linux-kernel/patches/at.c
> ===================================================================
> --- gen2/users/jlentini/linux-kernel/patches/at.c	(revision 2219)
> +++ gen2/users/jlentini/linux-kernel/patches/at.c	(working copy)
> @@ -45,7 +45,7 @@
> #include <ib_verbs.h>
> #include <ib_sa.h>
>
> -#include "../ulp/ipoib/ipoib.h"
> +#include <ipoib.h>
> #include <ib_at.h>
>
> MODULE_AUTHOR("Shahar Frank");
> Index: gen2/users/jlentini/linux-kernel/patches/Makefile
> ===================================================================
> --- gen2/users/jlentini/linux-kernel/patches/Makefile	(revision 0)
> +++ gen2/users/jlentini/linux-kernel/patches/Makefile	(revision 0)
> @@ -0,0 +1,16 @@
> +EXTRA_CFLAGS += -Werror -Idrivers/infiniband/include -Idrivers/infiniband/ulp/ipoib/ -I$(obj)
> +
> +ifneq ($(KERNELRELEASE),)
> +	obj-m := ib_at.o
> +	ib_at-objs := at.o
> +else
> +	KERNELDIR ?= /lib/modules/$(shell uname -r)/build
> +	PWD := $(shell pwd)
> +
> +default:
> +	$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
> +
> +endif
> +
> +clean:
> +	rm -f *.o *.ko
> Index: gen2/users/jlentini/linux-kernel/dat/Makefile
> ===================================================================
> --- gen2/users/jlentini/linux-kernel/dat/Makefile	(revision 2219)
> +++ gen2/users/jlentini/linux-kernel/dat/Makefile	(working copy)
> @@ -1,13 +1,16 @@
> +EXTRA_CFLAGS += -Werror -I$(obj)
>
> -EXTRA_CFLAGS += \
> -    -Idrivers/dat      	\
> -    -Werror
> +ifneq ($(KERNELRELEASE),)
> +	obj-m := dat.o
> +	dat-objs := consumer.o core.o dictionary.o dr.o provider.o
> +else
> +	KERNELDIR ?= /lib/modules/$(shell uname -r)/build
> +	PWD := $(shell pwd)
>
> -obj-$(CONFIG_DAT) += dat.o
> +default:
> +	$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
>
> -dat-y := \
> -    consumer.o		\
> -    core.o 		\
> -    dictionary.o	\
> -    dr.o		\
> -    provider.o
> +endif
> +
> +clean:
> +	rm -r *.o *.ko
>



More information about the general mailing list