diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2011-02-24 17:41:36 +0100 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2011-02-24 17:41:36 +0100 |
commit | 0aabef127155575e8c8d660605f9401ab15356aa (patch) | |
tree | b8cd5f06c60cd4e95fd7a2923dabb3b831dd93b3 | |
parent | 0b09c2710166bd95ac9033b048bb6cbf7b4de7c2 (diff) |
allow native build of a lot of packages
STAGING_TARGET_DIR is used for package Makefile's for
include and library search path's. STAGING_DIR is used
for common code in mk/ or Makefile/rules.mk.
STAGING_TARGET_DIR is /usr when native builds are used.
94 files changed, 971 insertions, 207 deletions
diff --git a/mk/build.mk b/mk/build.mk index d324d6579..553d90f9b 100644 --- a/mk/build.mk +++ b/mk/build.mk @@ -134,23 +134,23 @@ ifeq ($(ADK_TARGET_PACKAGE_IPKG),y) ${BASH} ${TOPDIR}/scripts/ipkg-make-index.sh . >Packages endif -${STAGING_TARGET_DIR} ${STAGING_TARGET_DIR}/etc ${STAGING_HOST_DIR}: - mkdir -p ${STAGING_TARGET_DIR}/{bin,etc,lib,usr/include,usr/lib} \ +${STAGING_DIR} ${STAGING_DIR}/etc ${STAGING_HOST_DIR}: + mkdir -p ${STAGING_DIR}/{bin,etc,lib,usr/include,usr/lib} \ ${STAGING_HOST_DIR}/{bin,lib,usr/bin,usr/lib} -${STAGING_TARGET_DIR}/etc/ipkg.conf: ${STAGING_TARGET_DIR}/etc +${STAGING_DIR}/etc/ipkg.conf: ${STAGING_DIR}/etc ifeq ($(ADK_TARGET_PACKAGE_IPKG),y) - echo "dest root /" >${STAGING_TARGET_DIR}/etc/ipkg.conf - echo "option offline_root ${TARGET_DIR}" >>$(STAGING_TARGET_DIR)/etc/ipkg.conf + echo "dest root /" >${STAGING_DIR}/etc/ipkg.conf + echo "option offline_root ${TARGET_DIR}" >>$(STAGING_DIR)/etc/ipkg.conf endif -package/%: ${STAGING_TARGET_DIR}/etc/ipkg.conf ${TOPDIR}/package/Depends.mk +package/%: ${STAGING_DIR}/etc/ipkg.conf ${TOPDIR}/package/Depends.mk $(MAKE) -C package $(patsubst package/%,%,$@) target/%: $(MAKE) -C target $(patsubst target/%,%,$@) -toolchain/%: ${STAGING_TARGET_DIR} +toolchain/%: ${STAGING_DIR} $(MAKE) -C toolchain $(patsubst toolchain/%,%,$@) tools/%: @@ -211,7 +211,7 @@ clean: for d in ${STAGING_PKG_DIR}; do \ for f in $$(ls $$d/[a-z]* 2>/dev/null); do \ while read file ; do \ - rm ${STAGING_TARGET_DIR}/$$file 2>/dev/null;\ + rm ${STAGING_DIR}/$$file 2>/dev/null;\ done < $$f ; \ rm $$f ; \ done \ @@ -237,7 +237,7 @@ cleantarget: @$(TRACE) cleantarget @$(MAKE) -C $(CONFIG) clean $(MAKE_TRACE) rm -rf $(BUILD_DIR) $(BIN_DIR) $(TARGET_DIR) - rm -rf $(TOOLCHAIN_BUILD_DIR) $(STAGING_HOST_DIR) $(STAGING_TARGET_DIR) $(STAGING_PKG_DIR) + rm -rf $(TOOLCHAIN_BUILD_DIR) $(STAGING_HOST_DIR) $(STAGING_DIR) $(STAGING_PKG_DIR) rm -f .tmpconfig.h all.config .defconfig distclean: diff --git a/mk/package.mk b/mk/package.mk index 9b2b77559..df05e98ae 100644 --- a/mk/package.mk +++ b/mk/package.mk @@ -18,12 +18,11 @@ CONFIGURE_ENV+= GCC_HONOUR_COPTS=s \ CPPFLAGS='$(strip ${TARGET_CPPFLAGS})' \ LDFLAGS='$(strip ${TARGET_LDFLAGS})' \ ${HOST_CONFIGURE_OPTS} \ - PKG_CONFIG_LIBDIR='${STAGING_TARGET_DIR}/usr/lib/pkgconfig' -ifeq ($(ADK_NATIVE),) -CONFIGURE_ENV+= ${TARGET_CONFIGURE_OPTS} \ - cross_compiling=yes \ + PKG_CONFIG_LIBDIR='${STAGING_TARGET_DIR}/usr/lib/pkgconfig' \ ac_cv_func_realloc_0_nonnull=yes \ ac_cv_func_malloc_0_nonnull=yes +ifeq ($(ADK_NATIVE),) +CONFIGURE_ENV+= ${TARGET_CONFIGURE_OPTS} cross_compiling=yes endif CONFIGURE_PROG?= configure @@ -172,10 +171,10 @@ ifeq (${ADK_INSTALL_PACKAGE_INIT_SCRIPTS},y) done endif @mkdir -p $${PACKAGE_DIR} '$${STAGING_PKG_DIR}' \ - '$${STAGING_TARGET_DIR}/scripts' + '$${STAGING_DIR}/scripts' ifeq (,$(filter noremove,$(7))) @if test -s '$${STAGING_PKG_DIR}/$(1)'; then \ - cd '$${STAGING_TARGET_DIR}'; \ + cd '$${STAGING_DIR}'; \ while read fn; do \ rm -f "$$$$fn"; \ done <'$${STAGING_PKG_DIR}/$(1)'; \ @@ -195,8 +194,8 @@ endif find usr ! -type d 2>/dev/null | \ grep -v -e '^usr/share' -e '^usr/man' -e '^usr/info' -e '^usr/lib/libc.so' | \ tee '$${STAGING_PKG_DIR}/$(1)' | \ - $(TOOLS_DIR)/cpio -padlmu '$${STAGING_TARGET_DIR}' - @cd '$${STAGING_TARGET_DIR}'; grep 'usr/lib/.*\.la$$$$' \ + $(TOOLS_DIR)/cpio -padlmu '$${STAGING_DIR}' + @cd '$${STAGING_DIR}'; grep 'usr/lib/.*\.la$$$$' \ '$${STAGING_PKG_DIR}/$(1)' | while read fn; do \ chmod u+w $$$$fn; \ $(SED) "s,\(^libdir='\| \|-L\|^dependency_libs='\)/usr/lib,\1$(STAGING_TARGET_DIR)/usr/lib,g" $$$$fn; \ @@ -223,7 +222,7 @@ clean-targets: clean-dev-$(1) clean-dev-$(1): ifeq (,$(filter noremove,$(7))) @if test -s '$${STAGING_PKG_DIR}/$(1)'; then \ - cd '$${STAGING_TARGET_DIR}'; \ + cd '$${STAGING_DIR}'; \ while read fn; do \ rm -f "$$$$fn"; \ done <'$${STAGING_PKG_DIR}/$(1)'; \ diff --git a/mk/pkg-bottom.mk b/mk/pkg-bottom.mk index f91e1bb45..436a0cbee 100644 --- a/mk/pkg-bottom.mk +++ b/mk/pkg-bottom.mk @@ -130,7 +130,7 @@ post-install: spkg-install: ${ALL_POSTINST} ${_FAKE_COOKIE}: ${_BUILD_COOKIE} -rm -f ${_ALL_CONTROLS} - @mkdir -p '${STAGING_PKG_DIR}' ${WRKINST} '${STAGING_TARGET_DIR}/scripts' + @mkdir -p '${STAGING_PKG_DIR}' ${WRKINST} '${STAGING_DIR}/scripts' @mkdir -p ${WRKINST}/{sbin,bin,etc,lib} ${WRKINST}/usr/{sbin,bin,lib} @${MAKE} ${_ALL_CONTROLS} $(MAKE_TRACE) @env ${MAKE_ENV} ${MAKE} pre-install $(MAKE_TRACE) @@ -155,7 +155,7 @@ ifeq ($(ADK_NATIVE),) endif ifeq (,$(filter noremove,${PKG_OPTS})) @if test -s '${STAGING_PKG_DIR}/${PKG_NAME}'; then \ - cd '${STAGING_TARGET_DIR}'; \ + cd '${STAGING_DIR}'; \ while read fn; do \ rm -f "$$fn"; \ done <'${STAGING_PKG_DIR}/${PKG_NAME}'; \ @@ -170,14 +170,14 @@ endif find usr ! -type d 2>/dev/null | \ grep -v -e '^usr/share' -e '^usr/man' -e '^usr/info' -e '^usr/lib/libc.so' | \ tee '${STAGING_PKG_DIR}/${PKG_NAME}' | \ - $(TOOLS_DIR)/cpio -padlmu '${STAGING_TARGET_DIR}' - @cd '${STAGING_TARGET_DIR}'; grep 'usr/lib/.*\.la$$' \ + $(TOOLS_DIR)/cpio -padlmu '${STAGING_DIR}' + @cd '${STAGING_DIR}'; grep 'usr/lib/.*\.la$$' \ '${STAGING_PKG_DIR}/${PKG_NAME}' | while read fn; do \ chmod u+w $$fn; \ $(SED) "s,\(^libdir='\| \|-L\|^dependency_libs='\)/usr/lib,\1$(STAGING_TARGET_DIR)/usr/lib,g" $$fn; \ done ifeq (,$(filter noscripts,${PKG_OPTS})) - @cd '${STAGING_TARGET_DIR}'; grep 'usr/s*bin/' \ + @cd '${STAGING_DIR}'; grep 'usr/s*bin/' \ '${STAGING_PKG_DIR}/${PKG_NAME}' | \ while read fn; do \ b="$$(dd if="$$fn" bs=2 count=1 2>/dev/null)"; \ @@ -240,7 +240,7 @@ clean-targets: clean-dev-generic clean-dev-generic: ifeq (,$(filter noremove,${PKG_OPTS})) @if test -s '${STAGING_PKG_DIR}/${PKG_NAME}'; then \ - cd '${STAGING_TARGET_DIR}'; \ + cd '${STAGING_DIR}'; \ while read fn; do \ rm -f "$$fn"; \ done <'${STAGING_PKG_DIR}/${PKG_NAME}'; \ diff --git a/mk/vars.mk b/mk/vars.mk index 61e71de1d..d83f7eca8 100644 --- a/mk/vars.mk +++ b/mk/vars.mk @@ -26,6 +26,7 @@ else STAGING_TARGET_DIR:= ${BASE_DIR}/target_${CPU_ARCH}_${ADK_TARGET_LIBC} SCRIPT_TARGET_DIR:= ${STAGING_TARGET_DIR}/scripts endif +STAGING_DIR:= ${BASE_DIR}/target_${CPU_ARCH}_${ADK_TARGET_LIBC} STAGING_TARGET_DIR_PFX:=${BASE_DIR}/target_* # relation from STAGING_HOST_DIR to STAGING_TARGET_DIR (for gcc to find # its sysroot while staying relocatable) diff --git a/package/MesaLib/Makefile b/package/MesaLib/Makefile index 74b9cb474..67850ceb9 100644 --- a/package/MesaLib/Makefile +++ b/package/MesaLib/Makefile @@ -15,7 +15,9 @@ PKG_BUILDDEP+= dri2proto glproto expat PKG_URL:= http://www.mesa3d.org/ PKG_SITES:= ftp://ftp.freedesktop.org/pub/mesa/7.8.2/ -PKG_SUBPKGS:= MESALIB GLXINFO GLXGEARS +PKG_SUBPKGS:= MESALIB MESALIB_DEV GLXINFO GLXGEARS +PKGSD_MESALIB_DEV:= MESA headers +PKGSC_MESALIB_DEV:= devel PKGSD_GLXINFO:= Display various GLX information PKGSC_GLXINFO:= x11/apps PKGSD_GLXGEARS:= Nice little OpenGL demo application @@ -28,6 +30,7 @@ WRKDIST= ${WRKDIR}/Mesa-${PKG_VERSION} include $(TOPDIR)/mk/package.mk $(eval $(call PKG_template,MESALIB,mesalib,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) +$(eval $(call PKG_template,MESALIB_DEV,mesalib-dev,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_MESALIB_DEV},${PKGSC_MESALIB_DEV})) $(eval $(call PKG_template,GLXINFO,glxinfo,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_GLXINFO},${PKGSC_GLXINFO})) $(eval $(call PKG_template,GLXGEARS,glxgears,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_GLXGEARS},${PKGSC_GLXGEARS})) @@ -43,6 +46,9 @@ CONFIGURE_ARGS+= --disable-static \ --with-demos=xdemos XAKE_FLAGS+= HOST_CC=${CC_FOR_BUILD} GLSL_CL=${STAGING_HOST_DIR}/bin/glslcompile +ifeq ($(ADK_NATIVE),y) +XAKE_FLAGS+= RANLIB=ranlib AR=ar +endif post-extract: (cd ${WRKBUILD}; rm -rf config.{cache,status}; \ @@ -58,25 +64,33 @@ post-extract: ${STAGING_HOST_DIR}/bin/glslcompile ${MAKE} -C ${WRKBUILD}/src/glsl clean -pre-configure: - $(SED) "s#@@RANLIB@@#${TARGET_CROSS}ranlib#" ${WRKBUILD}/configs/default - $(SED) "s#@@AR@@#${TARGET_CROSS}ar#" ${WRKBUILD}/configs/default - -post-install: +mesalib-install: $(INSTALL_DIR) $(IDIR_MESALIB)/usr/lib/dri $(CP) $(WRKINST)/usr/lib/libGL*.so* \ $(IDIR_MESALIB)/usr/lib + ${CP} $(WRKINST)/usr/lib/dri/swrast_dri.so \ + ${IDIR_MESALIB}/usr/lib/dri/ ifeq (${ADK_TARGET_SYSTEM_IBM_X40},y) ${CP} $(WRKINST)/usr/lib/dri/i915_dri.so \ ${IDIR_MESALIB}/usr/lib/dri/ endif - ${CP} $(WRKINST)/usr/lib/dri/swrast_dri.so \ - ${IDIR_MESALIB}/usr/lib/dri/ + +glxinfo-install: ${INSTALL_DIR} ${IDIR_GLXINFO}/usr/bin ${INSTALL_BIN} ${WRKBUILD}/progs/xdemos/glxinfo \ ${IDIR_GLXINFO}/usr/bin/ + +glxgears-install: ${INSTALL_DIR} ${IDIR_GLXGEARS}/usr/bin ${INSTALL_BIN} ${WRKBUILD}/progs/xdemos/glxgears \ ${IDIR_GLXGEARS}/usr/bin/ +mesalib-dev-install: + $(INSTALL_DIR) $(IDIR_MESALIB_DEV)/usr/include + ${CP} ${WRKINST}/usr/include/* \ + $(IDIR_MESALIB_DEV)/usr/include + $(INSTALL_DIR) $(IDIR_MESALIB_DEV)/usr/lib/pkgconfig + ${CP} ${WRKINST}/usr/lib/pkgconfig/*.pc \ + $(IDIR_MESALIB_DEV)/usr/lib/pkgconfig + include ${TOPDIR}/mk/pkg-bottom.mk diff --git a/package/bdftopcf/Makefile b/package/bdftopcf/Makefile new file mode 100644 index 000000000..f807f9d48 --- /dev/null +++ b/package/bdftopcf/Makefile @@ -0,0 +1,24 @@ +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +include $(TOPDIR)/rules.mk + +PKG_NAME:= bdftopcf +PKG_VERSION:= 1.0.3 +PKG_RELEASE:= 1 +PKG_MD5SUM:= f2d5c8a7813c3f9902e163c620a83dd4 +PKG_DESCR:= bdftopcf font utility +PKG_BUILDDEP:= libXfont +PKG_SECTION:= x11/apps +PKG_SITES:= ${MASTER_SITE_XORG} + +include $(TOPDIR)/mk/package.mk + +$(eval $(call PKG_template,BDFTOPCF,bdftopcf,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) + +bdftopcf-install: + $(INSTALL_DIR) $(IDIR_BDFTOPCF)/usr/bin + $(INSTALL_BIN) $(WRKINST)/usr/bin/bdftopcf \ + $(IDIR_BDFTOPCF)/usr/bin + +include ${TOPDIR}/mk/pkg-bottom.mk diff --git a/package/bigreqsproto/Makefile b/package/bigreqsproto/Makefile index fb7cc7f97..454ff1b60 100644 --- a/package/bigreqsproto/Makefile +++ b/package/bigreqsproto/Makefile @@ -18,5 +18,8 @@ $(eval $(call PKG_template,BIGREQSPROTO,bigreqsproto,$(PKG_VERSION)-${PKG_RELEAS post-install: ${INSTALL_DIR} ${IDIR_BIGREQSPROTO}/usr/include ${CP} ${WRKINST}/usr/include/X11 ${IDIR_BIGREQSPROTO}/usr/include + ${INSTALL_DIR} ${IDIR_BIGREQSPROTO}/usr/lib/pkgconfig + ${INSTALL_DATA} ${WRKINST}/usr/lib/pkgconfig/bigreqsproto.pc \ + ${IDIR_BIGREQSPROTO}/usr/lib/pkgconfig include ${TOPDIR}/mk/pkg-bottom.mk diff --git a/package/compositeproto/Makefile b/package/compositeproto/Makefile index 423327db7..ee4012569 100644 --- a/package/compositeproto/Makefile +++ b/package/compositeproto/Makefile @@ -18,5 +18,8 @@ $(eval $(call PKG_template,COMPOSITEPROTO,compositeproto,$(PKG_VERSION)-${PKG_RE post-install: ${INSTALL_DIR} ${IDIR_COMPOSITEPROTO}/usr/include ${CP} ${WRKINST}/usr/include/X11 ${IDIR_COMPOSITEPROTO}/usr/include + ${INSTALL_DIR} ${IDIR_COMPOSITEPROTO}/usr/lib/pkgconfig + ${CP} ${WRKINST}/usr/lib/pkgconfig/compositeproto.pc \ + ${IDIR_COMPOSITEPROTO}/usr/lib/pkgconfig include ${TOPDIR}/mk/pkg-bottom.mk diff --git a/package/curl/Makefile b/package/curl/Makefile index 4e1dd6bf5..8a1535a41 100644 --- a/package/curl/Makefile +++ b/package/curl/Makefile @@ -70,5 +70,8 @@ libcurl-dev-install: ${INSTALL_DIR} ${IDIR_LIBCURL_DEV}/usr/include/curl ${CP} ${WRKINST}/usr/include/curl/*.h \ ${IDIR_LIBCURL_DEV}/usr/include/curl/ + ${INSTALL_DIR} ${IDIR_LIBCURL_DEV}/usr/bin < |