1
# @(#) $Revision: 4.15 $ $Source: /judy/make_includes/platform.linux_ipf.mk $
3
# Makefile fragment for Judy* for platform "linux_ipf".
4
# See platform.hpux_pa.mk for more comments.
8
# For portability use the generic names for cc, ld, and ar, which are typically
9
# symlinks to more specific names, such as /usr/bin/cc -> /opt/ansic/bin/cc.
17
# Object file directories:
19
# $INTDIR is the location for intermediate (non-deliverable) constructed files,
20
# optionally including a suffix component for recursive make calls.
22
# $DELDIR is the CPF-standard "deliver/" followed by various paths for
23
# different files so they are in an appropriate place for delivery to an HPUX
24
# system. Yes, this leads to annoyingly long full paths such as
25
# hpux_pa/product/deliver/usr/share/doc/Judy, but Judy-cious use of symlinks in
26
# the top of a personal sandbox can mitigate this.
28
# Note: Through version 4.56, files were placed in deliver/opt/Judy, but in
29
# preparation for 11.11 OEUR delivery we decided they belong in various "core
30
# HPUX" locations under /usr on the filesystem (see below).
32
# Note: For open source delivery, Judy files belong back in /opt/Judy; see the
35
# Note: For safety the values of $OBJDIR_OPT and the suffix of $DELDIR_DOC are
36
# hard-coded into the install and uninstall targets.
38
OBJDIR_OPT = /opt/Judy
40
# For Linux, $DELDIR_LIB_SUFFIX is simply null.
42
DELDIR_LIB = $(DELDIR)/usr/lib$(DELDIR_LIB_SUFFIX)
43
DELDIR_INC = $(DELDIR)/usr/include
44
DELDIR_DOC = $(DELDIR)/usr/share/doc/Judy
45
DELDIR_DEMO = $(DELDIR_DOC)/demo
46
DELDIR_MAN = $(DELDIR)/usr/share/man/man3$(MANDIR_SUFFIX)
48
# Use normal tools for building internal tools (programs):
50
CCPATH_TOOL = $(CCPATH)
52
# TBD: Stock Linux does not have /usr/local/bin/cstrip, which is required for
53
# building constructed *.c files, which are only used (as of now) for lint:
55
CSTRIP = cstrip_not_present
57
# HP-UX has rmnl(1) but Linux does not, so use grep instead; note the tab:
59
RMNL = grep -v '^[ ]*$$'
61
# How to echo with escaped chars expanded; Linux /bin/sh = bash requires -e:
66
# Suffix for $LIB_ID (same as what's passed in $LIB_SUFFIX for a recursive
71
# Linker option to build a shared library:
73
# Note: The gcc manual entry contains this ominous prose about the -shared
74
# option: "Only a few systems support this option." We'll see...
76
# TBD: In the long run we should probably append a version number suffix to
77
# the library and use the ld -soname option (see the manual entry), but I think
78
# we can accomplish this later (at "version 2"). Also per the howto file (see
79
# http://www.ibiblio.org/pub/Linux/docs/HOWTO/GCC-HOWTO), it's possible the
80
# building should be done with gcc instead of ld.
84
# Optionally include PIC libs in tarchives:
86
TARCHIVE_LIBS_PIC = libs_pic
88
# Linux manual entries are compressed a variety of ways, but bzip2 appears most
89
# common; they go in suffixless directories regardless of compression, and
90
# filenames have compression suffixes:
96
# A weird concession to Win32 VC++ "CL" compiler, which needs -Fo to specify
97
# the object file and -Fe to specify the executable file:
99
# WARNING! There must be a blank after the "-o" on the following lines to
100
# satisfy the /opt/ccover/bin/covc command.
105
# Ensure $PLATFORM is set:
109
# Platform-specific library lists for Linux/IPF for various "lib" targets:
113
LIBS_ALL_LIST = lib64a lib64so
114
LIBS_PIC_LIST = lib64PICa
116
# The -DJU_NOINLINE is necessary if the compiler does not support inline functions.
118
CC_OPTS_product = -O -DJU_NOINLINE
119
CC_OPTS_cov = -O -DJU_NOINLINE -DJU_FLAVOR_COV
120
CC_OPTS_debug = -g -DJU_NOINLINE -DJU_FLAVOR_DEBUG