aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Pashev <igor.pashev@nexenta.com>2012-10-02 21:35:13 +0400
committerIgor Pashev <igor.pashev@nexenta.com>2012-10-02 21:35:13 +0400
commit0e65b379a1d8eb1f629fa24361900ccc70a8a27f (patch)
tree8f86e2a434cab720d7c719574acd12e83f3ee2e3
parent96298ca5123df41976dce538d56eb7a75aaeb950 (diff)
downloadcibs-0e65b379a1d8eb1f629fa24361900ccc70a8a27f.tar.gz
Describe rules/common.mk
-rw-r--r--README.md21
-rw-r--r--rules/common.mk12
2 files changed, 26 insertions, 7 deletions
diff --git a/README.md b/README.md
index db393da..4f62eb3 100644
--- a/README.md
+++ b/README.md
@@ -16,7 +16,7 @@ Major features are:
To create and publish an IPS package you need:
* CIBS package installed (`pkg:/developer/pkg/cibs`)
-* Makefile describing what and how you are building
+* `Makefile` describing what and how you are building
* At least one canonical IPS manifest.
@@ -24,6 +24,25 @@ Look into directory `examples` for examples.
# CIBS modules
+## common.mk
+
+This module defines common variables and targets. All other modules include this module,
+and it should not be included directly, unless you are doing something really special.
+
+### Targets provided by common.mk
+
+All targets provided by this module are abstract and do nothing. Other modules extend
+these targets. Each target (but `clean`) has its annex `target-stamp` which does
+the real job. Each `*-stamp` is a file created with `touch` command. All internal
+dependencies are implemented through these "stamps", but developer can use only basename
+for target, e. g. `make unpack` instead of `make unpack-stamp`.
+
+* `unpack` -
+* `patch` -
+* `configure` -
+* `build` -
+* `install` -
+
## ips.mk
This module provides functions to work with IPS manifests and publish packages.
diff --git a/rules/common.mk b/rules/common.mk
index afbe0cb..eb003ee 100644
--- a/rules/common.mk
+++ b/rules/common.mk
@@ -35,13 +35,13 @@ mach := $(shell uname -p)
mach32 :=
mach64 := amd64
-workdir := $(CURDIR)/work
-sourcedir := $(workdir)/source
-destdir.32 := $(workdir)/proto/32
-destdir.64 := $(workdir)/proto/64
-builddir.32 := $(workdir)/build/32
-builddir.64 := $(workdir)/build/64
+workdir := $(CURDIR)/work
+sourcedir := $(workdir)/source
+destdir.32 := $(workdir)/proto/32
+destdir.64 := $(workdir)/proto/64
destdir.noarch := $(workdir)/proto/noarch
+builddir.32 := $(workdir)/build/32
+builddir.64 := $(workdir)/build/64
builddir.noarch := $(workdir)/build/noarch
CC.32 = gcc -m32