Added CMakeLists.txt for the first of the BLAS folders.

It only does the double precision compile currently.

I realized I didn't finish converting Makefile.system yet, so I made
a note of that.
This commit is contained in:
Hank Anderson 2015-01-27 16:17:17 -06:00
parent 1e8bb0e0e0
commit 5eefe18ae4
4 changed files with 71 additions and 0 deletions

1
.gitignore vendored
View File

@ -66,3 +66,4 @@ test/zblat1
test/zblat2
test/zblat3
build
build.*

View File

@ -56,3 +56,25 @@ foreach (BLAS_DIR ${BLASDIRS})
add_subdirectory(${BLAS_DIR})
endforeach ()
#Save the config files for installation
# @cp Makefile.conf Makefile.conf_last
# @cp config.h config_last.h
#ifdef QUAD_PRECISION
# @echo "#define QUAD_PRECISION">> config_last.h
#endif
#ifeq ($(EXPRECISION), 1)
# @echo "#define EXPRECISION">> config_last.h
#endif
###
#ifeq ($(DYNAMIC_ARCH), 1)
# @$(MAKE) -C kernel commonlibs || exit 1
# @for d in $(DYNAMIC_CORE) ; \
# do $(MAKE) GOTOBLAS_MAKEFILE= -C kernel TARGET_CORE=$$d kernel || exit 1 ;\
# done
# @echo DYNAMIC_ARCH=1 >> Makefile.conf_last
#endif
#ifdef USE_THREAD
# @echo USE_THREAD=$(USE_THREAD) >> Makefile.conf_last
#endif
# @touch lib.grd

View File

@ -128,3 +128,5 @@ set(DLLWRAP "$(CROSS_SUFFIX)dllwrap")
set(OBJCOPY "$(CROSS_SUFFIX)objcopy")
set(OBJCONV "$(CROSS_SUFFIX)objconv")
# TODO: convert rest of Makefile.system, left off at "OS dependent settings"

46
interface/CMakeLists.txt Normal file
View File

@ -0,0 +1,46 @@
include_directories(${CMAKE_SOURCE_DIR})
# TODO: Need to generate object files for S, D, C, Q and X - start with D for now.
# The sources are the same, but there are additional preprocessor definitions depending on the precision (see Makefile.tail).
add_library(DBLAS1OBJS OBJECT
axpy.c swap.c
copy.c scal.c
dot.c
asum.c nrm2.c
max.c # amax/min/amin compiled later from same source
rot.c rotg.c rotm.c rotmg.c
axpby.c
)
# N.B. The original Makefile passed in -UUSE_MIN and -UUSE_ABS (where appropriate), no way to do that at a source-level in cmake. REMOVE_DEFINITIONS removes a definition for the rest of the compilation.
add_library(AMAX_OBJ OBJECT max.c)
set_target_properties(AMAX_OBJ PROPERTIES COMPILE_DEFINITIONS USE_ABS)
add_library(AMIN_OBJ OBJECT max.c)
set_target_properties(AMIN_OBJ PROPERTIES COMPILE_DEFINITIONS USE_ABS)
set_target_properties(AMIN_OBJ PROPERTIES COMPILE_DEFINITIONS USE_MIN)
add_library(MIN_OBJ OBJECT max.c)
set_target_properties(MIN_OBJ PROPERTIES COMPILE_DEFINITIONS USE_MIN)
# TODO: USE_NETLIB_GEMV shoudl switch gemv.c to netlib/*gemv.f
add_library(DBLAS2OBJS OBJECT
gemv.c ger.c
trsv.c trmv.c symv.c
syr.c syr2.c gbmv.c
sbmv.c spmv.c
spr.c spr2.c
tbsv.c tbmv.c
tpsv.c tpmv.c
)
add_library(DBLAS3OBJS OBJECT
gemm.c symm.c
trsm.c syrk.c syr2k.c
omatcopy.c imatcopy.c
)
# trmm is trsm with a compiler flag set
add_library(TRMM_OBJ OBJECT trsm.c)
set_target_properties(TRMM_OBJ PROPERTIES COMPILE_DEFINITIONS TRMM)