GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
aemakegen(1) aemakegen(1)

aemakegen - generate a Makefile.in from file manifest

aemakegen [ option... ][ filename... ]
aemakegen -Help
aemakegen -VERSion

The aemakegen command is used to generate a Makefile.in file from a file manifest. The search path and file manifest is derived from Aegis meta‐data. File names on the command line are considered to be additional files, and will be added to the manifest.

The aemakegen command assumes a particular project structure. This is as follows:
lib/
The lib directory contains C++ files to be compiled, and placed into the lib/lib.a file, to be linked with the other executables. (You can override this with the aemakegen:library‐directory project specific attribute.)
libproject/
An alternative name to lib, above.

If there is a libproject/libproject.h file, this is installed as $(prefix)/include/libproject/libproject.h and any project file it includes in turn are also installed below $(prefix)/include/libproject/

prog/
The source for each executable is contained in its own directory. Which directories contain programs are determined by the presence of a main.c or main.cc file.

As a special case, files named test/name/* will be linked as an executable bin/test_name

bin/
Each program is compiled and linked, with the executable placed in the bin directory.
datadir/
These files will be installed into the $(DATADIR)/project‐name/ directory.
datarootdir/
These files will be installed into the $(DATAROOTDIR)/ directory. This is usually meta‐data to tell other packages about this package's existence.
libdir/
These files will be installed into $(LIBDIR)/
test_*/
These commands are expected to be in support of the check target and are compiled but not installed. (Can use a minus rather than an underscore, if you prefer.)
noinst_*/
These commands are expected to be in support of the build, or the check target, and are compiled but not installed. (Can use a minus rather than an underscore, if you prefer.)

If the configure.ac file contains certain lines, additional features will be added to the file. These include:
AC_CHECK_PROGS(GROFF,
The project uses the groff(1) and the GNU Groff documentation suite.
AC_CHECK_PROGS(LIBTOOL, ...
This will cause the library to be built as a shared library, and installed so as to make it accessible to the programs linked against it. Note that you can set the project_specific attribute aemakegen:libtool to true for the same effect.
AC_CHECK_PROGS(SOELIM,
One of the programs in the GNU Groff documentation suite.
AC_EXEEXT
The makefile defines the $(EXEEXT) macro, for executable file extensions.
AC_LANG([C])
The source files are all assumed to be in C.
AC_LANG([C++])
The source files are all assumed to be in C++.
AC_LANG_C
The source files are all assumed to be in C.
AC_LANG_CPLUSPLUS
The source files are all assumed to be in C++.
AC_LIBEXT
The makefile defines the $(LIBEXT) macro, for library file extensions.
AC_OBJEXT
The makefile defines the $(OBJEXT) macro, for object file extensions.
AC_PROG_LIBTOOL
Synonym for the longer libtool form, above.
AC_PATH_XTRA
The project uses the X11 window system.

The following project_specific attributes are known:
aemakegen:debian:brief−description:package
Used by the debian target to set the first line of the Description field of each package.
aemakegen:debian:build‐depends
Used by the debian target to set the Build‐Depends.
aemakegen:debian:conflicts:package
Used by the debian target to set the Conflicts field of each package.
aemakegen:debian:description:package
Used by the debian target to set the Description field of each package.
aemakegen:debian:dm‐upload‐allowed
Used by the debian target. If true, the DM‐Upload‐Allowed field will be set to yes.
aemakegen:debian:homepage
Used by the debian target to set the homepage. Omitted of not set.
aemakegen:debian:priority
Used by the debian target to set the priority. Defaults to "extra" if not set.
aemakegen:debian:maintainer
Used by the debian target to set the maintainer.
aemakegen:debian:provides:package
Used by the debian target to set the Provides field of each package.
aemakegen:debian:recommends:package
Used by the debian target to set the Recommends field of each package.
aemakegen:debian:replaces:package
Used by the debian target to set the Replaces field of each package.
aemakegen:debian:section
Used by the debian target to set the section. Defaults to "unknown" if not set.
aemakegen:debian:suggests:package
Used by the debian target to set the Suggests field of each package.
aemakegen:libtool
Boolean, whether or not to use libtool(1) to build the project's libraries. This is of most interest to projects which build shared libraries.
aemakegen:rpm‐spec:build‐requires
Additional packages required to build the project.
aemakegen:rpm‐spec:description
A description of the project.
aemakegen:version‐info
String; the shared library's version number (completely different and separate to the project version, see libtool(1) for discussion). Three colon‐separated decimal numbers. Defaults to 0:0:0 if not set.

The following change set attributes are known:
aemakegen:debian:accepted
Normally, when the “debian/changelog” file is written, it gathers up all of the Debian “Changed” information, and places it into the change‐log entry for the first (i.e. most recent) change in the changelog. This ensures it will be transferred into the “*.changes” files. If a change set is marked with aemakegen:debian:accepted=true, it drops all of the “Closed” information, as this has already been processed by the Debian bug tracking system.

The following file attributes are known:
aemakegen:noinst
boolean. If true, aemakegen(1) will not cause the program to be installed. Usually attached to the source file containing the main function, or to script files. Defaults to false if not defined (i.e. do install program).

The following options are understood:
-Change number
This option may be used to specify a particular change within a project. See aegis(1) for a complete description of this option.
-Output filename
This option may be used to specify the output file. The output is sent to the standard output by default.
-Project name
This option may be used to select the project of interest. When no -Project option is specified, the AEGIS_PROJECT environment variable is consulted. If that does not exist, the user's $HOME/.aegisrc file is examined for a default project field (see aeuconf(5) for more information). If that does not exist, when the user is only working on changes within a single project, the project name defaults to that project. Otherwise, it is an error.
-SCRipt pattern
This option may be used to nominate file which are scripts. The patterns are normal shell file name globbing patterns, so you may need to quote it. You may use this option more than once. Scripts in the script/ or scripts/ directories will be installed. Scripts with a basename starting with test_ will be build to support the “make check” target.
-TArget name
The option may be used to select the desired output format by name. The known names are:
automake
Generate automake(1) input, suitable for use as a top‐level Makefile.am file.
makefile
Generate make(1) input, suitable for as as a top‐level Makefile.in file. This is the default.
debian
Generate the debian/ directory contents, which will exactly match the Makefile generated by the above two.
pkg‐config
Generate a pkg‐config(1) configuration (.pc) file. It will exactly match the above targets, provided they expect to see this output in a .pc file in the manifest, or are given on on the command line.
rpm‐spec
Generate an RPM .spec file, for use with rpm‐build(1).
-Help

This option may be used to obtain more information about how to use the aemakegen program.

See also aegis(1) for options common to all aegis commands.

All options may be abbreviated; the abbreviation is documented as the upper case letters, all lower case letters and underscores (_) are optional. You must use consecutive sequences of optional letters.

All options are case insensitive, you may type them in upper case or lower case or a combination of both, case is not important.

For example: the arguments “-project”, “-PROJ” and “-p” are all interpreted to mean the -Project option. The argument “-prj” will not be understood, because consecutive optional characters were not supplied.

Options and other command line arguments may be mixed arbitrarily on the command line, after the function selectors.

The GNU long option names are understood. Since all option names for aemakegen are long, this means ignoring the extra leading '-'. The “--option=value” convention is also understood.

The aemakegen command will exit with a status of 1 on any error. The aemakegen command will only exit with a status of 0 if there are no errors.

See aegis(1) for a list of environment variables which may affect this command. See aepconf(5) for the project configuration file's project_specific field for how to set environment variables for all commands executed by Aegis.

aemakegen version 4.25.D510
Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Peter Miller

The aemakegen program comes with ABSOLUTELY NO WARRANTY; for details use the 'aemakegen -VERSion License' command. This is free software and you are welcome to redistribute it under certain conditions; for details use the 'aemakegen -VERSion License' command.

Peter Miller E‐Mail: pmiller@opensource.org.au
/\/\* WWW: http://miller.emu.id.au/pmiller/
Aegis Reference Manual

Search for    or go to Top of page |  Section 1 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.