~ubuntu-branches/ubuntu/lucid/judy/lucid

« back to all changes in this revision

Viewing changes to make_includes/README

  • Committer: Bazaar Package Importer
  • Author(s): Troy Heber
  • Date: 2005-03-22 06:55:53 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20050322065553-syjpkd48r4re18dn
Tags: 1.0.1-5

* Moving LGPL link in copyright back to LGPL-2.1
* Cleanup of debian/rules: removed explicit refs to 32-bit archs, removed
  unnecessary nostrip, using --man dir to install man pages, moving from
  dh_movefiles to dh_install.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# @(#) $Revision: 4.17 $ $Source: /judy/make_includes/README $
2
 
 
3
 
# This tree contains platform-specific and flavor-specific makefile fragments
4
 
# for inclusion by the judy/src/makefile.
5
 
#
6
 
# Quick build examples:
7
 
#
8
 
# PLATFORM=linux_ia32 FLAVOR=product make       # on Linux, no makelog.
9
 
# PLATFORM=hpux_ipf   FLAVOR=cov makelog
10
 
 
11
 
platform..mk            default platform; includes one of the other files
12
 
platform.hpux_pa.mk     PLATFORM=hpux_pa (on PA-RISC)
13
 
platform.hpux_ipf.mk    PLATFORM=hpux_ipf
14
 
platform.linux_ia32.mk  PLATFORM=linux_ia32
15
 
platform.bsd_ia32.mk    PLATFORM=*BSD_ia32
16
 
platform.alpha_64.mk    PLATFORM=alpha_64
17
 
platform.linux_ipf.mk   PLATFORM=linux_ipf
18
 
platform.win_ia32.mk    PLATFORM=win_ia32       # for building with MKS.
19
 
platform.win_ipf.mk     PLATFORM=win_ipf        # for building with MKS.
20
 
 
21
 
flavor..mk              default flavor; includes one of the other files
22
 
flavor.product.mk       FLAVOR=product; no debug, no assertions, etc.
23
 
flavor.cov.mk           FLAVOR=cov; same as product, but with C-Cover turned on
24
 
flavor.debug.mk         FLAVOR=debug; debuggable, assertions, etc.
25
 
 
26
 
 
27
 
# HOW TO BUILD JUDY FILES:
28
 
#
29
 
# MAKEFILE:  Judy uses a macro-driven global make(1) makefile.  Macro-driven
30
 
# means some variables are set according to the values of environment
31
 
# parameters.  Global means all sources and targets are known to a single
32
 
# global makefile, although it might eventually grow large, for optimum
33
 
# dependency management and the simplest makefile structure.  (Ref:  "Recursive
34
 
# Make Considered Harmful", found 2/2000 at
35
 
# <http://www.canb.auug.org.au/~millerp/rmch/recu-make-cons-harm.html>)
36
 
#
37
 
# MACROS:  The global top-level makefile includes files from this directory
38
 
# according to:
39
 
#
40
 
# $PLATFORM  defaults if unset; values are in platform.*.mk above
41
 
# $FLAVOR    defaults if unset; values are in flavor.*.mk above
42
 
#
43
 
# You can simply do a "make" with no settings, or for example:
44
 
#
45
 
#    FLAVOR=debug make
46
 
#
47
 
# ALL/SPECIFIC TARGETS:  By default, make with no arguments does a "make all".
48
 
# You can use the "lib" target ("make lib") to construct only libJudy.a and its
49
 
# dependees.  Other specific targets can be named, but you must know their
50
 
# paths to name them; see below about "source-pure" and "constructed files
51
 
# tree".  In general, the makefile is as smart as possible about dependencies
52
 
# and only rebuilds that which is out of date.  Use "make clobber" for a fresh
53
 
# start (specific to a given flavor).
54
 
#
55
 
# LOGGING:  Also consider the use of the local makelog command, a drop-in
56
 
# wrapper replacement for make, that you invoke instead of make, that does nice
57
 
# summarizing and detailed logging.  The Judy makefile is arranged to work well
58
 
# with makelog.
59
 
#
60
 
# BE-PURE:  The Judy build is "BE-pure" in that it writes nothing to the build
61
 
# environment, that is, nothing above the top of the source tree.
62
 
#
63
 
# SOURCE-PURE:  The Judy build is "source-pure" in that it writes no
64
 
# constructed files to the source tree except under flavor-specific
65
 
# subdirectories.  Hence you can build multiple flavors from the same source
66
 
# tree.  However, you cannot run parallel multi-flavor compilations because of
67
 
# temporary files dropped in the source tree, say by cc(1).
68
 
#
69
 
# CONSTRUCTED FILES TREE:  For more on the structure of the flavor-specific
70
 
# constructed files, do a full make and then study the tree, or look at the
71
 
# definitions in the makefile.
72
 
#
73
 
# BUILD ID:  The Judy makefile contains support for always rebuilding a build
74
 
# ID file that is used to insert a build ID whatstring/identstring into
75
 
# constructed delivered objects.  So don't worry about this being reconstructed
76
 
# every time you run make.
77
 
#
78
 
# UNBUILDING:  The use of make(1) means "unbuilding" is not known explicitly by
79
 
# the tool, so instead there are "clean" and "clobber" targets.
80
 
#
81
 
# COMPILATION OPTIONS:
82
 
#
83
 
# EXTCCOPTS:  Add options to compilation commands via EXTCCOPTS, such as:
84
 
#
85
 
#       EXTCCOPTS='-DTRACEJP' make
86
 
#
87
 
# CCPRE:  Alter compilation commands produced by this makefile by putting
88
 
# "CCPRE=<command>" on the make command line.  This is supported by
89
 
# make_includes/*.mk files.  See tool/ccpre for an example.
90
 
#
91
 
# Note:  flavor.cov.mk forces the used of tool/ccpre; see that *mk file.
92
 
#
93
 
# Warning:  If you get a core dump from make when you do this, try something
94
 
# like this:  "CCPRE='echo;ccpre' ..."  Apparently 10.20 make gets ill if the
95
 
# first command in a script is lengthy (not sure).
96
 
#
97
 
# OTHER NOTES:
98
 
#
99
 
# * At least for now, the Judy makefile is no longer "top level", because it
100
 
#   lives in judy/src, which is now down one level.  It delivers some files
101
 
#   drawn from a higher level in the Judy tree than the source directory.
102
 
#
103
 
# * Nothing in the makefile explicitly depends on the makefile itself, though
104
 
#   anything might, but making everything depend on it is too coarse.  Use
105
 
#   appropriate wisdom.
106
 
#
107
 
# * For building object files from common source files, build directly using cc
108
 
#   -D, not by running unifdef first, to support clean source debugging.  But
109
 
#   for calling lint, use unifdef first to create *.c files, and run lint on
110
 
#   those, so as to do single lint runs of multiple *.c files.
111
 
#
112
 
# * On 010301 we decided not to ship JudyNL for the 11i release because we are
113
 
#   not sure the API is solid enough, and there was not much interest shown in
114
 
#   using it in the Judy III version, unlike JudySL.  Also, Judy2L was of
115
 
#   course not documented yet.  So both, along with the manual entries, are
116
 
#   commented out for now in this makefile, but only at the critical points
117
 
#   required to keep them from going into the libraries or docs.