mainYet Another Makefile - Summary

Show feedback again
Membership Info
Project Admin:
1 active member

Group identification
Id: #793
System Name: yam
Name: Yet Another Makefile
Group Type: Programs

Search in this Group


The main goal is to write a Makefile for all usual task of different kind of project. current supported projects are: c/c++, latex and scripts.
For c/c++, the goal is to "replace" autoconf, automake, etc. with a unique and generic Makefile.
a GNU compatible make is required !
Main goals:
<li>facilitate developers, compilers and installers work</li>
<li>do everything autoconf automake and all theses f&@/#ing scripts does. except maximal portability because of using gnu-make specific fonction.</li>
<li>keep same variables/output/use of theses scripts, as soon as possible. Dont broke familiarity.</li>
<li>Dont add external binaries. Just use make, bash, grep, sed, etc. and nothing else.</li>
<li>Keep easy use and installation for small projects, like simply copying the Makefile under the root directory of the project.</li>
<li>Keep transparency of what is done. Avoid the "black box" and the "usine à gaz" effects as soon as possible. Remember the first goal.</li>
YAMakefile can be run in three mode:
<li>single file: there is one big Makefile containing everything, options and all YAMakefile code: easy to deploy difficult to update to a next version of YAMakefile. No installation of YAMakefile is required.</li>
<li>two file: a Makefile with only the options set by the developper and a Makefile.unroll with all the YAMakefile related code: easier to update to a next version of YAMakefile. No installation of YAMakefile is required.</li>
<li>with YAMakefile installed on the system: a small Makefile only with options is present in the project dir and YAMakefile use the code provided by the installation.</li>
Available commands:
<li>Common commands:
<li>'clean/distclean/maintainer-clean' usual commands</li>
<li>'archive' usual command</li>
<li>'backup' do an archive and put in a backup dir</li>
<li>'[un]install' usual command</li>
<li>'rpm' build an rpm (currently tested on Mandrake only)</li>
<li>'copyright' add copyright names to source files</li>
<li>'license' add License statement to source files</li>
<li>'COPYING' generate the COPYING file from a choosen licence</li>
<li>'INSTALL' generate the INSTALL file</li>
<li>'check' check if libraries are present</li>
<li>'configure' do a check and modify options</li>
<li>'count' some statistics on the document</li>
<li>'show' run your prefered viewer ...</li>

Registration Date: Mon Oct 18 14:36:36 2004
License: GNU Lesser General Public License
Development Status: ? - Orphaned/Unmaintained


Latest News 
version 0.15.0
     posted by norwin, Mon Oct 18 20:34:13 2004 - 0 replies

first release

[Submit News]
[1 news in archive]

Communication Tools

Show feedback again

Back to the top

Powered by Savane 3.1-cleanup