diff options
Diffstat (limited to 'mk')
-rw-r--r-- | mk/buildhlp.mk | 8 | ||||
-rw-r--r-- | mk/host-bottom.mk | 69 | ||||
-rw-r--r-- | mk/host.mk | 13 | ||||
-rw-r--r-- | mk/package.mk | 9 | ||||
-rw-r--r-- | mk/pkg-bottom.mk | 27 | ||||
-rw-r--r-- | mk/vars.mk | 1 |
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 |