1#
2#  Top Level Makefile for LAPACK
3#  Version 3.4.1
4#  April 2012
5#
6
7include make.inc
8
9all: lapack_install lib blas_testing lapack_testing
10
11lib: lapacklib tmglib
12#lib: blaslib variants lapacklib tmglib
13
14clean: cleanlib cleantesting cleanblas_testing cleancblas_testing
15
16lapack_install:
17	( cd INSTALL; $(MAKE); ./testlsame; ./testslamch; ./testdlamch; \
18	./testsecond; ./testdsecnd; ./testieee; ./testversion )
19
20blaslib:
21	( cd BLAS/SRC; $(MAKE) )
22
23cblaslib:
24	( cd CBLAS/src; $(MAKE) )
25
26lapacklib:	lapack_install
27	( cd SRC; $(MAKE) )
28
29lapackelib: lapacklib
30	( cd LAPACKE; $(MAKE) )
31
32cblas_example: cblaslib blaslib
33	( cd CBLAS/examples; $(MAKE) )
34
35lapacke_example: lapackelib
36	( cd LAPACKE/example; $(MAKE) )
37
38variants:
39	( cd SRC/VARIANTS ; $(MAKE))
40
41tmglib:
42	( cd TESTING/MATGEN; $(MAKE) )
43
44lapack_testing:	lib
45	( cd TESTING ; $(MAKE) )
46	./lapack_testing.py
47
48variants_testing: lib variants
49	( cd TESTING ; rm -f xlintst* ; $(MAKE)  VARLIB='SRC/VARIANTS/LIB/cholrl.a' ; \
50	mv stest.out stest_cholrl.out ; mv dtest.out dtest_cholrl.out ; mv ctest.out ctest_cholrl.out ; mv ztest.out ztest_cholrl.out )
51	( cd TESTING ; rm -f xlintst* ; $(MAKE)  VARLIB='SRC/VARIANTS/LIB/choltop.a' ; \
52	mv stest.out stest_choltop.out ; mv dtest.out dtest_choltop.out ; mv ctest.out ctest_choltop.out ; mv ztest.out ztest_choltop.out )
53	( cd TESTING ; rm -f xlintst* ; $(MAKE)  VARLIB='SRC/VARIANTS/LIB/lucr.a' ; \
54	mv stest.out stest_lucr.out ; mv dtest.out dtest_lucr.out ; mv ctest.out ctest_lucr.out ; mv ztest.out ztest_lucr.out )
55	( cd TESTING ;  rm -f xlintst* ; $(MAKE)  VARLIB='SRC/VARIANTS/LIB/lull.a' ; \
56	mv stest.out stest_lull.out ; mv dtest.out dtest_lull.out ; mv ctest.out ctest_lull.out ; mv ztest.out ztest_lull.out )
57	( cd TESTING ;  rm -f xlintst* ; $(MAKE)  VARLIB='SRC/VARIANTS/LIB/lurec.a' ; \
58	mv stest.out stest_lurec.out ; mv dtest.out dtest_lurec.out ; mv ctest.out ctest_lurec.out ; mv ztest.out ztest_lurec.out )
59	( cd TESTING ;  rm -f xlintst* ; $(MAKE)  VARLIB='SRC/VARIANTS/LIB/qrll.a' ; \
60	mv stest.out stest_qrll.out ; mv dtest.out dtest_qrll.out ; mv ctest.out ctest_qrll.out ; mv ztest.out ztest_qrll.out )
61
62blas_testing:
63	( cd BLAS/TESTING; $(MAKE) -f Makeblat1 )
64	( cd BLAS; ./xblat1s > sblat1.out    ; \
65	           ./xblat1d > dblat1.out    ; \
66	           ./xblat1c > cblat1.out    ; \
67	           ./xblat1z > zblat1.out    )
68	( cd BLAS/TESTING; $(MAKE) -f Makeblat2 )
69	( cd BLAS; ./xblat2s < sblat2.in     ; \
70	           ./xblat2d < dblat2.in     ; \
71	           ./xblat2c < cblat2.in     ; \
72	           ./xblat2z < zblat2.in     )
73	( cd BLAS/TESTING; $(MAKE) -f Makeblat3 )
74	( cd BLAS; ./xblat3s < sblat3.in     ; \
75	           ./xblat3d < dblat3.in     ; \
76	           ./xblat3c < cblat3.in     ; \
77	           ./xblat3z < zblat3.in     )
78
79cblas_testing: blaslib
80	( cd CBLAS ; $(MAKE) cblas_testing)
81	( cd CBLAS ; $(MAKE) runtst)
82
83
84
85html:
86	@echo "LAPACK HTML PAGES GENRATION with Doxygen"
87	doxygen DOCS/Doxyfile
88	@echo "=================="
89	@echo "LAPACK HTML PAGES GENRATED in DOCS/explore-html"
90	@echo "Usage: open DOCS/explore-html/index.html"
91	@echo "Online version available at http://www.netlib.org/lapack/explore-html/"
92	@echo "=================="
93
94man:
95	@echo "LAPACK MAN PAGES GENRATION with Doxygen"
96	doxygen DOCS/Doxyfile_man
97	@echo "=================="
98	@echo "LAPACK MAN PAGES GENRATED in DOCS/MAN"
99	@echo "Set your MANPATH env variable accordingly"
100	@echo "Usage: man dgetrf.f"
101	@echo "=================="
102
103cleanlib:
104	( cd INSTALL; $(MAKE) clean )
105	( cd BLAS/SRC; $(MAKE) clean )
106	( cd CBLAS; $(MAKE) clean )
107	( cd SRC; $(MAKE) clean )
108	( cd SRC/VARIANTS; $(MAKE) clean )
109	( cd TESTING/MATGEN; $(MAKE) clean )
110	( cd LAPACKE; $(MAKE) clean )
111
112
113cleanblas_testing:
114	( cd BLAS/TESTING; $(MAKE) -f Makeblat1 clean )
115	( cd BLAS/TESTING; $(MAKE) -f Makeblat2 clean )
116	( cd BLAS/TESTING; $(MAKE) -f Makeblat3 clean )
117	( cd BLAS; rm -f xblat* )
118
119cleancblas_testing:
120	( cd CBLAS; $(MAKE) cleanexe )
121
122cleantesting:
123	( cd TESTING/LIN; $(MAKE) clean )
124	( cd TESTING/EIG; $(MAKE) clean )
125	( cd TESTING; rm -f xlin* xeig* )
126
127cleanall: cleanlib cleanblas_testing cleancblas_testing cleantesting
128	rm -f *.a TESTING/*.out INSTALL/test*  BLAS/*.out
129
130