IB: Allow build of hw/ and ulp/ subdirectories independently
authorYann Droneaud <ydroneaud@opteya.com>
Thu, 27 Mar 2014 11:10:33 +0000 (12:10 +0100)
committerRoland Dreier <roland@purestorage.com>
Mon, 2 Jun 2014 21:51:12 +0000 (14:51 -0700)
It is not possible to build only the drivers/infiniband/hw/ (or ulp/)
subdirectory with command such as:

    $ make ARCH=x86_64 O=./obj-x86_64/ drivers/infiniband/hw/

This fails with following error messages:

    make[2]: Nothing to be done for `all'.
    make[2]: Nothing to be done for `relocs'.
      CHK     include/config/kernel.release
      Using /home/ydroneaud/src/linux as source for kernel
      GEN     /home/ydroneaud/src/linux/obj-x86_64/Makefile
      CHK     include/generated/uapi/linux/version.h
      CHK     include/generated/utsrelease.h
      CALL    /home/ydroneaud/src/linux/scripts/checksyscalls.sh
    /home/ydroneaud/src/linux/scripts/Makefile.build:44: /home/ydroneaud/src/linux/drivers/infiniband/hw/Makefile: No such file or directory
    make[2]: *** No rule to make target `/home/ydroneaud/src/linux/drivers/infiniband/hw/Makefile'.  Stop.
    make[1]: *** [drivers/infiniband/hw/] Error 2
    make: *** [sub-make] Error 2

This patch creates a Makefile in hw/ and ulp/ and moves each
corresponding parts of drivers/infiniband/Makefile in the new
Makefiles.

It should not break build except if some hw/ drivers or ulp/ were
allowed previously to be built while CONFIG_INFINIBAND is set to 'n',
but according to drivers/infiniband/Kconfig, it's not possible. So it
should be safe to apply.

Signed-off-by: Yann Droneaud <ydroneaud@opteya.com>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Roland Dreier <roland@purestorage.com>
drivers/infiniband/Makefile
drivers/infiniband/hw/Makefile [new file with mode: 0644]
drivers/infiniband/ulp/Makefile [new file with mode: 0644]

index bf508b5550c452f32997a888badb4c885900cec9..dc21836b5a8d11d25622a55443d5dbfae12de3bb 100644 (file)
@@ -1,18 +1,3 @@
 obj-$(CONFIG_INFINIBAND)               += core/
-obj-$(CONFIG_INFINIBAND_MTHCA)         += hw/mthca/
-obj-$(CONFIG_INFINIBAND_IPATH)         += hw/ipath/
-obj-$(CONFIG_INFINIBAND_QIB)           += hw/qib/
-obj-$(CONFIG_INFINIBAND_EHCA)          += hw/ehca/
-obj-$(CONFIG_INFINIBAND_AMSO1100)      += hw/amso1100/
-obj-$(CONFIG_INFINIBAND_CXGB3)         += hw/cxgb3/
-obj-$(CONFIG_INFINIBAND_CXGB4)         += hw/cxgb4/
-obj-$(CONFIG_MLX4_INFINIBAND)          += hw/mlx4/
-obj-$(CONFIG_MLX5_INFINIBAND)          += hw/mlx5/
-obj-$(CONFIG_INFINIBAND_NES)           += hw/nes/
-obj-$(CONFIG_INFINIBAND_OCRDMA)                += hw/ocrdma/
-obj-$(CONFIG_INFINIBAND_USNIC)         += hw/usnic/
-obj-$(CONFIG_INFINIBAND_IPOIB)         += ulp/ipoib/
-obj-$(CONFIG_INFINIBAND_SRP)           += ulp/srp/
-obj-$(CONFIG_INFINIBAND_SRPT)          += ulp/srpt/
-obj-$(CONFIG_INFINIBAND_ISER)          += ulp/iser/
-obj-$(CONFIG_INFINIBAND_ISERT)         += ulp/isert/
+obj-$(CONFIG_INFINIBAND)               += hw/
+obj-$(CONFIG_INFINIBAND)               += ulp/
diff --git a/drivers/infiniband/hw/Makefile b/drivers/infiniband/hw/Makefile
new file mode 100644 (file)
index 0000000..e900b03
--- /dev/null
@@ -0,0 +1,12 @@
+obj-$(CONFIG_INFINIBAND_MTHCA)         += mthca/
+obj-$(CONFIG_INFINIBAND_IPATH)         += ipath/
+obj-$(CONFIG_INFINIBAND_QIB)           += qib/
+obj-$(CONFIG_INFINIBAND_EHCA)          += ehca/
+obj-$(CONFIG_INFINIBAND_AMSO1100)      += amso1100/
+obj-$(CONFIG_INFINIBAND_CXGB3)         += cxgb3/
+obj-$(CONFIG_INFINIBAND_CXGB4)         += cxgb4/
+obj-$(CONFIG_MLX4_INFINIBAND)          += mlx4/
+obj-$(CONFIG_MLX5_INFINIBAND)          += mlx5/
+obj-$(CONFIG_INFINIBAND_NES)           += nes/
+obj-$(CONFIG_INFINIBAND_OCRDMA)                += ocrdma/
+obj-$(CONFIG_INFINIBAND_USNIC)         += usnic/
diff --git a/drivers/infiniband/ulp/Makefile b/drivers/infiniband/ulp/Makefile
new file mode 100644 (file)
index 0000000..f3c7dcf
--- /dev/null
@@ -0,0 +1,5 @@
+obj-$(CONFIG_INFINIBAND_IPOIB)         += ipoib/
+obj-$(CONFIG_INFINIBAND_SRP)           += srp/
+obj-$(CONFIG_INFINIBAND_SRPT)          += srpt/
+obj-$(CONFIG_INFINIBAND_ISER)          += iser/
+obj-$(CONFIG_INFINIBAND_ISERT)         += isert/