summaryrefslogtreecommitdiff
path: root/mk/host-bottom.mk
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2014-06-15 13:09:33 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2014-06-15 13:13:14 +0200
commitbf8903fa567e5c1b5d923c6f1c0aeb1d2fd1192a (patch)
tree64691c16412c4788e2f242abeb418187231d0ec8 /mk/host-bottom.mk
parentbf3ec139fd4c0996463d221478eb8ce82694e6de (diff)
cleanup HOST_STYLE, use SYSROOT feature for pkgconf
there are three HOST_STYLE's, not set mean fully automatic installation. auto means prefix is set to /usr and DESTDIR is set to STAGING_HOST_DIR. When using manual, you need to provide your own targets. Instead of using sed to modify *.pc files, use PKG_SYSROOT feature, which does work better and avoids pathcing some pc files. Idea from sh4rm via #musl.
Diffstat (limited to 'mk/host-bottom.mk')
-rw-r--r--mk/host-bottom.mk54
1 files changed, 26 insertions, 28 deletions
diff --git a/mk/host-bottom.mk b/mk/host-bottom.mk
index 8ef4a868e..84998df38 100644
--- a/mk/host-bottom.mk
+++ b/mk/host-bottom.mk
@@ -16,54 +16,53 @@ endif
@cd ${WRKBUILD}; \
for i in $$(find . -name config.sub);do \
if [ -f $$i ]; then \
- ${CP} $$i $$i.bak; \
${CP} ${SCRIPT_DIR}/config.sub $$i; \
fi; \
done; \
for i in $$(find . -name config.guess);do \
if [ -f $$i ]; then \
- ${CP} $$i $$i.bak; \
${CP} ${SCRIPT_DIR}/config.guess $$i; \
fi; \
done;
@${MAKE} hostpre-configure $(MAKE_TRACE)
-ifneq (${HOST_STYLE},manual)
-ifeq ($(strip ${HOST_STYLE}),)
- cd ${WRKBUILD}; rm -f config.{cache,status}; \
+ifeq (${HOST_STYLE},)
+ cd ${WRKBUILD}; \
env ${HOST_CONFIGURE_ENV} \
${BASH} ${WRKSRC}/${CONFIGURE_PROG} \
--program-prefix= \
--program-suffix= \
- --prefix=/usr \
- --bindir=/usr/bin \
- --datadir=/usr/share \
- --mandir=/usr/share/man \
- --libexecdir=/usr/libexec \
- --localstatedir=/var \
- --sysconfdir=/etc \
+ --prefix=${STAGING_HOST_DIR}/usr \
+ --bindir=${STAGING_HOST_DIR}/usr/bin \
+ --datadir=${STAGING_HOST_DIR}/usr/share \
+ --mandir=${STAGING_HOST_DIR}/usr/share/man \
+ --libexecdir=${STAGING_HOST_DIR}/usr/libexec \
+ --sysconfdir=${STAGING_HOST_DIR}/etc \
--disable-dependency-tracking \
--disable-libtool-lock \
--disable-nls \
${HOST_CONFIGURE_ARGS} $(MAKE_TRACE)
-else
- cd ${WRKBUILD}; rm -f config.{cache,status}; \
+endif
+ifeq (${HOST_STYLE},auto)
+ cd ${WRKBUILD}; \
env ${HOST_CONFIGURE_ENV} \
${BASH} ${WRKSRC}/${CONFIGURE_PROG} \
--program-prefix= \
--program-suffix= \
- --prefix=${STAGING_HOST_DIR}/usr \
- --bindir=${STAGING_HOST_DIR}/usr/bin \
- --datadir=${STAGING_HOST_DIR}/usr/share \
- --mandir=${STAGING_HOST_DIR}/usr/share/man \
- --libexecdir=${STAGING_HOST_DIR}/usr/libexec \
- --sysconfdir=${STAGING_HOST_DIR}/etc \
+ --prefix=/usr \
+ --bindir=/usr/bin \
+ --datadir=/usr/share \
+ --mandir=/usr/share/man \
+ --libexecdir=/usr/libexec \
+ --localstatedir=/var \
+ --sysconfdir=/etc \
--disable-dependency-tracking \
--disable-libtool-lock \
--disable-nls \
${HOST_CONFIGURE_ARGS} $(MAKE_TRACE)
endif
-endif
+ifeq (${HOST_STYLE},manual)
${MAKE} host-configure $(MAKE_TRACE)
+endif
touch $@
host-build:
@@ -81,16 +80,15 @@ host-install: ${ALL_HOSTINST}
${_HOST_FAKE_COOKIE}: ${_HOST_BUILD_COOKIE}
@$(CMD_TRACE) "host installing... "
@mkdir -p ${HOST_WRKINST}
-ifneq (${HOST_STYLE},manual)
-ifeq ($(strip ${HOST_STYLE}),)
- cd ${WRKBUILD} && env ${HOST_MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \
- DESTDIR='${HOST_WRKINST}' ${HOST_FAKE_FLAGS} ${HOST_INSTALL_TARGET} $(MAKE_TRACE)
- env ${HOST_MAKE_ENV} ${MAKE} host-install $(MAKE_TRACE)
-else
+ifeq (${HOST_STYLE},)
cd ${WRKBUILD} && env ${HOST_MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \
DESTDIR='' ${HOST_FAKE_FLAGS} ${HOST_INSTALL_TARGET} $(MAKE_TRACE)
endif
-else
+ifeq (${HOST_STYLE},auto)
+ cd ${WRKBUILD} && env ${HOST_MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \
+ DESTDIR='${STAGING_HOST_DIR}' ${HOST_FAKE_FLAGS} ${HOST_INSTALL_TARGET} $(MAKE_TRACE)
+endif
+ifeq (${HOST_STYLE},manual)
env ${HOST_MAKE_ENV} ${MAKE} host-install $(MAKE_TRACE)
endif
env ${HOST_MAKE_ENV} ${MAKE} hostpost-install $(MAKE_TRACE)