1 # $NetBSD: gnustep.mk,v 1.19 2009/10/08 12:49:27 joerg Exp $
3 .if !defined(GNUSTEP_MK)
6 .include "../../mk/bsd.prefs.mk"
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
21 GNUSTEP_FLATTENED= yes
22 GNUSTEP_IS_FLATTENED= yes
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
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}
42 GNUSTEP_LDFLAGS= ${GNUSTEP_LFLAGS} ${GNUSTEP_RFLAGS}
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'
58 GNUSTEP_FAKE_PRIVILEGED_BUILD?= YES
60 .if !empty(GNUSTEP_FAKE_PRIVILEGED_BUILD:M[yY][eE][sS])
61 post-wrapper: create-gnustep-chown-links
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
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}/}
82 GNUSTEP_INSTALL= ${INSTALL}
83 GNUSTEP_INSTALL_DATA= ${INSTALL_DATA}
84 GNUSTEP_INSTALL_PROGRAM=${INSTALL_PROGRAM}
87 GNUSTEP_OVERRIDE_INSTALL?= YES
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}
95 .if !defined(NO_GNUSTEP_ENV)
97 PATH:= ${GNUSTEP_PATH}:${PATH}
99 LDFLAGS+= ${GNUSTEP_LDFLAGS}
100 CPPFLAGS+= ${GNUSTEP_IFLAGS}
101 CFLAGS+= ${GNUSTEP_IFLAGS}
104 . if defined(GNUSTEP_MAKEFILE)
105 MAKE_FILE= ${GNUSTEP_MAKEFILE}
107 MAKE_FILE= GNUmakefile
110 . if !defined(NO_CONFIGURE) && !defined(HAS_CONFIGURE)
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}
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
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}
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
156 .endif # !defined(GNUSTEP_MK)