SOURCE = omk-manual
+VERSION ?= $(shell date +%Y-%m-%d)
+
+.PHONY: FORCE
all: $(SOURCE).pdf $(SOURCE).txt $(SOURCE).html
+.version: FORCE
+ echo $(VERSION) | cmp -s $@ - || echo $(VERSION) > $@
+
+%.texi: %.texinfo .version
+ sed -e 's/\$$Id\$$/$(VERSION)/g' < $< > $@
+
PNG_FIGS = $(wildcard *.png)
PDF_FIGS = $(patsubst %.png,%.pdf,$(PNG_FIGS))
%.pdf: %.png
convert $< -density 150 $@
-$(SOURCE).pdf: $(SOURCE).texinfo $(PDF_FIGS)
+%.pdf: %.texi $(PDF_FIGS)
texi2dvi --pdf $<
texi2dvi --pdf $<
-$(SOURCE).txt: $(SOURCE).texinfo
+%.txt: %.texi
makeinfo --no-headers --force -o $@ $<
-$(SOURCE).html: $(SOURCE).texinfo
+%.html: %.texi
makeinfo --html --no-split -o $@ $<
# texi2html --l2h $<
# Fix texinfo HTML output
# mv $@.tmp $@
clean:
- rm -f $(SOURCE).{aux,cp,cps,fn,ky,log,pg,toc,tp,vr,vrs} $(PDF_FIGS)
+ rm -f $(SOURCE).{aux,cp,cps,fn,ky,log,pg,toc,tp,vr,vrs} $(PDF_FIGS) .version
WWW ?= www
\input texinfo @c -*-texinfo-*-
@c %**start of header
@setfilename omk-manual
+@documentencoding UTF-8
@settitle OMK: Ocera Make System
@c %**end of header
@copying
-Manual for Ocera Make System (OMK)
+Manual for Ocera Make System (OMK) version $Id$
-Copyright @copyright{} 2007 Michal Sojka, Pavel Pisa
+Copyright @copyright{} 2007, 2008 Michal Sojka, Pavel Píša
@end copying
@titlepage
@cindex overview
OMK is an advanced make system written entirely in GNU make. Compiling
-software using OMK requires only GNU make binary and standard UNIX
-utilities (@command{sh}, @command{sed}, @command{cmp} and
-@command{tr}@footnote{@command{tr} is needed only for OMK to be
-compatible with MinGW.}) installed. OMK aims to be developer friendly;
-to use OMK, you do not need to understand (sometimes) cryptic syntax of
-Makefiles.
+software using OMK requires only GNU Make and standard UNIX
+utilities (@command{sh}, @command{sed}, @command{cmp}, ...)
+installed. OMK aims to be developer friendly; to use OMK, you do not
+need to understand (sometimes) cryptic syntax of Makefiles.
You can use OMK on all platforms where you can run GNU Make including
Cygwin and MinGW. MS DOS was not tested.
@end itemize
+
+
@node Quick Start, History, Why to Use OMK?, Overview of OMK
@section Quick Start
@enumerate
@item
- Take appropriate @file{Makefile.rules}, put it together with leaf
- @file{Makefile} to the root directory of your project.
+ The newest version of OMK can be found at @uref{http://rtime.felk.cvut.cz/omk/}.
+@item
+ Take appropriate @file{Makefile.rules} (see @ref{Properties of
+ Specific Makefile.rules}), put it together with leaf @file{Makefile}
+ to the root directory of your project.
@item
Create @file{Makefile.omk} files in all directories you want to
compile something. Please refer to @ref{OMK User's Manual} to learn
@node History, , Quick Start, Overview of OMK
@section History
-OMK was originally written by Pavel Pisa as a solution to have one
+OMK was originally written by Pavel Píša as a solution to have one
common make system for OCERA project, where we needed to compile
user-space programs, Linux kernel modules and RT Linux modules in one
package. Although this system was not accepted for the whole OCERA
I have put together package similar to release. Only ./configure --prefix=...
and make is required. CVS sources contains version 3.81beta1.
You can download prepared sources archive from
- @indicateurl{http://paulandlesley.org/make/make-3.81beta1.tar.bz2}
+ @uref{http://paulandlesley.org/make/make-3.81beta1.tar.bz2}
Or you can get our local copy from
- @indicateurl{http://cmp.felk.cvut.cz/~pisa/can/make-3.81beta1.tar.gz}
+ @uref{http://cmp.felk.cvut.cz/~pisa/can/make-3.81beta1.tar.gz}
The archive contains even "make" binary build by me, which should work
on other Linux distributions as well. Older version of MAKE (3.79.x
The local CTU archive with our CAN components prepared for inclusion
into OCERA SF CVS could be found in my "can" directory
- @indicateurl{http://cmp.felk.cvut.cz/~pisa/can/ocera-can-031212.tar.gz}
+ @uref{http://cmp.felk.cvut.cz/~pisa/can/ocera-can-031212.tar.gz}
The code should build for user-space with new make on most of Linux distros
when make is updated.