summaryrefslogtreecommitdiff
path: root/mk/motif.buildlink.mk
blob: e706dff210fa2e54773024c17d1aec08c2e44578 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# $NetBSD: motif.buildlink.mk,v 1.6 2001/09/13 19:32:11 jlam Exp $
#
# This Makefile fragment is included by packages that use Motif-2.0.
#
# To use this Makefile fragment, simply:
#
# (1) Optionally set MOTIF_TYPE choose a specific Motif-2.0-compatible
#     package to be used.
# (2) Include this Makefile fragment in the package Makefile,

.if !defined(MOTIF_BUILDLINK_MK)
MOTIF_BUILDLINK_MK=	# defined

.include "../../mk/bsd.prefs.mk"

# Default to using OpenMotif for Motif-2.0-compatible libraries as it's a
# "real" Motif with full functionality.  On Solaris, default to DT-Motif
# (in /usr/dt).
#
.if ${OPSYS} == "SunOS"
MOTIF_TYPE_DEFAULT?=	dt
.else
MOTIF_TYPE_DEFAULT?=	openmotif
.endif

# If /usr/dt is a valid Motif-2.0 installation, then use it.  Otherwise,
# check to see if a pkgsrc Motif-2.0 is installed and valid, then use it.
# Otherwise, if ${X11BASE} is valid, then use it.  Otherwise, use the
# Motif-2.0 specified by ${MOTIF_TYPE_DEFAULT}.
#
.if exists(/usr/dt/include/Xm/Xm.h) && exists(/usr/dt/include/Xm/Gadget.h)
_MOTIF_TYPE=		dt
.elif exists(${X11BASE}/lib/X11/config/OpenMotif.tmpl) || \
      exists(${LOCALBASE}/lib/X11/config/OpenMotif.tmpl)
_MOTIF_TYPE=		openmotif
.elif exists(${X11BASE}/lib/X11/config/LessTif.tmpl) || \
      exists(${LOCALBASE}/lib/X11/config/LessTif.tmpl)
_MOTIF_TYPE=		lesstif
.elif exists(${X11BASE}/include/Xm.h) && exists(${X11BASE}/include/Xm/Gadget.h)
_MOTIF_TYPE=		none
.else
_MOTIF_TYPE=		${MOTIF_TYPE_DEFAULT}
.endif

# If MOTIF_TYPE is set, then let that override the Motif-discovery just
# performed.  We only recognize the tested strings as proper values for
# MOTIF_TYPE.
#
.if defined(MOTIF_TYPE)
.  if (${MOTIF_TYPE} == "openmotif") || \
      (${MOTIF_TYPE} == "lesstif") || \
      (${MOTIF_TYPE} == "dt")
_MOTIF_TYPE=		${MOTIF_TYPE}
.  endif
.endif

# If MOTIFBASE is set, then let that override all other Motif-discovery
# just performed.
#
.if defined(MOTIFBASE)
_MOTIF_TYPE=		none
.else
.  if ${_MOTIF_TYPE} == "dt"
MOTIFBASE=		/usr/dt
.  elif ${_MOTIF_TYPE} == "none"
MOTIFBASE=		${X11BASE}
.  endif
.endif

.if ${_MOTIF_TYPE} == "openmotif"
.  include "../../x11/openmotif/buildlink.mk"
MOTIFBASE=		${BUILDLINK_PREFIX.openmotif}
.elif ${_MOTIF_TYPE} == "lesstif"
.  include "../../x11/lesstif/buildlink.mk"
MOTIFBASE=		${BUILDLINK_PREFIX.lesstif}
.else
#
# Link the pre-existing Motif-2.0 libraries and headers in ${MOTIFBASE} into
# ${BUILDLINK_DIR}.
#
.  include "../../mk/bsd.buildlink.mk"
BUILDLINK_PREFIX.motif=		${MOTIFBASE}
BUILDLINK_FILES.motif=		include/Mrm/*
BUILDLINK_FILES.motif+=		include/Xm/*
BUILDLINK_FILES.motif+=		include/uil/*
BUILDLINK_FILES.motif+=		lib/libMrm.*
BUILDLINK_FILES.motif+=		lib/libUil.*
BUILDLINK_FILES.motif+=		lib/libXm.*

BUILDLINK_TARGETS.motif=	motif-buildlink
BUILDLINK_TARGETS+=		${BUILDLINK_TARGETS.motif}

pre-configure: ${BUILDLINK_TARGETS.motif}
motif-buildlink: _BUILDLINK_USE
.endif

USE_X11=		# defined
MAKE_ENV+=		MOTIFLIB="${MOTIFLIB}"
LDFLAGS+=		-Wl,-R${MOTIFBASE}/lib
MOTIFLIB?=		-Wl,-R${MOTIFBASE}/lib -Wl,-R${X11BASE}/lib -L${BUILDLINK_DIR}/lib -lXm -lXp

.endif	# MOTIF_BUILDLINK_MK