From 6513fcbfae1ec7304800bc245513a739e9c12877 Mon Sep 17 00:00:00 2001
From: Mathieu Faverge <mathieu.faverge@inria.fr>
Date: Sat, 29 Jul 2017 12:11:35 +0200
Subject: [PATCH] Restructure headers in cudablas directory

---
 cudablas/compute/cuda_zgeadd.c               |  4 +--
 cudablas/compute/cuda_zgelqt.c               |  4 +--
 cudablas/compute/cuda_zgemerge.c             |  4 +--
 cudablas/compute/cuda_zgemm.c                |  4 +--
 cudablas/compute/cuda_zgeqrt.c               |  4 +--
 cudablas/compute/cuda_zgessm.c               |  4 +--
 cudablas/compute/cuda_zgetrf.c               |  4 +--
 cudablas/compute/cuda_zhemm.c                |  4 +--
 cudablas/compute/cuda_zher2k.c               |  4 +--
 cudablas/compute/cuda_zherfb.c               |  4 +--
 cudablas/compute/cuda_zherk.c                |  4 +--
 cudablas/compute/cuda_zlarfb.c               |  4 +--
 cudablas/compute/cuda_zlauum.c               |  4 +--
 cudablas/compute/cuda_zparfb.c               |  4 +--
 cudablas/compute/cuda_zpotrf.c               |  4 +--
 cudablas/compute/cuda_zssssm.c               |  4 +--
 cudablas/compute/cuda_zsymm.c                |  4 +--
 cudablas/compute/cuda_zsyr2k.c               |  4 +--
 cudablas/compute/cuda_zsyrk.c                |  4 +--
 cudablas/compute/cuda_ztpmqrt.c              |  4 +--
 cudablas/compute/cuda_ztrmm.c                |  4 +--
 cudablas/compute/cuda_ztrsm.c                |  4 +--
 cudablas/compute/cuda_ztrtri.c               |  4 +--
 cudablas/compute/cuda_ztslqt.c               |  4 +--
 cudablas/compute/cuda_ztsmlq.c               |  4 +--
 cudablas/compute/cuda_ztsmqr.c               |  4 +--
 cudablas/compute/cuda_ztsqrt.c               |  4 +--
 cudablas/compute/cuda_ztstrf.c               |  4 +--
 cudablas/compute/cuda_zttmqr.c               |  4 +--
 cudablas/compute/cuda_zunmlqt.c              |  4 +--
 cudablas/compute/cuda_zunmqrt.c              |  4 +--
 cudablas/compute/cudaglobal.c                |  2 +-
 cudablas/include/CMakeLists.txt              | 29 ++++++++++++--------
 cudablas/include/cudablas.h                  | 27 ++++++++++--------
 cudablas/include/{ => cudablas}/cudablas_z.h | 11 --------
 35 files changed, 96 insertions(+), 97 deletions(-)
 rename cudablas/include/{ => cudablas}/cudablas_z.h (97%)

diff --git a/cudablas/compute/cuda_zgeadd.c b/cudablas/compute/cuda_zgeadd.c
index 4e728ad49..abb1cef22 100644
--- a/cudablas/compute/cuda_zgeadd.c
+++ b/cudablas/compute/cuda_zgeadd.c
@@ -20,8 +20,8 @@
  * @precisions normal z -> c d s
  *
  **/
-#include "cudablas/include/cudablas.h"
-#include "cudablas/include/cudablas_z.h"
+#include "cudablas.h"
+#include "cudablas/cudablas_z.h"
 
 #if !defined(CHAMELEON_USE_CUBLAS_V2)
 #error "This file requires cublas api v2 support"
diff --git a/cudablas/compute/cuda_zgelqt.c b/cudablas/compute/cuda_zgelqt.c
index 411251c95..28d5956a5 100644
--- a/cudablas/compute/cuda_zgelqt.c
+++ b/cudablas/compute/cuda_zgelqt.c
@@ -22,8 +22,8 @@
  * @precisions normal z -> c d s
  *
  **/
-#include "cudablas/include/cudablas.h"
-#include "cudablas/include/cudablas_z.h"
+#include "cudablas.h"
+#include "cudablas/cudablas_z.h"
 
 #if defined(CHAMELEON_USE_MAGMA)
 int CUDA_zgelqt(
diff --git a/cudablas/compute/cuda_zgemerge.c b/cudablas/compute/cuda_zgemerge.c
index 6f574b3e0..a3a75f2a7 100644
--- a/cudablas/compute/cuda_zgemerge.c
+++ b/cudablas/compute/cuda_zgemerge.c
@@ -22,8 +22,8 @@
  * @precisions normal z -> c d s
  *
  **/
-#include "cudablas/include/cudablas.h"
-#include "cudablas/include/cudablas_z.h"
+#include "cudablas.h"
+#include "cudablas/cudablas_z.h"
 
 int
 CUDA_zgemerge( MORSE_enum side, MORSE_enum diag,
diff --git a/cudablas/compute/cuda_zgemm.c b/cudablas/compute/cuda_zgemm.c
index c5d0503b5..71d573118 100644
--- a/cudablas/compute/cuda_zgemm.c
+++ b/cudablas/compute/cuda_zgemm.c
@@ -22,8 +22,8 @@
  * @precisions normal z -> c d s
  *
  **/
-#include "cudablas/include/cudablas.h"
-#include "cudablas/include/cudablas_z.h"
+#include "cudablas.h"
+#include "cudablas/cudablas_z.h"
 
 int CUDA_zgemm(MORSE_enum transa, MORSE_enum transb,
                int m, int n, int k,
diff --git a/cudablas/compute/cuda_zgeqrt.c b/cudablas/compute/cuda_zgeqrt.c
index f7cb69ab8..bf6440fab 100644
--- a/cudablas/compute/cuda_zgeqrt.c
+++ b/cudablas/compute/cuda_zgeqrt.c
@@ -22,8 +22,8 @@
  * @precisions normal z -> c d s
  *
  **/
-#include "cudablas/include/cudablas.h"
-#include "cudablas/include/cudablas_z.h"
+#include "cudablas.h"
+#include "cudablas/cudablas_z.h"
 
 #if defined(CHAMELEON_USE_MAGMA)
 int CUDA_zgeqrt(
diff --git a/cudablas/compute/cuda_zgessm.c b/cudablas/compute/cuda_zgessm.c
index 93b706534..47cbfd990 100644
--- a/cudablas/compute/cuda_zgessm.c
+++ b/cudablas/compute/cuda_zgessm.c
@@ -22,8 +22,8 @@
  * @precisions normal z -> c d s
  *
  **/
-#include "cudablas/include/cudablas.h"
-#include "cudablas/include/cudablas_z.h"
+#include "cudablas.h"
+#include "cudablas/cudablas_z.h"
 
 #if defined(CHAMELEON_USE_MAGMA)
 #if defined(HAVE_MAGMA_GETRF_INCPIV_GPU)
diff --git a/cudablas/compute/cuda_zgetrf.c b/cudablas/compute/cuda_zgetrf.c
index 8da4fe5e3..c992a2d43 100644
--- a/cudablas/compute/cuda_zgetrf.c
+++ b/cudablas/compute/cuda_zgetrf.c
@@ -22,8 +22,8 @@
  * @precisions normal z -> c d s
  *
  **/
-#include "cudablas/include/cudablas.h"
-#include "cudablas/include/cudablas_z.h"
+#include "cudablas.h"
+#include "cudablas/cudablas_z.h"
 
 #if defined(CHAMELEON_USE_MAGMA)
 #if defined(HAVE_MAGMA_GETRF_INCPIV_GPU)
diff --git a/cudablas/compute/cuda_zhemm.c b/cudablas/compute/cuda_zhemm.c
index 5cb93159e..7c3d63624 100644
--- a/cudablas/compute/cuda_zhemm.c
+++ b/cudablas/compute/cuda_zhemm.c
@@ -22,8 +22,8 @@
  * @precisions normal z -> c
  *
  **/
-#include "cudablas/include/cudablas.h"
-#include "cudablas/include/cudablas_z.h"
+#include "cudablas.h"
+#include "cudablas/cudablas_z.h"
 
 int CUDA_zhemm(MORSE_enum side, MORSE_enum uplo,
                int m, int n,
diff --git a/cudablas/compute/cuda_zher2k.c b/cudablas/compute/cuda_zher2k.c
index 206d0d50d..3850b3201 100644
--- a/cudablas/compute/cuda_zher2k.c
+++ b/cudablas/compute/cuda_zher2k.c
@@ -22,8 +22,8 @@
  * @precisions normal z -> c
  *
  **/
-#include "cudablas/include/cudablas.h"
-#include "cudablas/include/cudablas_z.h"
+#include "cudablas.h"
+#include "cudablas/cudablas_z.h"
 
 int CUDA_zher2k(MORSE_enum uplo, MORSE_enum trans,
                 int n, int k,
diff --git a/cudablas/compute/cuda_zherfb.c b/cudablas/compute/cuda_zherfb.c
index 4563d9388..81e17b4ea 100644
--- a/cudablas/compute/cuda_zherfb.c
+++ b/cudablas/compute/cuda_zherfb.c
@@ -22,8 +22,8 @@
  * @precisions normal z -> c d s
  *
  **/
-#include "cudablas/include/cudablas.h"
-#include "cudablas/include/cudablas_z.h"
+#include "cudablas.h"
+#include "cudablas/cudablas_z.h"
 
 int
 CUDA_zherfb( MORSE_enum uplo, int n,
diff --git a/cudablas/compute/cuda_zherk.c b/cudablas/compute/cuda_zherk.c
index f5eec6d17..8bd07e126 100644
--- a/cudablas/compute/cuda_zherk.c
+++ b/cudablas/compute/cuda_zherk.c
@@ -22,8 +22,8 @@
  * @precisions normal z -> c
  *
  **/
-#include "cudablas/include/cudablas.h"
-#include "cudablas/include/cudablas_z.h"
+#include "cudablas.h"
+#include "cudablas/cudablas_z.h"
 
 int CUDA_zherk( MORSE_enum uplo, MORSE_enum trans,
                 int n, int k,
diff --git a/cudablas/compute/cuda_zlarfb.c b/cudablas/compute/cuda_zlarfb.c
index 0faee149e..de57f0a7e 100644
--- a/cudablas/compute/cuda_zlarfb.c
+++ b/cudablas/compute/cuda_zlarfb.c
@@ -24,8 +24,8 @@
  * @precisions normal z -> c d s
  *
  **/
-#include "cudablas/include/cudablas.h"
-#include "cudablas/include/cudablas_z.h"
+#include "cudablas.h"
+#include "cudablas/cudablas_z.h"
 
 int
 CUDA_zlarfb(MORSE_enum side, MORSE_enum trans,
diff --git a/cudablas/compute/cuda_zlauum.c b/cudablas/compute/cuda_zlauum.c
index dda1468b6..29c0eea65 100644
--- a/cudablas/compute/cuda_zlauum.c
+++ b/cudablas/compute/cuda_zlauum.c
@@ -22,8 +22,8 @@
  * @precisions normal z -> c d s
  *
  **/
-#include "cudablas/include/cudablas.h"
-#include "cudablas/include/cudablas_z.h"
+#include "cudablas.h"
+#include "cudablas/cudablas_z.h"
 
 #if defined(CHAMELEON_USE_MAGMA)
 int CUDA_zlauum(
diff --git a/cudablas/compute/cuda_zparfb.c b/cudablas/compute/cuda_zparfb.c
index e3e29f956..5ce6c0e29 100644
--- a/cudablas/compute/cuda_zparfb.c
+++ b/cudablas/compute/cuda_zparfb.c
@@ -22,8 +22,8 @@
  * @precisions normal z -> c d s
  *
  **/
-#include "cudablas/include/cudablas.h"
-#include "cudablas/include/cudablas_z.h"
+#include "cudablas.h"
+#include "cudablas/cudablas_z.h"
 
 /**
  *****************************************************************************
diff --git a/cudablas/compute/cuda_zpotrf.c b/cudablas/compute/cuda_zpotrf.c
index cdd6f4cf1..730f4b1f7 100644
--- a/cudablas/compute/cuda_zpotrf.c
+++ b/cudablas/compute/cuda_zpotrf.c
@@ -22,8 +22,8 @@
  * @precisions normal z -> c d s
  *
  **/
-#include "cudablas/include/cudablas.h"
-#include "cudablas/include/cudablas_z.h"
+#include "cudablas.h"
+#include "cudablas/cudablas_z.h"
 
 #if defined(CHAMELEON_USE_MAGMA)
 int CUDA_zpotrf(
diff --git a/cudablas/compute/cuda_zssssm.c b/cudablas/compute/cuda_zssssm.c
index 350342539..bcd9e1797 100644
--- a/cudablas/compute/cuda_zssssm.c
+++ b/cudablas/compute/cuda_zssssm.c
@@ -22,8 +22,8 @@
  * @precisions normal z -> c d s
  *
  **/
-#include "cudablas/include/cudablas.h"
-#include "cudablas/include/cudablas_z.h"
+#include "cudablas.h"
+#include "cudablas/cudablas_z.h"
 
 #if defined(CHAMELEON_USE_MAGMA)
 #if defined(HAVE_MAGMA_GETRF_INCPIV_GPU)
diff --git a/cudablas/compute/cuda_zsymm.c b/cudablas/compute/cuda_zsymm.c
index 5213565ed..226ad8f0b 100644
--- a/cudablas/compute/cuda_zsymm.c
+++ b/cudablas/compute/cuda_zsymm.c
@@ -22,8 +22,8 @@
  * @precisions normal z -> c d s
  *
  **/
-#include "cudablas/include/cudablas.h"
-#include "cudablas/include/cudablas_z.h"
+#include "cudablas.h"
+#include "cudablas/cudablas_z.h"
 
 int CUDA_zsymm(MORSE_enum side, MORSE_enum uplo,
                int m, int n,
diff --git a/cudablas/compute/cuda_zsyr2k.c b/cudablas/compute/cuda_zsyr2k.c
index c80babbad..7e4d21bd9 100644
--- a/cudablas/compute/cuda_zsyr2k.c
+++ b/cudablas/compute/cuda_zsyr2k.c
@@ -22,8 +22,8 @@
  * @precisions normal z -> c d s
  *
  **/
-#include "cudablas/include/cudablas.h"
-#include "cudablas/include/cudablas_z.h"
+#include "cudablas.h"
+#include "cudablas/cudablas_z.h"
 
 int CUDA_zsyr2k(
         MORSE_enum uplo, MORSE_enum trans,
diff --git a/cudablas/compute/cuda_zsyrk.c b/cudablas/compute/cuda_zsyrk.c
index 11d18ea15..7426efc72 100644
--- a/cudablas/compute/cuda_zsyrk.c
+++ b/cudablas/compute/cuda_zsyrk.c
@@ -22,8 +22,8 @@
  * @precisions normal z -> c d s
  *
  **/
-#include "cudablas/include/cudablas.h"
-#include "cudablas/include/cudablas_z.h"
+#include "cudablas.h"
+#include "cudablas/cudablas_z.h"
 
 int CUDA_zsyrk(MORSE_enum uplo, MORSE_enum trans,
                int n, int k,
diff --git a/cudablas/compute/cuda_ztpmqrt.c b/cudablas/compute/cuda_ztpmqrt.c
index 350dc3df8..6242fd190 100644
--- a/cudablas/compute/cuda_ztpmqrt.c
+++ b/cudablas/compute/cuda_ztpmqrt.c
@@ -22,8 +22,8 @@
  * @precisions normal z -> c d s
  *
  **/
-#include "cudablas/include/cudablas.h"
-#include "cudablas/include/cudablas_z.h"
+#include "cudablas.h"
+#include "cudablas/cudablas_z.h"
 
 int
 CUDA_ztpmqrt( MORSE_enum side, MORSE_enum trans,
diff --git a/cudablas/compute/cuda_ztrmm.c b/cudablas/compute/cuda_ztrmm.c
index 349a6f98a..d1db27a69 100644
--- a/cudablas/compute/cuda_ztrmm.c
+++ b/cudablas/compute/cuda_ztrmm.c
@@ -22,8 +22,8 @@
  * @precisions normal z -> c d s
  *
  **/
-#include "cudablas/include/cudablas.h"
-#include "cudablas/include/cudablas_z.h"
+#include "cudablas.h"
+#include "cudablas/cudablas_z.h"
 
 int CUDA_ztrmm(
         MORSE_enum side, MORSE_enum uplo,
diff --git a/cudablas/compute/cuda_ztrsm.c b/cudablas/compute/cuda_ztrsm.c
index ae485b751..7a5106879 100644
--- a/cudablas/compute/cuda_ztrsm.c
+++ b/cudablas/compute/cuda_ztrsm.c
@@ -22,8 +22,8 @@
  * @precisions normal z -> c d s
  *
  **/
-#include "cudablas/include/cudablas.h"
-#include "cudablas/include/cudablas_z.h"
+#include "cudablas.h"
+#include "cudablas/cudablas_z.h"
 
 int CUDA_ztrsm(MORSE_enum side, MORSE_enum uplo,
                MORSE_enum transa, MORSE_enum diag,
diff --git a/cudablas/compute/cuda_ztrtri.c b/cudablas/compute/cuda_ztrtri.c
index 02243a938..948f12c39 100644
--- a/cudablas/compute/cuda_ztrtri.c
+++ b/cudablas/compute/cuda_ztrtri.c
@@ -22,8 +22,8 @@
  * @precisions normal z -> c d s
  *
  **/
-#include "cudablas/include/cudablas.h"
-#include "cudablas/include/cudablas_z.h"
+#include "cudablas.h"
+#include "cudablas/cudablas_z.h"
 
 #if defined(CHAMELEON_USE_MAGMA)
 int CUDA_ztrtri(
diff --git a/cudablas/compute/cuda_ztslqt.c b/cudablas/compute/cuda_ztslqt.c
index 27c0228f0..e9897a984 100644
--- a/cudablas/compute/cuda_ztslqt.c
+++ b/cudablas/compute/cuda_ztslqt.c
@@ -22,8 +22,8 @@
  * @precisions normal z -> c d s
  *
  **/
-#include "cudablas/include/cudablas.h"
-#include "cudablas/include/cudablas_z.h"
+#include "cudablas.h"
+#include "cudablas/cudablas_z.h"
 
 #if defined(CHAMELEON_USE_MAGMA) && 0
 int CUDA_ztslqt(
diff --git a/cudablas/compute/cuda_ztsmlq.c b/cudablas/compute/cuda_ztsmlq.c
index 1b2980a34..801961817 100644
--- a/cudablas/compute/cuda_ztsmlq.c
+++ b/cudablas/compute/cuda_ztsmlq.c
@@ -22,8 +22,8 @@
  * @precisions normal z -> c d s
  *
  **/
-#include "cudablas/include/cudablas.h"
-#include "cudablas/include/cudablas_z.h"
+#include "cudablas.h"
+#include "cudablas/cudablas_z.h"
 
 int CUDA_ztsmlq(
         MORSE_enum side, MORSE_enum trans,
diff --git a/cudablas/compute/cuda_ztsmqr.c b/cudablas/compute/cuda_ztsmqr.c
index 678586823..b7b1d6e72 100644
--- a/cudablas/compute/cuda_ztsmqr.c
+++ b/cudablas/compute/cuda_ztsmqr.c
@@ -22,8 +22,8 @@
  * @precisions normal z -> c d s
  *
  **/
-#include "cudablas/include/cudablas.h"
-#include "cudablas/include/cudablas_z.h"
+#include "cudablas.h"
+#include "cudablas/cudablas_z.h"
 
 int CUDA_ztsmqr(
         MORSE_enum side, MORSE_enum trans,
diff --git a/cudablas/compute/cuda_ztsqrt.c b/cudablas/compute/cuda_ztsqrt.c
index 4f11d800f..063b951cc 100644
--- a/cudablas/compute/cuda_ztsqrt.c
+++ b/cudablas/compute/cuda_ztsqrt.c
@@ -22,8 +22,8 @@
  * @precisions normal z -> c d s
  *
  **/
-#include "cudablas/include/cudablas.h"
-#include "cudablas/include/cudablas_z.h"
+#include "cudablas.h"
+#include "cudablas/cudablas_z.h"
 
 #if defined(CHAMELEON_USE_MAGMA)
 int CUDA_ztsqrt(
diff --git a/cudablas/compute/cuda_ztstrf.c b/cudablas/compute/cuda_ztstrf.c
index 5780ff639..545b8c2b9 100644
--- a/cudablas/compute/cuda_ztstrf.c
+++ b/cudablas/compute/cuda_ztstrf.c
@@ -22,8 +22,8 @@
  * @precisions normal z -> c d s
  *
  **/
-#include "cudablas/include/cudablas.h"
-#include "cudablas/include/cudablas_z.h"
+#include "cudablas.h"
+#include "cudablas/cudablas_z.h"
 
 #if defined(CHAMELEON_USE_MAGMA) && 0
 int CUDA_ztstrf(
diff --git a/cudablas/compute/cuda_zttmqr.c b/cudablas/compute/cuda_zttmqr.c
index 04f59bf81..0517cfbd1 100644
--- a/cudablas/compute/cuda_zttmqr.c
+++ b/cudablas/compute/cuda_zttmqr.c
@@ -22,8 +22,8 @@
  * @precisions normal z -> c d s
  *
  **/
-#include "cudablas/include/cudablas.h"
-#include "cudablas/include/cudablas_z.h"
+#include "cudablas.h"
+#include "cudablas/cudablas_z.h"
 
 int CUDA_zttmqr(
         MORSE_enum side, MORSE_enum trans,
diff --git a/cudablas/compute/cuda_zunmlqt.c b/cudablas/compute/cuda_zunmlqt.c
index c7fc245a9..91a3fb79e 100644
--- a/cudablas/compute/cuda_zunmlqt.c
+++ b/cudablas/compute/cuda_zunmlqt.c
@@ -22,8 +22,8 @@
  * @precisions normal z -> c d s
  *
  **/
-#include "cudablas/include/cudablas.h"
-#include "cudablas/include/cudablas_z.h"
+#include "cudablas.h"
+#include "cudablas/cudablas_z.h"
 
 int
 CUDA_zunmlqt(MORSE_enum side, MORSE_enum trans,
diff --git a/cudablas/compute/cuda_zunmqrt.c b/cudablas/compute/cuda_zunmqrt.c
index f61f7714c..7abc0d9cf 100644
--- a/cudablas/compute/cuda_zunmqrt.c
+++ b/cudablas/compute/cuda_zunmqrt.c
@@ -22,8 +22,8 @@
  * @precisions normal z -> c d s
  *
  **/
-#include "cudablas/include/cudablas.h"
-#include "cudablas/include/cudablas_z.h"
+#include "cudablas.h"
+#include "cudablas/cudablas_z.h"
 
 int
 CUDA_zunmqrt(MORSE_enum side, MORSE_enum trans,
diff --git a/cudablas/compute/cudaglobal.c b/cudablas/compute/cudaglobal.c
index 597501e9e..955ae9906 100644
--- a/cudablas/compute/cudaglobal.c
+++ b/cudablas/compute/cudaglobal.c
@@ -19,7 +19,7 @@
  * @date 2017-04-06
  *
  **/
-#include "cudablas/include/cudablas.h"
+#include "cudablas.h"
 
 /*******************************************************************************
  *  LAPACK Constants
diff --git a/cudablas/include/CMakeLists.txt b/cudablas/include/CMakeLists.txt
index 9635e1f95..a722e3444 100644
--- a/cudablas/include/CMakeLists.txt
+++ b/cudablas/include/CMakeLists.txt
@@ -27,31 +27,36 @@
 # ---------------------
 set(CUDABLAS_HDRS_GENERATED "")
 set(ZHDR
-    cudablas_z.h
+    cudablas/cudablas_z.h
 )
-precisions_rules_py(CUDABLAS_HDRS_GENERATED "${ZHDR}"
-                    PRECISIONS "s;d;c;z;zc;ds" )
+precisions_rules_py(
+  CUDABLAS_HDRS_GENERATED "${ZHDR}"
+  TARGETDIR cudablas
+  PRECISIONS "s;d;c;z;zc;ds" )
 
 # Define the list of headers
 # --------------------------
 set(CUDABLAS_HDRS
     cudablas.h
-    ${CUDABLAS_HDRS_GENERATED}
     )
 
+# Add generated headers
+# ---------------------
+foreach( hdr_file ${CUDABLAS_HDRS_GENERATED} )
+  list(APPEND CUDABLAS_HDRS ${CMAKE_CURRENT_BINARY_DIR}/${hdr_file})
+endforeach()
+
 # Force generation of headers
 # ---------------------------
 add_custom_target(cudablas_include ALL SOURCES ${CUDABLAS_HDRS})
 
-set(HDR_INSTALL "cudablas.h")
-foreach( hdr_file ${CUDABLAS_HDRS_GENERATED} )
-    list(APPEND HDR_INSTALL ${CMAKE_CURRENT_BINARY_DIR}/${hdr_file})
-endforeach()
-
-# installation
+# Installation
 # ------------
-install(FILES ${HDR_INSTALL}
-        DESTINATION include/chameleon/cudablas/include)
+install( FILES cudablas.h
+         DESTINATION include )
+
+install( FILES ${CUDABLAS_HDRS}
+         DESTINATION include/cudablas )
 
 ###
 ### END CMakeLists.txt
diff --git a/cudablas/include/cudablas.h b/cudablas/include/cudablas.h
index 6732a0b5b..04145ea21 100644
--- a/cudablas/include/cudablas.h
+++ b/cudablas/include/cudablas.h
@@ -25,7 +25,7 @@
 #ifndef _CUDA_BLAS_H_
 #define _CUDA_BLAS_H_
 
-#include "include/chameleon_config.h"
+#include "chameleon/chameleon_config.h"
 
 #if !defined(CHAMELEON_USE_CUDA)
 #error "This file should not be included"
@@ -68,20 +68,21 @@
 /** ****************************************************************************
  * MORSE types and constants
  **/
-#include "morse_types.h"
-#include "morse_struct.h"
-#include "morse_constants.h"
-//#include "control/auxiliary.h"
-//#include "control/descriptor.h"
-//#include "control/tile.h"
+#include "chameleon/morse_types.h"
+#include "chameleon/morse_struct.h"
+#include "chameleon/morse_constants.h"
 
 /** ****************************************************************************
  * CUDA BLAS headers
  **/
-#include "cudablas/include/cudablas_z.h"
-#include "cudablas/include/cudablas_d.h"
-#include "cudablas/include/cudablas_c.h"
-#include "cudablas/include/cudablas_s.h"
+BEGIN_C_DECLS
+
+#include "cudablas/cudablas_z.h"
+#include "cudablas/cudablas_d.h"
+#include "cudablas/cudablas_c.h"
+#include "cudablas/cudablas_s.h"
+
+END_C_DECLS
 
 /** ****************************************************************************
  * Coreblas Error
@@ -91,6 +92,8 @@
 /** ****************************************************************************
  *  LAPACK Constants
  **/
+BEGIN_C_DECLS
+
 extern char *morse_lapack_constants[];
 #define morse_lapack_const(morse_const) morse_lapack_constants[morse_const][0]
 
@@ -102,4 +105,6 @@ extern int morse_cublas_constants[];
 #define morse_cublas_const(morse_const) morse_lapack_constants[morse_const][0]
 #endif
 
+END_C_DECLS
+
 #endif
diff --git a/cudablas/include/cudablas_z.h b/cudablas/include/cudablas/cudablas_z.h
similarity index 97%
rename from cudablas/include/cudablas_z.h
rename to cudablas/include/cudablas/cudablas_z.h
index 0413fd541..1e88fbf65 100644
--- a/cudablas/include/cudablas_z.h
+++ b/cudablas/include/cudablas/cudablas_z.h
@@ -25,13 +25,6 @@
 #ifndef _MORSE_CUDA_ZBLAS_H_
 #define _MORSE_CUDA_ZBLAS_H_
 
-#include "include/chameleon_config.h"
-#include "morse_types.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
 /** ****************************************************************************
  *  Declarations of cuda kernels - alphabetical order
  **/
@@ -56,8 +49,4 @@ int CUDA_zttmqr( MORSE_enum side, MORSE_enum trans, int M1, int N1, int M2, int
 int CUDA_zunmlqt(MORSE_enum side, MORSE_enum trans, int M, int N, int K, int IB, const cuDoubleComplex *A,    int LDA, const cuDoubleComplex *T,    int LDT, cuDoubleComplex *C,    int LDC, cuDoubleComplex *WORK, int LDWORK, CUBLAS_STREAM_PARAM );
 int CUDA_zunmqrt(MORSE_enum side, MORSE_enum trans, int M, int N, int K, int IB, const cuDoubleComplex *A,    int LDA, const cuDoubleComplex *T,    int LDT, cuDoubleComplex *C,    int LDC, cuDoubleComplex *WORK, int LDWORK, CUBLAS_STREAM_PARAM );
 
-#ifdef __cplusplus
-}
-#endif
-
 #endif
-- 
GitLab