Update of /cvsroot/math-atlas/AtlasBase/Clint
In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv4617/Clint
Modified Files:
atlas-l2k.base atlas-lvl2.base atlas-make.base
Log Message:
Index: atlas-l2k.base
===================================================================
RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-l2k.base,v
retrieving revision 1.35
retrieving revision 1.36
diff -C2 -d -r1.35 -r1.36
*** atlas-l2k.base 26 Jul 2010 17:03:57 -0000 1.35
--- atlas-l2k.base 29 Jul 2010 21:34:10 -0000 1.36
***************
*** 1165,1169 ****
size_t ia = (size_t) A, ix = (size_t) X;
ATL_CINT N4 = (N>>2)<<2;
! const TYPE one = {ATL_rone, ATL_rzero};
if (N4)
--- 1165,1169 ----
size_t ia = (size_t) A, ix = (size_t) X;
ATL_CINT N4 = (N>>2)<<2;
! const TYPE one[2] = {ATL_rone, ATL_rzero};
if (N4)
Index: atlas-lvl2.base
===================================================================
RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-lvl2.base,v
retrieving revision 1.174
retrieving revision 1.175
diff -C2 -d -r1.174 -r1.175
*** atlas-lvl2.base 29 Jul 2010 16:52:25 -0000 1.174
--- atlas-lvl2.base 29 Jul 2010 21:34:10 -0000 1.175
***************
*** 1486,1491 ****
#elif defined(ATL_INL2)
#include Mstr(Mjoin(Mjoin(atlas_,PRE),r2_L2.h))
! #else
#include Mstr(Mjoin(Mjoin(atlas_,PRE),r2.h))
#endif
--- 1486,1511 ----
#elif defined(ATL_INL2)
#include Mstr(Mjoin(Mjoin(atlas_,PRE),r2_L2.h))
! #elif defined(ATL_INOOC) || defined(ATL_TUNING)
#include Mstr(Mjoin(Mjoin(atlas_,PRE),r2.h))
+ #else
+ #define ATL_CHOICE
+ #include Mstr(Mjoin(Mjoin(atlas_,PRE),sysinfo.h))
+ #if defined(ATL_NCPU) && ATL_NCPU > 1
+ #include "atlas_tcacheedge.h"
+ #else
+ #include "atlas_cacheedge.h"
+ #endif
+ /*
+ * If I don't believe CacheEdge setting (or not set), set L2 size to 4*L1
+ */
+ #ifdef CacheEdge
+ #if CacheEdge > 4194304 || CacheEdge == 0
+ #define MY_CE (4*ATL_MulBySize(ATL_L1elts))
+ #else
+ #define MY_CE CacheEdge
+ #endif
+ #else
+ #define MY_CE (4*ATL_MulBySize(ATL_L1elts))
+ #endif
#endif
***************
*** 1497,1503 ****
#define ATL_ger2 Mjoin(PATL,ger2_L2)
#define ATL_ger Mjoin(PATL,ger_L2)
#else
#define ATL_ger2 Mjoin(PATL,ger2)
- #define ATL_ger Mjoin(PATL,ger)
#endif
#else
--- 1517,1527 ----
#define ATL_ger2 Mjoin(PATL,ger2_L2)
#define ATL_ger Mjoin(PATL,ger_L2)
+ #elif defined(ATL_TUNING)
+ #define ATL_ger2 Mjoin(PATL,ger2)
+ #elif defined(ATL_INOOC)
+ #define ATL_ger2 Mjoin(PATL,ger2_OOC)
+ #define ATL_ger Mjoin(PATL,ger_OOC)
#else
#define ATL_ger2 Mjoin(PATL,ger2)
#endif
#else
***************
*** 1509,1515 ****
#define ATL_ger2 Mjoin(PATL,ger2c_L2)
#define ATL_ger Mjoin(PATL,gerc_L2)
#else
#define ATL_ger2 Mjoin(PATL,ger2c)
- #define ATL_ger Mjoin(PATL,gerc)
#endif
#else
--- 1533,1543 ----
#define ATL_ger2 Mjoin(PATL,ger2c_L2)
#define ATL_ger Mjoin(PATL,gerc_L2)
+ #elif defined(ATL_TUNING)
+ #define ATL_ger2 Mjoin(PATL,ger2c)
+ #elif defined(ATL_INOOC)
+ #define ATL_ger2 Mjoin(PATL,ger2c_OOC)
+ #define ATL_ger Mjoin(PATL,gerc_OOC)
#else
#define ATL_ger2 Mjoin(PATL,ger2c)
#endif
#else
***************
*** 1520,1526 ****
#define ATL_ger2 Mjoin(PATL,ger2u_L2)
#define ATL_ger Mjoin(PATL,geru_L2)
#else
#define ATL_ger2 Mjoin(PATL,ger2u)
- #define ATL_ger Mjoin(PATL,geru)
#endif
#endif
--- 1548,1558 ----
#define ATL_ger2 Mjoin(PATL,ger2u_L2)
#define ATL_ger Mjoin(PATL,geru_L2)
+ #elif defined(ATL_TUNING)
+ #define ATL_ger2 Mjoin(PATL,ger2u)
+ #elif defined(ATL_INOOC)
+ #define ATL_ger2 Mjoin(PATL,ger2u_OOC)
+ #define ATL_ger Mjoin(PATL,geru_OOC)
#else
#define ATL_ger2 Mjoin(PATL,ger2u)
#endif
#endif
***************
*** 1533,1536 ****
--- 1565,1581 ----
TYPE *A, const int lda)
{
+ #ifdef ATL_CHOICE
+ const size_t opsize = (M*N + ((N+M)<<1))*sizeof(TYPE)SHIFT;
+
+ if (opsize <= ATL_MulBySize(ATL_L1elts))
+ Mjoin(PATL,ger2_L1)(M, N, alpha0, X, incX, Y, incY, beta0, W, incW,
+ Z, incZ, A, lda);
+ else if (opsize <= MY_CE)
+ Mjoin(PATL,ger2_L2)(M, N, alpha0, X, incX, Y, incY, beta0, W, incW,
+ Z, incZ, A, lda);
+ else
+ Mjoin(PATL,ger2_OOC)(M, N, alpha0, X, incX, Y, incY, beta0, W, incW,
+ Z, incZ, A, lda);
+ #else
void (*getX)(const int N, const SCALAR alpha, const TYPE *X,
const int incX, TYPE *Y, const int incY);
***************
*** 1574,1607 ****
#endif
/*
- * ATLAS's GER2 kernels loop over M in inner loop, which is bad news if M is
- * very small. Call code that requires no copy of A & B for these degenerate
- * cases
- */
- if (M < 16)
- {
- #ifdef Conj_
- Mjoin(PATL,ger2ck_Mlt16)(M, N, alpha0, X, incX, Y, incY,
- beta0, W, incW, Z, incZ, A, lda);
- #else
- Mjoin(PATL,ger2k_Mlt16)(M, N, alpha0, X, incX, Y, incY,
- beta0, W, incW, Z, incZ, A, lda);
- #endif
- return;
- }
- /*
- * For very small N, we can't afford the data copy, so call cleanup routine
- */
- if (N < 4)
- {
- #ifdef Conj_
- Mjoin(PATL,ger2ck_Nlt8)(M, N, alpha0, X, incX, Y, incY,
- beta0, W, incW, Z, incZ, A, lda);
- #else
- Mjoin(PATL,ger2k_Nlt8)(M, N, alpha0, X, incX, Y, incY,
- beta0, W, incW, Z, incZ, A, lda);
- #endif
- return;
- }
- /*
* Get gerk kernel pointer along with any usage guidelines, and use the
* optimized CacheElts to compute the correct blocking factor
--- 1619,1622 ----
***************
*** 1631,1634 ****
--- 1646,1679 ----
}
/*
+ * For very small N, we can't afford the data copy, so call cleanup routine
+ */
+ if (N < 4 || Nm < 1)
+ {
+ #ifdef Conj_
+ Mjoin(PATL,ger2ck_Nlt8)(M, N, alpha0, X, incX, Y, incY,
+ beta0, W, incW, Z, incZ, A, lda);
+ #else
+ Mjoin(PATL,ger2k_Nlt8)(M, N, alpha0, X, incX, Y, incY,
+ beta0, W, incW, Z, incZ, A, lda);
+ #endif
+ return;
+ }
+ /*
+ * ATLAS's GER2 kernels loop over M in inner loop, which is bad news if M is
+ * very small. Call code that requires no copy of A & B for these degenerate
+ * cases
+ */
+ if (M < 16 || M < minM)
+ {
+ #ifdef Conj_
+ Mjoin(PATL,ger2ck_Mlt16)(M, N, alpha0, X, incX, Y, incY,
+ beta0, W, incW, Z, incZ, A, lda);
+ #else
+ Mjoin(PATL,ger2k_Mlt16)(M, N, alpha0, X, incX, Y, incY,
+ beta0, W, incW, Z, incZ, A, lda);
+ #endif
+ return;
+ }
+ /*
*********************************************************************
Figure out whether vecs need be copied, and which ones will be scaled
***************
*** 1802,1805 ****
--- 1847,1851 ----
if (vp)
free(vp);
+ #endif
}
@ROUT ATL_ger
***************
*** 1811,1816 ****
#elif defined(ATL_INL2)
#include Mstr(Mjoin(Mjoin(atlas_,PRE),r1_L2.h))
! #else
#include Mstr(Mjoin(Mjoin(atlas_,PRE),r1.h))
#endif
--- 1857,1881 ----
#elif defined(ATL_INL2)
#include Mstr(Mjoin(Mjoin(atlas_,PRE),r1_L2.h))
! #elif defined(ATL_INOOC) || defined(ATL_TUNING)
#include Mstr(Mjoin(Mjoin(atlas_,PRE),r1.h))
+ #else
+ #include Mstr(Mjoin(Mjoin(atlas_,PRE),sysinfo.h))
+ #if defined(ATL_NCPU) && ATL_NCPU > 1
+ #include "atlas_tcacheedge.h"
+ #else
+ #include "atlas_cacheedge.h"
+ #endif
+ /*
+ * If I don't believe CacheEdge setting (or not set), set L2 size to 4*L1
+ */
+ #ifdef CacheEdge
+ #if CacheEdge > 4194304 || CacheEdge == 0
+ #define MY_CE (4*ATL_MulBySize(ATL_L1elts))
+ #else
+ #define MY_CE CacheEdge
+ #endif
+ #else
+ #define MY_CE (4*ATL_MulBySize(ATL_L1elts))
+ #endif
#endif
***************
*** 1820,1824 ****
--- 1885,1894 ----
#elif defined(ATL_INL2)
#define ATL_ger Mjoin(PATL,ger_L2)
+ #elif defined(ATL_TUNING)
+ #define ATL_ger Mjoin(PATL,ger)
+ #elif defined(ATL_OINOC)
+ #define ATL_ger Mjoin(PATL,ger_OOC)
#else
+ #define ATL_CHOICE
#define ATL_ger Mjoin(PATL,ger)
#endif
***************
*** 1829,1833 ****
--- 1899,1908 ----
#elif defined(ATL_INL2)
#define ATL_ger Mjoin(PATL,gerc_L2)
+ #elif defined(ATL_OINOC)
+ #define ATL_ger Mjoin(PATL,gerc_OOC)
+ #elif defined(ATL_TUNING)
+ #define ATL_ger Mjoin(PATL,gerc)
#else
+ #define ATL_CHOICE
#define ATL_ger Mjoin(PATL,gerc)
#endif
***************
*** 1837,1841 ****
--- 1912,1921 ----
#elif defined(ATL_INL2)
#define ATL_ger Mjoin(PATL,geru_L2)
+ #elif defined(ATL_INOOC)
+ #define ATL_ger Mjoin(PATL,geru_OOC)
+ #elif defined(ATL_TUNING)
+ #define ATL_ger Mjoin(PATL,geru)
#else
+ #define ATL_CHOICE
#define ATL_ger Mjoin(PATL,geru)
#endif
***************
*** 1846,1849 ****
--- 1926,1939 ----
const int incX, const TYPE *Y, const int incY, TYPE *A, const int lda)
{
+ #ifdef ATL_CHOICE
+ const size_t opsize = M*N*sizeof(TYPE)SHIFT;
+
+ if (opsize <= ATL_MulBySize(ATL_L1elts))
+ Mjoin(PATL,ger_L1)(M, N, alpha0, X, incX, Y, incY, A, lda);
+ else if (opsize <= MY_CE)
+ Mjoin(PATL,ger_L2)(M, N, alpha0, X, incX, Y, incY, A, lda);
+ else
+ Mjoin(PATL,ger_OOC)(M, N, alpha0, X, incX, Y, incY, A, lda);
+ #else
void (*getX)(const int N, const SCALAR alpha, const TYPE *X,
const int incX, TYPE *Y, const int incY);
***************
*** 1867,1896 ****
return;
/*
- * ATLAS's GER kernels loop over M in inner loop, which is bad news if M is
- * very small. Call code that requires no copy of A & B for these degenerate
- * cases
- */
- if (M < 16)
- {
- #ifdef Conj_
- Mjoin(PATL,gerck_Mlt16)(M, N, alpha0, X, incX, Y, incY, A, lda);
- #else
- Mjoin(PATL,gerk_Mlt16)(M, N, alpha0, X, incX, Y, incY, A, lda);
- #endif
- return;
- }
- /*
- * For very small N, we can't afford the data copy, so call AXPY-based routine
- */
- if (N < 4)
- {
- #ifdef Conj_
- Mjoin(PATL,gerck_axpy)(M, N, alpha0, X, incX, Y, incY, A, lda);
- #else
- Mjoin(PATL,gerk_axpy)(M, N, alpha0, X, incX, Y, incY, A, lda);
- #endif
- return;
- }
- /*
* Get gerk kernel pointer along with any usage guidelines, and use the
* optimized CacheElts to compute the correct blocking factor
--- 1957,1960 ----
***************
*** 1920,1923 ****
--- 1984,2013 ----
}
/*
+ * For very small N, we can't afford the data copy, so call AXPY-based routine
+ */
+ if (N < 4 || Nm < 1)
+ {
+ #ifdef Conj_
+ Mjoin(PATL,gerck_axpy)(M, N, alpha0, X, incX, Y, incY, A, lda);
+ #else
+ Mjoin(PATL,gerk_axpy)(M, N, alpha0, X, incX, Y, incY, A, lda);
+ #endif
+ return;
+ }
+ /*
+ * ATLAS's GER kernels loop over M in inner loop, which is bad news if M is
+ * very small. Call code that requires no copy of A & B for these degenerate
+ * cases
+ */
+ if (M < 16 || M < minM)
+ {
+ #ifdef Conj_
+ Mjoin(PATL,gerck_Mlt16)(M, N, alpha0, X, incX, Y, incY, A, lda);
+ #else
+ Mjoin(PATL,gerk_Mlt16)(M, N, alpha0, X, incX, Y, incY, A, lda);
+ #endif
+ return;
+ }
+ /*
*****************************************************************************
Figure out whether vecs need be copied, and which one will be scaled by alpha
***************
*** 2037,2040 ****
--- 2127,2131 ----
if (vp)
free(vp);
+ #endif
}
@ROUT atlas_mv.h
***************
*** 8885,8893 ****
@multidef typ double float
@whiledef pre d s
! void ATL_@...
(ATL_CINT M, ATL_CINT N, const @(typ) alpha, const @(typ) *X,
ATL_CINT incX, const @(typ) *Y, ATL_CINT incY, const @(typ) beta,
const @(typ) *W, ATL_CINT incW, const @(typ) *Z, ATL_CINT incZ,
@(typ) *A, ATL_CINT lda);
void Mjoin(PATL,gemv)
(const enum ATLAS_TRANS TA, ATL_CINT M, ATL_CINT N, const SCALAR alpha,
--- 8976,8991 ----
@multidef typ double float
@whiledef pre d s
! @whiledef rt ger ger_L2 ger_L1 ger_OOC
! void ATL_@...)
! (ATL_CINT M, ATL_CINT N, const @(typ) alpha, const @(typ) *X,
! ATL_CINT incX, const @(typ) *Y, ATL_CINT incY, @(typ) *A, ATL_CINT lda);
! @endwhile
! @whiledef rt ger2 ger2_L2 ger2_L1 ger2_OOC
! void ATL_@...)
(ATL_CINT M, ATL_CINT N, const @(typ) alpha, const @(typ) *X,
ATL_CINT incX, const @(typ) *Y, ATL_CINT incY, const @(typ) beta,
const @(typ) *W, ATL_CINT incW, const @(typ) *Z, ATL_CINT incZ,
@(typ) *A, ATL_CINT lda);
+ @endwhile
void Mjoin(PATL,gemv)
(const enum ATLAS_TRANS TA, ATL_CINT M, ATL_CINT N, const SCALAR alpha,
***************
*** 8968,8976 ****
const TYPE *X, ATL_CINT incX, const SCALAR beta, TYPE *Y, ATL_CINT incY);
@endwhile
! void ATL_@...
(ATL_CINT M, ATL_CINT N, const @(typ) *alpha, const @(typ) *X,
ATL_CINT incX, const @(typ) *Y, ATL_CINT incY, const @(typ) *beta,
const @(typ) *W, ATL_CINT incW, const @(typ) *Z, ATL_CINT incZ,
@(typ) *A, ATL_CINT lda);
@whiledef rt mvt mvn
void ATL_@...
--- 9066,9081 ----
const TYPE *X, ATL_CINT incX, const SCALAR beta, TYPE *Y, ATL_CINT incY);
@endwhile
! @whiledef rt gerc gerc_L1 gerc_L2 gerc_OOC geru geru_L1 geru_L2 geru_OOC
! void ATL_@...)
! (ATL_CINT M, ATL_CINT N, const @(typ) *alpha, const @(typ) *X,
! ATL_CINT incX, const @(typ) *Y, ATL_CINT incY, @(typ) *A, ATL_CINT lda);
! @endwhile
! @whiledef rt ger2c ger2c_L1 ger2c_L2 ger2c_OOC ger2u ger2u_L1 ger2u_L2 ger2u_OOC
! void ATL_@...)
(ATL_CINT M, ATL_CINT N, const @(typ) *alpha, const @(typ) *X,
ATL_CINT incX, const @(typ) *Y, ATL_CINT incY, const @(typ) *beta,
const @(typ) *W, ATL_CINT incW, const @(typ) *Z, ATL_CINT incZ,
@(typ) *A, ATL_CINT lda);
+ @endwhile
@whiledef rt mvt mvn
void ATL_@...
***************
*** 9094,9105 ****
const @(typ) *Ap, const @(typ) *X, const int incX,
const @(typ) beta, @(typ) *Y, const int incY);
! void ATL_@... int M, const int N, const @(typ) alpha,
! const @(typ) *X, const int incX, const @(typ) *Y, const int incY,
! @(typ) *A, const int lda);
! void ATL_@... int M, const int N, const @(typ) alpha,
! const @(typ) *X, const int incX, const @(typ) *Y, const int incY,
! const @(typ) beta,
! const @(typ) *W, const int incW, const @(typ) *Z, const int incZ,
! @(typ) *A, const int lda);
void ATL_@... enum ATLAS_UPLO Uplo, const int N, const @(typ) alpha,
const @(typ) *X, const int incX, @(typ) *A, const int lda);
--- 9199,9214 ----
const @(typ) *Ap, const @(typ) *X, const int incX,
const @(typ) beta, @(typ) *Y, const int incY);
! @whiledef rt ger ger_L2 ger_L1 ger_OOC
! void ATL_@...)
! (const int M, const int N, const @(typ) alpha, const @(typ) *X,
! const int incX, const @(typ) *Y, const int incY, @(typ) *A, const int lda);
! @endwhile
! @whiledef rt ger2 ger2_L2 ger2_L1 ger2_OOC
! void ATL_@...)
! (const int M, const int N, const @(typ) alpha, const @(typ) *X,
! const int incX, const @(typ) *Y, const int incY, const @(typ) beta,
! const @(typ) *W, const int incW, const @(typ) *Z, const int incZ,
! @(typ) *A, const int lda);
! @endwhile
void ATL_@... enum ATLAS_UPLO Uplo, const int N, const @(typ) alpha,
const @(typ) *X, const int incX, @(typ) *A, const int lda);
***************
*** 9134,9155 ****
const @(typ) *X, const int incX, const @(typ) *beta,
@(typ) *Y, const int incY);
! void ATL_@... int M, const int N, const @(styp)alpha,
! const @(typ) *X, const int incX, const @(typ) *Y, const int incY,
! @(typ) *A, const int lda);
! void ATL_@... int M, const int N, const @(styp)alpha,
! const @(typ) *X, const int incX, const @(typ) *Y, const int incY,
! @(typ) *A, const int lda);
! void ATL_@... int M, const int N,
! const @(styp)alpha, const @(typ) *X, const int incX,
! const @(typ) *Y, const int incY,
! const @(styp)beta, const @(typ) *W, const int incW,
! const @(typ) *Z, const int incZ,
! @(typ) *A, const int lda);
! void ATL_@... int M, const int N,
! const @(styp)alpha, const @(typ) *X, const int incX,
! const @(typ) *Y, const int incY,
! const @(styp)beta, const @(typ) *W, const int incW,
! const @(typ) *Z, const int incZ,
! @(typ) *A, const int lda);
void ATL_@... enum ATLAS_UPLO Uplo, const int N, const @(typ) alpha,
const @(typ) *X, const int incX, @(typ) *A, const int lda);
--- 9243,9259 ----
const @(typ) *X, const int incX, const @(typ) *beta,
@(typ) *Y, const int incY);
! @whiledef rt geru geru_L1 geru_L2 geru_OOC gerc gerc_L1 gerc_L2 gerc_OOC
! void ATL_@...)
! (const int M, const int N, const @(styp)alpha, const @(typ) *X,
! const int incX, const @(typ) *Y, const int incY, @(typ) *A, const int lda);
! @endwhile
!
! @whiledef rt ger2u ger2u_L1 ger2u_L2 ger2u_OOC ger2c ger2c_L1 ger2c_L2 ger2c_OOC
! void ATL_@...)
! (const int M, const int N, const @(styp)alpha, const @(typ) *X,
! const int incX, const @(typ) *Y, const int incY, const @(styp)beta,
! const @(typ) *W, const int incW, const @(typ) *Z, const int incZ,
! @(typ) *A, const int lda);
! @endwhile
void ATL_@... enum ATLAS_UPLO Uplo, const int N, const @(typ) alpha,
const @(typ) *X, const int incX, @(typ) *A, const int lda);
***************
*** 12386,12389 ****
--- 12490,12494 ----
for (r1p=r1q; r1p->next; r1p = r1p->next)
NU = Mylcm(NU, r1p->NU);
+ @beginskip
/*
* If NU has grown large enough to significantly impact our ability to
***************
*** 12407,12410 ****
--- 12512,12516 ----
NU = Mylcm(NU, r1p->NU);
}
+ @endskip
i = strlen(path) + 32;
***************
*** 16412,16416 ****
*/
{
! const size_t opsize = M*N*sizeof(TYPE)SHIFT;
if (TA == AtlasNoTrans)
--- 16518,16522 ----
*/
{
! const size_t opsize = (M*N+M+N)*sizeof(TYPE)SHIFT;
if (TA == AtlasNoTrans)
Index: atlas-make.base
===================================================================
RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-make.base,v
retrieving revision 1.311
retrieving revision 1.312
diff -C2 -d -r1.311 -r1.312
*** atlas-make.base 27 Jul 2010 16:11:36 -0000 1.311
--- atlas-make.base 29 Jul 2010 21:34:10 -0000 1.312
***************
*** 4027,4030 ****
--- 4027,4031 ----
ATL_@... ATL_@... \
ATL_@... ATL_@... \
+ ATL_@... ATL_@... \
ATL_@... ATL_@... \
ATL_@... ATL_@... \
***************
*** 4059,4078 ****
@whiledef rt ger ger2
@whiledef pre d s
! @whiledef suf L1 L2
! ATL_@... : $(mySRCdir)/ATL_@... $(INCAdir)/atlas_@...
$(@up@...) -o $@ -c $(@(pre)KCFLAGS) -D@... -DATL_IN@...) $(mySRCdir)/ATL_@...
@endwhile
ATL_@... : $(mySRCdir)/ATL_@... $(INCSdir)/atlas_r@...
$(@up@...) -o $@ -c $(@(pre)KCFLAGS) -D@... $(mySRCdir)/ATL_@...
@endwhile
@multidef upr d s
@whiledef pre z c
! @whiledef suf L1 L2
! ATL_@... : $(mySRCdir)/ATL_@... $(INCAdir)/atlas_@...
$(@up@...) -o $@ -c $(@(pre)KCFLAGS) -D@... -DATL_IN@...) $(mySRCdir)/ATL_@...
! ATL_@... : $(mySRCdir)/ATL_@... $(INCAdir)/atlas_@...
$(@up@...) -o $@ -c $(@(pre)KCFLAGS) -D@... -DATL_IN@...) \
-DConj_ $(mySRCdir)/ATL_@...
@endwhile
ATL_@... : $(mySRCdir)/ATL_@... $(INCSdir)/atlas_r@...
--- 4060,4083 ----
@whiledef rt ger ger2
@whiledef pre d s
! @multidef sfi _L1.h _L2.h .h
! @whiledef suf L1 L2 OOC
! ATL_@... : $(mySRCdir)/ATL_@... $(INCAdir)/atlas_@...)
$(@up@...) -o $@ -c $(@(pre)KCFLAGS) -D@... -DATL_IN@...) $(mySRCdir)/ATL_@...
@endwhile
ATL_@... : $(mySRCdir)/ATL_@... $(INCSdir)/atlas_r@...
$(@up@...) -o $@ -c $(@(pre)KCFLAGS) -D@... $(mySRCdir)/ATL_@...
+ @undef sfi
@endwhile
@multidef upr d s
@whiledef pre z c
! @multidef sfi _L1.h _L2.h .h
! @whiledef suf L1 L2 OOC
! ATL_@... : $(mySRCdir)/ATL_@... $(INCAdir)/atlas_@...)
$(@up@...) -o $@ -c $(@(pre)KCFLAGS) -D@... -DATL_IN@...) $(mySRCdir)/ATL_@...
! ATL_@... : $(mySRCdir)/ATL_@... $(INCAdir)/atlas_@...)
$(@up@...) -o $@ -c $(@(pre)KCFLAGS) -D@... -DATL_IN@...) \
-DConj_ $(mySRCdir)/ATL_@...
+ @undef sfi
@endwhile
ATL_@... : $(mySRCdir)/ATL_@... $(INCSdir)/atlas_r@...
|