cymake-0.9.11

Langue: en

Autres versions - même langue

Version: 370154 (fedora - 01/12/10)

Section: 1 (Commandes utilisateur)


BSD mandoc

NAME cymake , cymake-0.9.11

- A make like build tool for Curry programs.

SYNOPSIS

[option ... ] target ...

DESCRIPTION

is a make(1) like tool for compiling Curry programs. Dependencies are automatically extracted from the source files; there is no need to construct or maintain a Makefile.

accepts options and file names on the command line in an arbitrary order. The file arguments determine what to compile. If target is the name of an executable (i.e. it has no extension), target .lcurry or target .curry is assumed to contain the main module of the program. All modules it depends on are compiled (if necessary) and linked to an executable. If target is the name of a source module (i.e. it ends in .lcurry or .curry or an object module (i.e. it ends in .o then the object file for that module is generated. Archive files and shared libraries (i.e. files ending with .a .so .dylib or .dll are not targets, but passed as additional arguments to the linker.

allows several programs to reside in the same directory. Modules can be shared between several programs. Directories to search for modules can be specified with the -i flag, in the same way as for cyc(1). In addition, directories which are searched for interfaces of library modules can be specified with the -P flag.

correctly handles the fact that the Curry compiler generates two files, an object file and an interface file, for each module compiled.

Options

understands the following options:
-n
No execution mode. Print commands but do not execute them.
-q
Quiet mode. Do not print commands before executing them.
-M
Output a Makefile compatible dependency list on the standard output.
--find
For each command line target t will print a line of the form t : f where f is the name of the source or interface file corresponding to t If t is a module name, will look for the source or interface file first in the current directory and then along the search path. If no file is found, f is empty.
-a
Always link the executable, even if it is not out of date with respect to its object files. This is useful if only the goal to be evaluated by the program is changed.
-e goal
Evaluate goal instead of function main This option cannot be used when compiling more than one module.
-T goal
Compute the type of goal This option cannot be used when compiling more than one module.
--debug
Compile the program for use with the debugger. As object files compiled with --debug cannot be linked with object files compiled without --debug uses the suffix .d.o instead of .o for object files when this option is specified.
-i dir
Add directory dir to the list of paths used to locate imported modules. By default, the compiler searches only the current directory for source files. Note that the current directory is always searched first.

The directory dir is also added to the list of paths used to locate C header files, as if -I dir was present on the command line.

-P dir
Add directory dir to the list of paths used to locate interface files for library modules. By default, the compiler searches for interface files in its standard library directory /usr/lib64/curry-0.9.11

The directory dir is also added to the lists of paths used to locate C header files and libraries, respectively, as if -I dir and -L dir were present on the command line.

The compiler scans the directories specified with -P before the installation directory; thus, it is possible to hide the interfaces of the standard library by using this option.

-o file
Puts the executable file in file This option cannot be used when compiling more than one module. This option is ignored if compiling to an object file.
--clean
Remove all compiled files for a program. If specified in conjunction with --debug only the object files for the debugger, i.e. with suffix .d.o are removed.

Most other flags are assumed to be compiler options and are passed to cyc when compiling and linking modules.

ENVIRONMENT

CURRY_PATH
The environment variable CURRY_PATH is used to locate the auxiliary executables used by . The default value is /usr/lib64/curry-0.9.11
CURRY_IMPORT_PATH
CURRY_INCLUDE_PATH
CURRY_LIBRARY_PATH
The environment variables CURRY_IMPORT_PATH CURRY_INCLUDE_PATH and CURRY_LIBRARY_PATH contain colon-separated lists of directories that are searched for imported interfaces, included header files, and library files, respectively. Their default value is $CURRY_PATH

FILES

/usr/bin/cyc-0.9.11
The Curry compiler.
/usr/lib64/curry-0.9.11/cymk
Dependency generator for Curry programs.
/usr/lib64/curry-0.9.11/newer
Helper program to determine if a target of out of date.
/usr/lib64/curry-0.9.11/*.icurry
Interface files for the standard library.

SEE ALSO

cyc(1), cyi(1)