summaryrefslogtreecommitdiff
path: root/mk
diff options
context:
space:
mode:
Diffstat (limited to 'mk')
-rw-r--r--mk/buildhlp.mk8
-rw-r--r--mk/host-bottom.mk69
-rw-r--r--mk/host.mk13
-rw-r--r--mk/package.mk9
-rw-r--r--mk/pkg-bottom.mk27
-rw-r--r--mk/vars.mk1
6 files changed, 73 insertions, 54 deletions
diff --git a/mk/buildhlp.mk b/mk/buildhlp.mk
index 19b761f46..8b6a4a8c8 100644
--- a/mk/buildhlp.mk
+++ b/mk/buildhlp.mk
@@ -93,13 +93,17 @@ ifeq ($(strip ${_IN_PACKAGE})$(strip ${_IN_CVTC}),1)
else
@$(MAKE) -s V=0 prepare WRKDIR=${WRKDIR}.orig PREVENT_PATCH=: NO_CHECKSUM=1
endif
+ @-test -r ${WRKDIR}/.autoreconf_done && \
+ (cd ${WRKDIR}.orig/${PKG_NAME}-${PKG_VERSION}; \
+ env ${AUTOTOOL_ENV} autoreconf -if)
+ @rm -rf ${WRKDIR}.orig/${PKG_NAME}-${PKG_VERSION}/autom4te.cache
@# restore config.sub/config.guess
- @for i in $$(find ${WRKDIR} -name config.sub);do \
+ @for i in $$(find ${WRKDIR}.orig -name config.sub);do \
if [ -f $$i.bak ];then \
mv $$i.bak $$i; \
fi;\
done
- @for i in $$(find ${WRKDIR} -name config.guess);do \
+ @for i in $$(find ${WRKDIR}.orig -name config.guess);do \
if [ -f $$i.bak ];then \
mv $$i.bak $$i; \
fi;\
diff --git a/mk/host-bottom.mk b/mk/host-bottom.mk
index 072254087..327883a95 100644
--- a/mk/host-bottom.mk
+++ b/mk/host-bottom.mk
@@ -5,35 +5,39 @@ host-extract: ${_HOST_PATCH_COOKIE}
host-configure:
${_HOST_CONFIGURE_COOKIE}: ${_HOST_PATCH_COOKIE}
- #@sed -e '/^#/d' ${REORDER_DEPENDENCIES} | \
- #tsort | while read f; do \
- # cd ${WRKSRC}; \
- # case $$f in \
- # /*) \
- # find . -name "$${f#/}" -print | while read i; do \
- # touch "$$i"; \
- # done;; \
- # *) \
- # if test -e "$$f" ; then \
- # touch "$$f"; \
- # fi;; \
- # esac; \
- #done
- @mkdir -p ${WRKBUILD}
- @$(CMD_TRACE) "configuring... "
- @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 \
+ @mkdir -p ${WRKBUILD}
+ @$(CMD_TRACE) "host configuring... "
+ @cd ${WRKBUILD}; \
+ for i in $$(find . -name config.sub);do \
+ if [ -f $$i ]; then \
${CP} $$i $$i.bak; \
- ${CP} ${SCRIPT_DIR}/config.guess $$i; \
+ ${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;
+ifneq ($(filter auto,${HOST_STYLE}),)
+ cd ${WRKBUILD}; rm -f config.{cache,status}; \
+ 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 \
+ --disable-dependency-tracking \
+ --disable-libtool-lock \
+ --disable-nls \
+ ${HOST_CONFIGURE_ARGS} $(MAKE_TRACE)
+
+else
cd ${WRKBUILD}; rm -f config.{cache,status}; \
env ${HOST_CONFIGURE_ENV} \
${BASH} ${WRKSRC}/${CONFIGURE_PROG} \
@@ -50,11 +54,12 @@ ${_HOST_CONFIGURE_COOKIE}: ${_HOST_PATCH_COOKIE}
--disable-libtool-lock \
--disable-nls \
${HOST_CONFIGURE_ARGS} $(MAKE_TRACE)
+endif
touch $@
host-build:
${_HOST_BUILD_COOKIE}: ${_HOST_CONFIGURE_COOKIE}
- @$(CMD_TRACE) "compiling... "
+ @$(CMD_TRACE) "host compiling... "
cd ${WRKBUILD} && env ${HOST_MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \
${HOST_MAKE_FLAGS} ${HOST_ALL_TARGET} $(MAKE_TRACE)
touch $@
@@ -62,16 +67,24 @@ ${_HOST_BUILD_COOKIE}: ${_HOST_CONFIGURE_COOKIE}
hpkg-install: ${ALL_HOSTINST}
host-install:
${_HOST_FAKE_COOKIE}: ${_HOST_BUILD_COOKIE}
+ @$(CMD_TRACE) "host installing... "
+ifneq ($(filter auto,${HOST_STYLE}),)
+ cd ${WRKBUILD} && env ${HOST_MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \
+ DESTDIR='' ${HOST_FAKE_FLAGS} ${HOST_INSTALL_TARGET} $(MAKE_TRACE)
+else
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} hpkg-install $(MAKE_TRACE)
+endif
rm -rf ${WRKBUILD} ${WRKDIST} ${WRKSRC}
exec ${MAKE} host-extract $(MAKE_TRACE)
+ mkdir -p ${HOST_WRKINST}
touch $@
+ # avoid rebuild
+ touch ${_HOST_BUILD_COOKIE} ${_HOST_CONFIGURE_COOKIE}
${_HOST_COOKIE}:
exec ${MAKE} hostpackage
hostpackage: ${ALL_HOSTDIRS}
touch ${_HOST_COOKIE}
-
diff --git a/mk/host.mk b/mk/host.mk
index f9326da17..855adf0d1 100644
--- a/mk/host.mk
+++ b/mk/host.mk
@@ -1,7 +1,9 @@
# This file is part of the OpenADK project. OpenADK is copyrighted
# material, please see the LICENCE file in the top-level directory.
-HOST_CONFIGURE_ENV+= CONFIG_SHELL='$(strip ${SHELL})' \
+HOST_CONFIGURE_ENV+= AUTOM4TE=${STAGING_HOST_DIR}/usr/bin/autom4te \
+ CONFIG_SHELL='$(strip ${SHELL})' \
+ PATH='${TARGET_PATH}' \
CFLAGS='$(strip ${CFLAGS_FOR_BUILD})' \
CXXFLAGS='$(strip ${CXXFLAGS_FOR_BUILD})' \
CPPFLAGS='$(strip ${CPPFLAGS_FOR_BUILD})' \
@@ -25,8 +27,8 @@ HOST_WRKINST= ${WRKDIR}/host
_HOST_EXTRACT_COOKIE= ${WRKDIST}/.extract_done
_HOST_PATCH_COOKIE= ${WRKDIST}/.prepared
-_HOST_CONFIGURE_COOKIE= ${WRKBUILD}/.host_configure_done
-_HOST_BUILD_COOKIE= ${WRKBUILD}/.host_build_done
+_HOST_CONFIGURE_COOKIE= ${WRKDIR}/.host_configure_done
+_HOST_BUILD_COOKIE= ${WRKDIR}/.host_build_done
_HOST_FAKE_COOKIE= ${HOST_WRKINST}/.host_fake_done
_HOST_COOKIE= ${PACKAGE_DIR}/.stamps/${PKG_NAME}${PKG_VERSION}-${PKG_RELEASE}-host
@@ -46,11 +48,12 @@ define HOST_template
ALL_PKGOPTS+= $(1)
PKGNAME_$(1)= $(2)
HOSTDIR_$(1)= $(WRKDIR)/host
-ifneq (${ADK_PACKAGE_$(1)}${DEVELOPER},)
ALL_HOSTDIRS+= $${HOSTDIR_$(1)}
ALL_HOSTINST+= $(2)-hostinstall
-endif
$$(HOSTDIR_$(1)): ${_HOST_PATCH_COOKIE} ${_HOST_FAKE_COOKIE}
endef
+
+.PHONY: all hostextract hostpatch hostconfigure \
+ hostbuild hostpackage hostfake
diff --git a/mk/package.mk b/mk/package.mk
index b74e8ec5b..8eae35938 100644
--- a/mk/package.mk
+++ b/mk/package.mk
@@ -10,7 +10,14 @@ CONFIGURE_ARGS+= --enable-debug
endif
endif
+AUTOTOOL_ENV+= AUTOM4TE='${STAGING_HOST_DIR}/usr/bin/autom4te' \
+ M4='${STAGING_HOST_DIR}/usr/bin/m4' \
+ LIBTOOLIZE='${STAGING_HOST_DIR}/usr/bin/libtoolize -q' \
+ PATH='${AUTOTOOL_PATH}'
+
CONFIGURE_ENV+= GCC_HONOUR_COPTS=s \
+ AUTOM4TE=${STAGING_HOST_DIR}/usr/bin/autom4te \
+ M4='${STAGING_HOST_DIR}/usr/bin/m4' \
PATH='${TARGET_PATH}' \
CONFIG_SHELL='$(strip ${SHELL})' \
CFLAGS='$(strip ${TARGET_CFLAGS})' \
@@ -258,7 +265,7 @@ ifeq (,$(filter noremove,$(7)))
done <'$${STAGING_PKG_DIR}/$(1)'; \
fi
endif
- rm -f '$${STAGING_PKG_DIR}/$(1)'
+ @rm -f '$${STAGING_PKG_DIR}/$(1)'
$$(INFO_$(1)): $$(IPKG_$(1))
$(PKG_INSTALL) $$(IPKG_$(1))
diff --git a/mk/pkg-bottom.mk b/mk/pkg-bottom.mk
index f0af93810..bf8ed4ea3 100644
--- a/mk/pkg-bottom.mk
+++ b/mk/pkg-bottom.mk
@@ -11,27 +11,17 @@
# * if you have a style -> define a pre-foo: and post-foo: if they
# are required, but the do-foo: magic is done here
-REORDER_DEPENDENCIES= ${TOPDIR}/scripts/automake.dep
PKG_LIBNAME?= $(PKG_NAME)
pre-configure:
do-configure:
post-configure:
-${_CONFIGURE_COOKIE}: ${_HOST_COOKIE} ${_PATCH_COOKIE}
- @sed -e '/^#/d' ${REORDER_DEPENDENCIES} | \
- tsort | while read f; do \
- cd ${WRKSRC}; \
- case $$f in \
- /*) \
- find . -name "$${f#/}" -print | while read i; do \
- touch "$$i"; \
- done;; \
- *) \
- if test -e "$$f" ; then \
- touch "$$f"; \
- fi;; \
- esac; \
- done
+${_CONFIGURE_COOKIE}: ${_PATCH_COOKIE}
+ifneq (,$(filter autoreconf,${AUTOTOOL_STYLE}))
+ cd ${WRKSRC}; env ${AUTOTOOL_ENV} autoreconf -if
+ rm -rf ${WRKSRC}/autom4te.cache
+ touch ${WRKDIR}/.autoreconf_done
+endif
mkdir -p ${WRKBUILD}
@${MAKE} pre-configure $(MAKE_TRACE)
@@ -109,7 +99,6 @@ post-build:
${_BUILD_COOKIE}: ${_CONFIGURE_COOKIE}
@env ${MAKE_ENV} ${MAKE} pre-build $(MAKE_TRACE)
@$(CMD_TRACE) "compiling... "
-
ifneq ($(filter manual,${BUILD_STYLE}),)
env ${MAKE_ENV} ${MAKE} do-build $(MAKE_TRACE)
else ifeq ($(strip ${BUILD_STYLE}),)
@@ -127,7 +116,7 @@ do-install:
post-install:
spkg-install: ${ALL_POSTINST}
${_FAKE_COOKIE}: ${_BUILD_COOKIE}
- -rm -f ${_ALL_CONTROLS}
+ @-rm -f ${_ALL_CONTROLS}
@mkdir -p '${STAGING_PKG_DIR}' ${WRKINST} '${STAGING_DIR}/scripts'
@${MAKE} ${_ALL_CONTROLS} $(MAKE_TRACE)
@env ${MAKE_ENV} ${MAKE} pre-install $(MAKE_TRACE)
@@ -222,6 +211,7 @@ ${_IPKGS_COOKIE}:
exec ${MAKE} package
package: ${ALL_IPKGS}
+ifneq ($(DEVELOPER),)
@cd ${WRKDIR}/fake-${CPU_ARCH} || exit 1; \
y=; sp=; for x in ${ALL_IDIRS}; do \
y="$$y$$sp$${x#$(WRKDIR)/fake-${CPU_ARCH}/}"; \
@@ -257,6 +247,7 @@ package: ${ALL_IPKGS}
ln=$$name; \
li=$$inode; \
done
+endif
touch ${_IPKGS_COOKIE}
clean-targets: clean-dev-generic
diff --git a/mk/vars.mk b/mk/vars.mk
index 8e147b23d..dad3d939a 100644
--- a/mk/vars.mk
+++ b/mk/vars.mk
@@ -44,6 +44,7 @@ PACKAGE_DIR:= $(BIN_DIR)/packages
TARGET_DIR:= $(BASE_DIR)/root_${ADK_TARGET_SYSTEM}_${CPU_ARCH}_${ADK_TARGET_LIBC}
TARGET_DIR_PFX:= $(BASE_DIR)/root_*
TARGET_PATH= ${SCRIPT_DIR}:${TOOLS_DIR}:${STAGING_HOST_DIR}/bin:${STAGING_HOST_DIR}/usr/bin:${STAGING_TARGET_DIR}/scripts:${_PATH}
+AUTOTOOL_PATH= ${TOOLS_DIR}:${STAGING_HOST_DIR}/bin:${STAGING_HOST_DIR}/usr/bin:${STAGING_TARGET_DIR}/scripts:${_PATH}
REAL_GNU_TARGET_NAME= $(CPU_ARCH)-$(ADK_VENDOR)-linux-$(ADK_TARGET_SUFFIX)
GNU_TARGET_NAME= $(CPU_ARCH)-$(ADK_VENDOR)-linux