1
# @(#) $Revision: 4.24 $ $Source: /judy/make_includes/platform.hpux_ipf.mk $
3
# Makefile fragment for Judy* for platform "hpux_ipf" (HP-UX on IPF).
4
# See platform.hpux_pa.mk for more comments.
6
# Note: To build Judy non-chrooted (as a developer) on an hpux_ipf system with
7
# native compilers (not cross-compilers), such as mercedes.fc, you must support
8
# this makefile by creating fake "relocated native PA compilers" symlinks, used
9
# when building internal tools:
11
# ! mkdir -p /CLO/BUILD_ENV/Exports
12
# ! ln -s /opt/ansic/bin/cc /CLO/BUILD_ENV/Exports/cc
13
# ! ln -s /opt/ansic/bin/cc /CLO/BUILD_ENV/Exports/cc64
17
# For $CCPATH, carefully point to the correct location (per Dennis Handly,
18
# 011214) and hope it's on all boxes where developers build, even though
19
# /usr/bin/cc is typically (but not necessarily) a symlink to it:
21
CCPATH = /opt/ansic/bin/cc
27
# Object file directories:
29
# $INTDIR is the location for intermediate (non-deliverable) constructed files,
30
# optionally including a suffix component for recursive make calls.
32
# $DELDIR is the CPF-standard "deliver/" followed by various paths for
33
# different files so they are in an appropriate place for delivery to an HPUX
34
# system. Yes, this leads to annoyingly long full paths such as
35
# hpux_pa/product/deliver/usr/share/doc/Judy, but Judy-cious use of symlinks in
36
# the top of a personal sandbox can mitigate this.
38
# Note: Through version 4.56, files were placed in deliver/opt/Judy, but in
39
# preparation for 11.11 OEUR delivery we decided they belong in various "core
40
# HPUX" locations under /usr on the filesystem (see below).
42
# Note: For open source delivery, Judy files belong back in /opt/Judy; see the
45
# Note: For safety the values of $OBJDIR_OPT and the suffix of $DELDIR_DOC are
46
# hard-coded into the install and uninstall targets.
48
OBJDIR_OPT = /opt/Judy
50
# For Linux, $DELDIR_LIB_SUFFIX is simply null.
52
DELDIR_LIB = $(DELDIR)/usr/lib$(DELDIR_LIB_SUFFIX)
53
DELDIR_INC = $(DELDIR)/usr/include
54
DELDIR_DOC = $(DELDIR)/usr/share/doc/Judy
55
DELDIR_DEMO = $(DELDIR_DOC)/demo
56
DELDIR_MAN = $(DELDIR)/usr/share/man/man3$(MANDIR_SUFFIX)
58
# Use normal tools for building internal tools (programs):
60
CSTRIP = /usr/local/bin/cstrip
65
# Optionally include PIC libs in tarchives:
67
TARCHIVE_LIBS_PIC = libs_pic
69
# Suffix for $LIB_ID (same as what's passed in $LIB_SUFFIX for a recursive
74
# Linker option to build a shared library:
78
# On HP-UX, compressed manual entries are compressed with compress(1), go in
79
# directories whose names end with a suffix, and filenames have no special
82
COMPRESSPATH = /usr/bin/compress
86
# A weird concession to Win32 VC++ "CL" compiler, which needs -Fo to specify
87
# the object file and -Fe to specify the executable file:
94
LIB_LIST = lib_hpux_ipf_32a
95
LIBS_LIST = lib_hpux_ipf_32a lib_hpux_ipf_64a
96
LIBS_ALL_LIST = lib_hpux_ipf_32a lib_hpux_ipf_64a \
97
lib_hpux_ipf_32sl lib_hpux_ipf_64sl
98
LIBS_PIC_LIST = lib_hpux_ipf_32PICa lib_hpux_ipf_64PICa
100
LIB_ID_PATH = /hpux32
102
# Note: +DD32 is the default on IPF and takes less space and time for programs
103
# that do not need the larger address space:
105
CC_OPTS_LIB_HPUX_IPF_32 = +DD32 -DJU_32BITS
106
CC_OPTS_LIB_HPUX_IPF_64 = +DD64 -DJU_64BITS
108
# Note: For cov flavor only, ignore warning 67 about unrecognized pragmas
109
# until/unless covc finds a way to deal with this. Newer IPF compilers no
110
# longer send cc -E processing through a separate cpp.ansi, meaning the pragmas
111
# cause many warnings during the cc -E phase invoked by covc. Turning off all
112
# pragma warnings is not ideal, but much simpler than passing every $CC
113
# invocation through sed to hide them, and preferable to using +legacy_hpc.
115
CC_OPTS_product = -O -DJU_HPUX_IPF
116
CC_OPTS_cov = -O -DJU_HPUX_IPF -DJU_FLAVOR_COV +W67
117
CC_OPTS_debug = -g -DJU_HPUX_IPF -DJU_FLAVOR_DEBUG
119
# Use special native tools in IPF cross-compile BE for building internal tools
122
# Note: The only tool actually needed for this purpose is cc.
124
# Note: At least as of 020319, the Exports/ wrappers are not quite smart
125
# enough. To do a 64-bit link requires naming cc64 explicitly, hence
126
# $CC_TOOL_SUFFIX below.
128
CCPATH_TOOL = /CLO/BUILD_ENV/Exports/cc$(CC_TOOL_SUFFIX)