makefile

来自「famous linear algebra library (LAPACK) p」· 代码 · 共 86 行

TXT
86
字号
!include <..\..\make.inc>

#######################################################################
#  This is the makefile to create a library of the test matrix
#  generators used in LAPACK.  The files are organized as follows:
#
#     SCATGEN  -- Auxiliary routines called from both REAL and COMPLEX
#     DZATGEN  -- Auxiliary routines called from both DOUBLE PRECISION
#                 and COMPLEX*16
#     SMATGEN  -- Single precision real matrix generation routines
#     CMATGEN  -- Single precision complex matrix generation routines
#     DMATGEN  -- Double precision real matrix generation routines
#     ZMATGEN  -- Double precision complex matrix generation routines
#
#  The library can be set up to include routines for any combination
#  of the four precisions.  To create or add to the library, enter nmake
#  followed by one or more of the precisions desired.  Some examples:
#       nmake single
#       nmake single complex
#       nmake single double complex complex16
#  Alternatively, the command
#       nmake
#  without any arguments creates a library of all four precisions.
#  The library is called
#       tmglib.a
#  and is created at the LAPACK directory level.
#
#  To remove the object files after the library is created, enter
#       nmake clean
#
#######################################################################
 
SCATGEN = slatm1.obj slaran.obj slarnd.obj

SMATGEN = slatms.obj slatme.obj slatmr.obj \
   slagge.obj slagsy.obj slakf2.obj slarge.obj slaror.obj slarot.obj slatm2.obj \
   slatm3.obj slatm5.obj slatm6.obj

CMATGEN = clatms.obj clatme.obj clatmr.obj \
   clagge.obj claghe.obj clagsy.obj clakf2.obj clarge.obj claror.obj clarot.obj \
   clatm1.obj clarnd.obj clatm2.obj clatm3.obj clatm5.obj clatm6.obj

DZATGEN = dlatm1.obj dlaran.obj dlarnd.obj

DMATGEN = dlatms.obj dlatme.obj dlatmr.obj \
   dlagge.obj dlagsy.obj dlakf2.obj dlarge.obj dlaror.obj dlarot.obj dlatm2.obj \
   dlatm3.obj dlatm5.obj dlatm6.obj

ZMATGEN = zlatms.obj zlatme.obj zlatmr.obj \
   zlagge.obj zlaghe.obj zlagsy.obj zlakf2.obj zlarge.obj zlaror.obj zlarot.obj \
   zlatm1.obj zlarnd.obj zlatm2.obj zlatm3.obj zlatm5.obj zlatm6.obj

all:	..\..\$(TMGLIB)

ALLOBJ=$(SMATGEN) $(CMATGEN) $(SCATGEN) $(DMATGEN) $(ZMATGEN)	\
	$(DZATGEN)

..\..\$(TMGLIB): $(SMATGEN) $(CMATGEN) $(SCATGEN) $(DMATGEN)	\
		$(ZMATGEN) $(DZATGEN)
	$(ARCH) $(ARCHFLAGS)$@ $(ALLOBJ)
	$(RANLIB) $@

single: $(SMATGEN) $(SCATGEN)
	$(ARCH) $(ARCHFLAGS)..\..\$(TMGLIB) $(SMATGEN) $(SCATGEN)
	$(RANLIB) ..\..\$(TMGLIB)

complex: $(CMATGEN) $(SCATGEN)
	$(ARCH) $(ARCHFLAGS)..\..\$(TMGLIB) $(CMATGEN) $(SCATGEN)
	$(RANLIB) ..\..\$(TMGLIB)

double: $(DMATGEN) $(DZATGEN)
	$(ARCH) $(ARCHFLAGS)..\..\$(TMGLIB) $(DMATGEN) $(DZATGEN)
	$(RANLIB) ..\..\$(TMGLIB)

complex16: $(ZMATGEN) $(DZATGEN)
	$(ARCH) $(ARCHFLAGS)..\..\$(TMGLIB) $(ZMATGEN) $(DZATGEN)
	$(RANLIB) ..\..\$(TMGLIB)

clean: ; \
        $(DEL) -f *.obj

.f.obj: ; $(FORTRAN) $(OPTS) $(CFLAGS) $< $(OBJFLAGS)$@

slaran.obj: slaran.f ; $(FORTRAN) $(NOOPT) $(CFLAGS) $? $(OBJFLAGS)$@
dlaran.obj: dlaran.f ; $(FORTRAN) $(NOOPT) $(CFLAGS) $? $(OBJFLAGS)$@

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?