Merge from vendor branch TNF:
[pkgsrcv2.git] / devel / gnustep-make / gnustep.mk
1 #       $NetBSD: gnustep.mk,v 1.19 2009/10/08 12:49:27 joerg Exp $
2
3 .if !defined(GNUSTEP_MK)
4 GNUSTEP_MK=             #defined
5
6 .include "../../mk/bsd.prefs.mk"
7
8 GNUSTEP_SUBDIR=         share/GNUstep
9 GNUSTEP_ROOT=           ${PREFIX}
10 GNUSTEP_LIB_DIR=        ${GNUSTEP_ROOT}/lib/GNUstep
11 GNUSTEP_SYSTEM_ROOT=    ${GNUSTEP_ROOT}/System
12 GNUSTEP_LOCAL_ROOT=     ${GNUSTEP_ROOT}/Local
13 GNUSTEP_NETWORK_ROOT=   ${GNUSTEP_ROOT}/Network
14 GNUSTEP_MAKEFILES=      ${GNUSTEP_ROOT}/${GNUSTEP_SUBDIR}/Makefiles
15 GNUSTEP_HOST=           ${MACHINE_GNU_PLATFORM}
16 GNUSTEP_HOST_CPU=       ${MACHINE_GNU_ARCH:S/i386/ix86/}
17 GNUSTEP_HOST_VENDOR=    ${LOWER_VENDOR}
18 GNUSTEP_HOST_OS=        ${LOWER_OPSYS}
19 GNUSTEP_CONFIG_FILE=    ${PKG_SYSCONFDIR}/GNUstep.conf
20
21 GNUSTEP_FLATTENED=      yes
22 GNUSTEP_IS_FLATTENED=   yes
23
24 REAL_GNUSTEP_USER_ROOT= ${PREFIX}/share/GNUstep
25 GNUSTEP_USER_ROOT=      ${BUILDLINK_DIR}/share/GNUstep
26 GNUSTEP_PATHLIST=       ${GNUSTEP_USER_ROOT}
27 GNUSTEP_PATH=           ${GNUSTEP_USER_ROOT}/Tools:${GNUSTEP_USER_ROOT}/Tools/${GNUSTEP_HOST_CPU}/${GNUSTEP_HOST_OS}
28 GUILE_LOAD_PATH=        ${GNUSTEP_USER_ROOT}/Libraries/Guile:${GNUSTEP_USER_ROOT}/lib
29 GNUSTEP_LDIR=           lib
30 GNUSTEP_IDIR=           include
31 GNUSTEP_LFLAGS=         ${GNUSTEP_ROOT:S/^/-L/}/${GNUSTEP_LDIR} ${REAL_GNUSTEP_USER_ROOT:S/^/-L/}/${GNUSTEP_LDIR}
32 GNUSTEP_IFLAGS=         ${GNUSTEP_ROOT:S/^/-I/}/${GNUSTEP_IDIR} ${REAL_GNUSTEP_USER_ROOT:S/^/-I/}/${GNUSTEP_IDIR}
33 GNUSTEP_LDIRS=          ${GNUSTEP_LFLAGS:S/-L//g}
34 GNUSTEP_IDIRS=          ${GNUSTEP_IFLAGS:S/-I//g}
35 GNUSTEP_BLDIRS=         ${GNUSTEP_LDIRS:S/${PREFIX}\///g}
36 GNUSTEP_BIDIRS=         ${GNUSTEP_IDIRS:S/${PREFIX}\///g}
37 .if !empty(_USE_RPATH:M[yY][eE][sS])
38 GNUSTEP_RFLAGS=         ${GNUSTEP_LFLAGS:S/-L/${COMPILER_RPATH_FLAG}/g}
39 .else
40 GNUSTEP_RFLAGS?=
41 .endif
42 GNUSTEP_LDFLAGS=        ${GNUSTEP_LFLAGS} ${GNUSTEP_RFLAGS}
43
44 .if defined(FIX_GNUSTEP_INSTALLATION_DIR)
45 SUBST_CLASSES+=                         gnustep_installation_dir
46 SUBST_STAGE.gnustep_installation_dir=   post-patch
47 SUBST_FILES.gnustep_installation_dir?=  GNUmakefile
48 SUBST_SED.gnustep_installation_dir+=    -e 's|GNUSTEP_INSTALLATION_DIR.*=.*..GNUSTEP_\(.*\)_ROOT.*|GNUSTEP_INSTALLATION_DOMAIN = \1|'
49 SUBST_SED.gnustep_installation_dir+=    -e 's|\$$(GNUSTEP_INSTALLATION_DIR)/Libraries|$${DESTDIR}${GNUSTEP_LIB_DIR}/Libraries/${PKGNAME_NOREV}|g'
50 SUBST_SED.gnustep_installation_dir+=    -e 's|\$$(GNUSTEP_INSTALLATION_DIR)/Library/Bundles|$${DESTDIR}${GNUSTEP_LIB_DIR}/Bundles|g'
51 SUBST_SED.gnustep_installation_dir+=    -e 's|\$$(GNUSTEP_INSTALLATION_DIR)/Library|$${DESTDIR}${GNUSTEP_ROOT}/${GNUSTEP_SUBDIR}/Library|g'
52 SUBST_SED.gnustep_installation_dir+=    -e 's|\$$(GNUSTEP_USER_ROOT)/Library|$${DESTDIR}${GNUSTEP_USER_ROOT}/${GNUSTEP_SUBDIR}/Library|g'
53 SUBST_SED.gnustep_installation_dir+=    -e 's|\$$(GNUSTEP_LOCAL_ROOT)/Library|$${DESTDIR}${GNUSTEP_LOCAL_ROOT}/${GNUSTEP_SUBDIR}/Library|g'
54 SUBST_SED.gnustep_installation_dir+=    -e 's|\$$(GNUSTEP_NETWORK_ROOT)/Library|$${DESTDIR}${GNUSTEP_NETWORK_ROOT}/${GNUSTEP_SUBDIR}/Library|g'
55 SUBST_SED.gnustep_installation_dir+=    -e 's|INSTALL_ROOT_DIR|DESTDIR|g'
56 .endif
57
58 GNUSTEP_FAKE_PRIVILEGED_BUILD?= YES
59
60 .if !empty(GNUSTEP_FAKE_PRIVILEGED_BUILD:M[yY][eE][sS])
61 post-wrapper: create-gnustep-chown-links
62
63 create-gnustep-chown-links:
64         ${RUN}${ECHO}  > ${BUILDLINK_BINDIR}/chown '#!${SH:Q}'
65         ${RUN}${ECHO} >> ${BUILDLINK_BINDIR}/chown '${CHOWN:Q} "$$@" 2>/dev/null || \'
66         ${RUN}${ECHO} >> ${BUILDLINK_BINDIR}/chown '${TRUE}'
67         ${RUN}${ECHO}  > ${BUILDLINK_BINDIR}/chgrp '#!${SH:Q}'
68         ${RUN}${ECHO} >> ${BUILDLINK_BINDIR}/chgrp '${CHGRP:Q} "$$@" 2>/dev/null || \'
69         ${RUN}${ECHO} >> ${BUILDLINK_BINDIR}/chgrp '${TRUE}'
70         ${RUN}${ECHO}  > ${BUILDLINK_BINDIR}/install '#!${SH:Q}'
71         ${RUN}${ECHO} >> ${BUILDLINK_BINDIR}/install '${INSTALL:Q} "$$@" 2>/dev/null || \'
72         ${RUN}${ECHO} >> ${BUILDLINK_BINDIR}/install '${INSTALL:Q} `${ECHO} "$$@" | \
73                 ${SED} -e "s/-[og][     ]*[^    ]*//g"`'
74         ${RUN}${CHMOD} +x ${BUILDLINK_BINDIR}/chown
75         ${RUN}${CHMOD} +x ${BUILDLINK_BINDIR}/chgrp
76         ${RUN}${CHMOD} +x ${BUILDLINK_BINDIR}/install
77
78 GNUSTEP_INSTALL=        ${BUILDLINK_BINDIR}/install
79 GNUSTEP_INSTALL_DATA=   ${INSTALL_DATA:S/${INSTALL}/${GNUSTEP_INSTALL}/}
80 GNUSTEP_INSTALL_PROGRAM=${INSTALL_PROGRAM:S/${INSTALL}/${GNUSTEP_INSTALL}/}
81 .else
82 GNUSTEP_INSTALL=        ${INSTALL}
83 GNUSTEP_INSTALL_DATA=   ${INSTALL_DATA}
84 GNUSTEP_INSTALL_PROGRAM=${INSTALL_PROGRAM}
85 .endif
86
87 GNUSTEP_OVERRIDE_INSTALL?=      YES
88
89 .if !empty(GNUSTEP_OVERRIDE_INSTALL:M[yY][eE][sS])
90 MAKE_ENV+=      INSTALL=${GNUSTEP_INSTALL:Q}
91 MAKE_ENV+=      INSTALL_DATA=${GNUSTEP_INSTALL_DATA:Q}
92 MAKE_ENV+=      INSTALL_PROGRAM=${GNUSTEP_INSTALL_PROGRAM:Q}
93 .endif
94
95 .if !defined(NO_GNUSTEP_ENV)
96
97 PATH:=          ${GNUSTEP_PATH}:${PATH}
98
99 LDFLAGS+=       ${GNUSTEP_LDFLAGS}
100 CPPFLAGS+=      ${GNUSTEP_IFLAGS}
101 CFLAGS+=        ${GNUSTEP_IFLAGS}
102
103 USE_TOOLS+=     gmake
104 .  if defined(GNUSTEP_MAKEFILE)
105 MAKE_FILE=      ${GNUSTEP_MAKEFILE}
106 .  else
107 MAKE_FILE=      GNUmakefile
108 .  endif
109
110 .  if !defined(NO_CONFIGURE) && !defined(HAS_CONFIGURE)
111 GNU_CONFIGURE=  yes
112 .  endif
113
114 MAKE_ENV+=      GNUSTEP_ROOT=${GNUSTEP_ROOT:Q}
115 MAKE_ENV+=      GNUSTEP_MAKEFILES=${GNUSTEP_MAKEFILES:Q}
116 MAKE_ENV+=      GNUSTEP_HOST=${GNUSTEP_HOST:Q}
117 MAKE_ENV+=      GNUSTEP_HOST_CPU=${GNUSTEP_HOST_CPU:Q}
118 MAKE_ENV+=      GNUSTEP_HOST_VENDOR=${GNUSTEP_HOST_VENDOR:Q}
119 MAKE_ENV+=      GNUSTEP_HOST_OS=${GNUSTEP_HOST_OS:Q}
120 MAKE_ENV+=      GNUSTEP_PATHLIST=${GNUSTEP_PATHLIST:Q}
121 MAKE_ENV+=      GNUSTEP_FLATTENED=${GNUSTEP_FLATTENED:Q}
122 MAKE_ENV+=      GNUSTEP_IS_FLATTENED=${GNUSTEP_IS_FLATTENED:Q}
123 MAKE_ENV+=      GNUSTEP_USER_ROOT=${GNUSTEP_USER_ROOT:Q}
124 MAKE_ENV+=      GNUSTEP_CONFIG_FILE=${GNUSTEP_CONFIG_FILE:Q}
125
126 .  if defined(GNUSTEP_OBSOLETE_ENV)
127 MAKE_ENV+=      GNUSTEP_SYSTEM_ROOT=${GNUSTEP_SYSTEM_ROOT:Q}
128 MAKE_ENV+=      GNUSTEP_LOCAL_ROOT=${GNUSTEP_LOCAL_ROOT:Q}
129 MAKE_ENV+=      GNUSTEP_NETWORK_ROOT=${GNUSTEP_NETWORK_ROOT:Q}
130 MAKE_ENV+=      GUILE_LOAD_PATH=${GUILE_LOAD_PATH:Q}
131 .  endif        # GNUSTEP_OBSOLETE_ENV
132
133 .  if defined(GNU_CONFIGURE) || defined(HAS_CONFIGURE)
134 GNU_CONFIGURE_PREFIX?=  ${GNUSTEP_ROOT}
135 CONFIGURE_ENV+= GNUSTEP_ROOT=${GNUSTEP_ROOT:Q}
136 CONFIGURE_ENV+= GNUSTEP_MAKEFILES=${GNUSTEP_MAKEFILES:Q}
137 CONFIGURE_ENV+= GNUSTEP_HOST=${GNUSTEP_HOST:Q}
138 CONFIGURE_ENV+= GNUSTEP_HOST_CPU=${GNUSTEP_HOST_CPU:Q}
139 CONFIGURE_ENV+= GNUSTEP_HOST_VENDOR=${GNUSTEP_HOST_VENDOR:Q}
140 CONFIGURE_ENV+= GNUSTEP_HOST_OS=${GNUSTEP_HOST_OS:Q}
141 CONFIGURE_ENV+= GNUSTEP_PATHLIST=${GNUSTEP_PATHLIST:Q}
142 CONFIGURE_ENV+= GNUSTEP_FLATTENED=${GNUSTEP_FLATTENED:Q}
143 CONFIGURE_ENV+= GNUSTEP_IS_FLATTENED=${GNUSTEP_IS_FLATTENED:Q}
144 CONFIGURE_ENV+= GNUSTEP_USER_ROOT=${GNUSTEP_USER_ROOT:Q}
145 CONFIGURE_ENV+= GNUSTEP_CONFIG_FILE=${GNUSTEP_CONFIG_FILE:Q}
146
147 .    if defined(GNUSTEP_OBSOLETE_ENV)
148 CONFIGURE_ENV+= GNUSTEP_SYSTEM_ROOT=${GNUSTEP_SYSTEM_ROOT:Q}
149 CONFIGURE_ENV+= GNUSTEP_LOCAL_ROOT=${GNUSTEP_LOCAL_ROOT:Q}
150 CONFIGURE_ENV+= GNUSTEP_NETWORK_ROOT=${GNUSTEP_NETWORK_ROOT:Q}
151 CONFIGURE_ENV+= GUILE_LOAD_PATH=${GUILE_LOAD_PATH:Q}
152 .    endif      # GNUSTEP_OBSOLETE_ENV
153 .  endif        # GNU_CONFIGURE
154 .endif  # !NO_GNUSTEP_ENV
155
156 .endif  # !defined(GNUSTEP_MK)