Writing Makefiles

From GNUstepWiki

(Difference between revisions)
Revision as of 18:12, 2 September 2006
Madleser (Talk | contribs)
placeholder
← Previous diff
Current revision
Multix (Talk | contribs)

Line 1: Line 1:
-See [http://www.gnustep.org/resources/documentation/Developer/Make/Manual/make_toc.html the Make manual] on the website.+== Tutorials and documentation ==
 + 
 +For further reading:
 + 
 +* [http://www.gnustep.it/nicola/Tutorials/WritingMakefiles/ GNUstep Make tutorial]
 +* [http://www.gnustep.org/resources/documentation/Developer/Make/Manual/make_toc.html GNUstep Make manual]
 + 
 +== Releasing ==
 + 
 +To aid the developer and the packager, gGNUstep make has special targets which aid the maintenance.
 + 
 +Some parameters need to be set in the GNUmakefile for this to work properly.
 + 
 +<pre>
 +PACKAGE_NAME=<package name>
 +VERSION=<version identifier>
 +</pre>
 + 
 +=== dist ===
 + 
 +Creates the classic tarball, using the sources of the directory project. It uses the makefile information to name and version the package. Be sure that you don't have any spurious files around (coredumps, temporary editor files, binaries...)
 + 
 +=== cvs-tag ===
 + 
 +Tags the release on CVS.
 + 
 +Be sure your gnustep makefile is properly set up and contains:
 + 
 +<pre>
 +VERSION=x.x.x
 +CVS_MODULE_NAME=<module name>
 +CVS_TAG_NAME=<tag name, typically the project name>
 +</pre>
 + 
 +=== cvs-dist ===
 + 
 +Creates a tarball by exporting the files directly from the CVS revision control system. It guarantees, compared to dist, that the sources are clean.
 + 
 +The sources need to be tagged before.
 + 
 +=== svn-tag ===
 + 
 +Tags the release on SVN.
 + 
 +Be sure your gnustep makefile is properly set up and contains:
 + 
 +<pre>
 +VERSION=x.x.x
 +SVN_MODULE_NAME = <module name>
 +SVN_BASE_URL=svn+ssh://<server>/<path>
 +SVN_TAG_NAME=<tag name, typically the project name>
 +</pre>
 + 
 +=== svn-dist ===
 + 
 +Creates a tarball by exporting the files directly from the SVN revision control system. It guarantees, compared to dist, that the sources are clean.
 + 
 +The sources need to be tagged before.

Current revision

Contents

Tutorials and documentation

For further reading:

Releasing

To aid the developer and the packager, gGNUstep make has special targets which aid the maintenance.

Some parameters need to be set in the GNUmakefile for this to work properly.

PACKAGE_NAME=<package name>
VERSION=<version identifier>

dist

Creates the classic tarball, using the sources of the directory project. It uses the makefile information to name and version the package. Be sure that you don't have any spurious files around (coredumps, temporary editor files, binaries...)

cvs-tag

Tags the release on CVS.

Be sure your gnustep makefile is properly set up and contains:

VERSION=x.x.x
CVS_MODULE_NAME=<module name>
CVS_TAG_NAME=<tag name, typically the project name>

cvs-dist

Creates a tarball by exporting the files directly from the CVS revision control system. It guarantees, compared to dist, that the sources are clean.

The sources need to be tagged before.

svn-tag

Tags the release on SVN.

Be sure your gnustep makefile is properly set up and contains:

VERSION=x.x.x
SVN_MODULE_NAME = <module name>
SVN_BASE_URL=svn+ssh://<server>/<path>
SVN_TAG_NAME=<tag name, typically the project name>

svn-dist

Creates a tarball by exporting the files directly from the SVN revision control system. It guarantees, compared to dist, that the sources are clean.

The sources need to be tagged before.