~ubuntu-branches/ubuntu/precise/judy/precise

« back to all changes in this revision

Viewing changes to make_includes/platform.linux_ipf.mk

  • Committer: Bazaar Package Importer
  • Author(s): Theodore Y. Ts'o
  • Date: 2004-01-17 00:04:53 UTC
  • Revision ID: james.westby@ubuntu.com-20040117000453-d5sj6uoon2v1g4gf
Tags: upstream-0.0.4
ImportĀ upstreamĀ versionĀ 0.0.4

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# @(#) $Revision: 4.15 $ $Source: /judy/make_includes/platform.linux_ipf.mk $
 
2
 
 
3
# Makefile fragment for Judy* for platform "linux_ipf".
 
4
# See platform.hpux_pa.mk for more comments.
 
5
 
 
6
# Note that not all Linux systems have ksh.  Use the following shell instead
 
7
# because it should always be present and POSIX-compliant; avoid /bin/bash
 
8
# because it isn't; even if /bin/sh is a symlink to bash, the name matters.
 
9
 
 
10
SHELL   = /bin/sh
 
11
 
 
12
# For portability use the generic names for cc, ld, and ar, which are typically
 
13
# symlinks to more specific names, such as /usr/bin/cc -> /opt/ansic/bin/cc.
 
14
 
 
15
CCPATH  = /usr/bin/cc
 
16
LDPATH  = /usr/bin/ld
 
17
ARPATH  = /usr/bin/ar
 
18
AR      = $(ARPATH)
 
19
AR_OPT1 = -r
 
20
 
 
21
# Object file directories:
 
22
#
 
23
# $INTDIR is the location for intermediate (non-deliverable) constructed files,
 
24
# optionally including a suffix component for recursive make calls.
 
25
#
 
26
# $DELDIR is the CPF-standard "deliver/" followed by various paths for
 
27
# different files so they are in an appropriate place for delivery to an HPUX
 
28
# system.  Yes, this leads to annoyingly long full paths such as
 
29
# hpux_pa/product/deliver/usr/share/doc/Judy, but Judy-cious use of symlinks in
 
30
# the top of a personal sandbox can mitigate this.
 
31
#
 
32
# Note:  Through version 4.56, files were placed in deliver/opt/Judy, but in
 
33
# preparation for 11.11 OEUR delivery we decided they belong in various "core
 
34
# HPUX" locations under /usr on the filesystem (see below).
 
35
#
 
36
# Note:  For open source delivery, Judy files belong back in /opt/Judy; see the
 
37
# install target.
 
38
#
 
39
# Note:  For safety the values of $OBJDIR_OPT and the suffix of $DELDIR_DOC are
 
40
# hard-coded into the install and uninstall targets.
 
41
 
 
42
OBJDIR_OPT =    /opt/Judy
 
43
 
 
44
# For Linux, $DELDIR_LIB_SUFFIX is simply null.
 
45
 
 
46
DELDIR_LIB =    $(DELDIR)/usr/lib$(DELDIR_LIB_SUFFIX)
 
47
DELDIR_INC =    $(DELDIR)/usr/include
 
48
DELDIR_DOC =    $(DELDIR)/usr/share/doc/Judy
 
49
DELDIR_DEMO =   $(DELDIR_DOC)/demo
 
50
DELDIR_MAN =    $(DELDIR)/usr/share/man/man3$(MANDIR_SUFFIX)
 
51
 
 
52
# Use normal tools for building internal tools (programs):
 
53
 
 
54
CCPATH_TOOL = $(CCPATH)
 
55
 
 
56
# TBD:  Stock Linux does not have /usr/local/bin/cstrip, which is required for
 
57
# building constructed *.c files, which are only used (as of now) for lint:
 
58
 
 
59
CSTRIP  = cstrip_not_present
 
60
 
 
61
# HP-UX has rmnl(1) but Linux does not, so use grep instead; note the tab:
 
62
 
 
63
RMNL    = grep -v '^[   ]*$$'
 
64
 
 
65
# How to echo with escaped chars expanded; Linux /bin/sh = bash requires -e:
 
66
 
 
67
ECHO    = echo -e
 
68
PWD     = /bin/pwd
 
69
 
 
70
# Suffix for $LIB_ID (same as what's passed in $LIB_SUFFIX for a recursive
 
71
# make):
 
72
 
 
73
LIB_ID_SUFFIX = a
 
74
 
 
75
# Linker option to build a shared library:
 
76
#
 
77
# Note:  The gcc manual entry contains this ominous prose about the -shared
 
78
# option:  "Only a few systems support this option."  We'll see...
 
79
#
 
80
# TBD:  In the long run we should probably append a version number suffix to
 
81
# the library and use the ld -soname option (see the manual entry), but I think
 
82
# we can accomplish this later (at "version 2").  Also per the howto file (see
 
83
# http://www.ibiblio.org/pub/Linux/docs/HOWTO/GCC-HOWTO), it's possible the
 
84
# building should be done with gcc instead of ld.
 
85
 
 
86
LD_OPT_SL = -shared
 
87
 
 
88
# Optionally include PIC libs in tarchives:
 
89
 
 
90
TARCHIVE_LIBS_PIC = libs_pic
 
91
 
 
92
# Linux manual entries are compressed a variety of ways, but bzip2 appears most
 
93
# common; they go in suffixless directories regardless of compression, and
 
94
# filenames have compression suffixes:
 
95
 
 
96
COMPRESSPATH    = gzip
 
97
MANDIR_SUFFIX   =
 
98
MANFILE_SUFFIX  = .gz
 
99
 
 
100
# A weird concession to Win32 VC++ "CL" compiler, which needs -Fo to specify
 
101
# the object file and -Fe to specify the executable file:
 
102
#
 
103
# WARNING!  There must be a blank after the "-o" on the following lines to
 
104
# satisfy the /opt/ccover/bin/covc command.
 
105
 
 
106
CCoo = -o 
 
107
CCoe = -o 
 
108
 
 
109
# Ensure $PLATFORM is set:
 
110
 
 
111
PLATFORM = linux_ipf
 
112
 
 
113
# Platform-specific library lists for Linux/IPF for various "lib" targets:
 
114
 
 
115
LIB_LIST        = lib64a
 
116
LIBS_LIST       = lib64a
 
117
LIBS_ALL_LIST   = lib64a lib64so
 
118
LIBS_PIC_LIST   = lib64PICa
 
119
 
 
120
# The IPF box has a Bit counting instruction which is enabled with -DJU_LINUX_IPF
 
121
# and a Byte swapping instruction (JudySL) which is enabled thru
 
122
# /usr/include/byteswap.h.  This is enabled with -DJU_LINUX.  But this box is so
 
123
# fast, that enabling them is only a minor improvement.
 
124
#
 
125
#CC_OPTS_product = -Wall -O3 -DJU_LINUX -DJU_LINUX_IPF -DJU_64BIT -DJU_LITTLE_ENDIAN
 
126
 
 
127
CC_OPTS_product = -Wall -O3 
 
128
CC_OPTS_cov     = -Wall -O3 -DJU_FLAVOR_COV
 
129
CC_OPTS_debug   = -Wall  -g -DJU_FLAVOR_DEBUG