make
|
make, args
or make
makes a Makefile for ARGS(1) in the current working directory.
args is a list of strings that looks like this:
[code_name, new1, new2, ..., "+", old1, old2, ...]
(Without ARGS, checks to be sure that existing Makefile has
correct MAKE_TEMPLATE for this platform.)
Each NEWi is a Yorick include file in the current working
directory, which will become a startup file for the new custom
version of Yorick you want to build. Each OLDi file is a
startup file for a previously built package; these must be in
either the Y_SITE/i0 or Y_SITE/contrib directories (or
have softlinks in the current working directory).
The matrix.i and fft.i packages are included by default; if you
want to override that default, specify "-matrix" and/or "-fft"
as part of the list of OLDi.
All the startup files must contain a MAKE-INSTRUCTIONS comment.
It should be placed near the top of each startup file.
This comment consists of a line containing slash* followed by
MAKE-INSTRUCTIONS then a number of lines with various keywords,
then the closing *slash on its own line. The recognized keywords
are:
SRCS = src1.c src2.c src3.f ...
LIB = pkg
DEPLIBS = dep1 dep2
NO-WRAPPERS
The SRCS keyword is mandatory; the others are all optional.
The SRCS are the source files which produce the compiled functions
referenced by the extern statements in the startup file which
contains this MAKE-INSTRUCTIONS comment. The extension ".f" or
".F" implies Fortran source code, which has some special configuration
fiddles (see Y_HOME/Maketmpl). You can continue the list by placing
a backslash \ at the end of a line; the list of SRCS stops after the
first line which does not end with \.
The LIB keyword specifies the name of the library for this package.
The library will actually be called libpkg.a and the load option will
be -lpkg (don't try to include these decoration in the name pkg you
supply). If the LIB keyword is not present, you will get no library,
and you won't be able to use this startup file as one of the OLDi in
any new custom versions of Yorick you may build in the future.
DEPLIBS is a list of any dependent libraries which the compiled
functions in SRCS may need. Do not include m (the libm math library)
or any Fortran libraries or other libraries related to or used by
Yorick itself here. Hopefully, you won't need DEPLIBS at all -- if
you do, you will probably need to tweek the Makefile to add correct
-L options so that libdep1, libdep2, etc can be found.
If none of the extern functions in this startup file has a
PROTOTYPE comment, add the NO-WRAPPERS keyword, otherwise don't.
See Y_HOME/Maketmpl for more information (start yorick and type
Y_HOME to find the directory name at your site).
To run this program in batch mode:
yorick -batch make.i
type this after you've moved to a new platform in order to
set the MAKE_TEMPLATE in the Makefile to the correct value
for this platform (Y_HOME is probably different)
yorick -batch make.i code_name new1 new2 ...
yorick -batch make.i code_name new1 new2 ... + old1 old2 ...
type this to construct a new Makefile for code_name
if a Makefile already exists, it simply performs the check as
above; if you want to rebuild a new Makefile, you need to
remove or change the name of the old one by hand
interpreted function, defined at i/make.i line 10
|