diff options
-rw-r--r-- | Kconfig | 6 | ||||
-rw-r--r-- | Makefile | 15 | ||||
-rw-r--r-- | mk/macros.mk | 46 | ||||
-rw-r--r-- | packages/graphics/imlib2/imlib2.mk | 58 | ||||
-rw-r--r-- | packages/graphics/pango/pango.mk | 72 |
5 files changed, 108 insertions, 89 deletions
@@ -28,6 +28,10 @@ config EMBTK_DOTCONFIG bool default y +config EMBTK_DEFAULT_DL + string + option env="EMBTK_DEFAULT_DL" + menu "Architecture/variants/options Selection" source "kconfig/arch.kconfig" source "kconfig/arch-variant.kconfig" @@ -84,7 +88,7 @@ config EMBTK_NUMBER_BUILD_JOBS config EMBTK_DOWNLOAD_DIR string "Download directory" - default "$(EMBTK_ROOT)/dl" + default $EMBTK_DEFAULT_DL help Directory where downloaded packages are stored. @@ -84,21 +84,26 @@ All: $(EMBTK_BUILD) xconfig: basic ifeq ($(CONFIG_EMBTK_DOTCONFIG),y) - $(Q)make -f scripts/Makefile.build obj=scripts/kconfig xconfig + $(Q)make -f scripts/Makefile.build obj=scripts/kconfig \ + EMBTK_DEFAULT_DL="$(EMBTK_ROOT)/dl/" xconfig else $(Q)if [ -e $(EMBTK_DOTCONFIG).old ]; then \ cp $(EMBTK_DOTCONFIG).old $(EMBTK_DOTCONFIG); \ - $(MAKE) -f scripts/Makefile.build obj=scripts/kconfig xconfig; \ + $(MAKE) -f scripts/Makefile.build obj=scripts/kconfig \ + EMBTK_DEFAULT_DL="$(EMBTK_ROOT)/dl/" xconfig; \ else \ - $(MAKE) -f scripts/Makefile.build obj=scripts/kconfig xconfig; \ + $(MAKE) -f scripts/Makefile.build obj=scripts/kconfig \ + EMBTK_DEFAULT_DL="$(EMBTK_ROOT)/dl/" xconfig; \ fi endif menuconfig: basic - $(Q)$(MAKE) -f scripts/Makefile.build obj=scripts/kconfig menuconfig + $(Q)$(MAKE) -f scripts/Makefile.build obj=scripts/kconfig \ + EMBTK_DEFAULT_DL="$(EMBTK_ROOT)/dl/" menuconfig randconfig: basic - $(Q)$(MAKE) -f scripts/Makefile.build obj=scripts/kconfig randconfig + $(Q)$(MAKE) -f scripts/Makefile.build obj=scripts/kconfig \ + EMBTK_DEFAULT_DL="$(EMBTK_ROOT)/dl/" randconfig basic: $(Q)$(MAKE) -f scripts/Makefile.build obj=scripts/basic diff --git a/mk/macros.mk b/mk/macros.mk index eeb34ab..519c26a 100644 --- a/mk/macros.mk +++ b/mk/macros.mk @@ -151,6 +151,30 @@ endif @echo $(call embtk_echo_blue,"################################################################################") +# +# embtk_pkgconfig_getlibs: +# A macro to get pkg-config libs entry for a target package +# Usage: $(call embtk_pkgconfig_getlibs,pkgname) +# +define embtk_pkgconfig_getlibs + $(shell \ + PKG_CONFIG_PATH=$(EMBTK_PKG_CONFIG_PATH) \ + PKG_CONFIG_LIBDIR="$(EMBTK_PKG_CONFIG_LIBDIR)" \ + $(PKGCONFIG_BIN) $(strip $(1)) --libs) +endef + +# +# embtk_pkgconfig_getcflags: +# A macro to get pkg-config cflags entry for a target package +# Usage: $(call embtk_pkgconfig_getcflags,pkgname) +# +define embtk_pkgconfig_getcflags + $(shell \ + PKG_CONFIG_PATH=$(EMBTK_PKG_CONFIG_PATH) \ + PKG_CONFIG_LIBDIR="$(EMBTK_PKG_CONFIG_LIBDIR)" \ + $(PKGCONFIG_BIN) $(strip $(1)) --cflags) +endef + #Macro to adapt libtool files (*.la) for cross compiling __ltlibdirold=libdir='\/usr\/$(LIBDIR)' __ltlibdirnew=libdir='$(SYSROOT)\/usr\/$(LIBDIR)' @@ -220,7 +244,23 @@ __embtk_pkg_configured-y = $(shell test -e $($(PKGV)_BUILD_DIR)/.configured && e # A macro to test if a package is already installed. # It returns y if installed and nothing if not. # -__embtk_pkg_installed-y = $(shell test -e $($(PKGV)_BUILD_DIR)/.installed && echo y) +__installed_f=$($(PKGV)_BUILD_DIR)/.installed +__pkgkconfig_f=$($(PKGV)_BUILD_DIR)/.embtk.$($(PKGV)_NAME).kconfig +__pkgkconfig_f_old=$($(PKGV)_BUILD_DIR)/.embtk.$($(PKGV)_NAME).kconfig.old +__embtk_pkg_installed-y = $(shell \ + if [ -e $(__installed_f) ] && [ -e $(__pkgkconfig_f) ]; then \ + cp $(__pkgkconfig_f) $(__pkgkconfig_f_old); \ + grep 'CONFIG_EMBTK_.*$(PKGV)_.*' $(EMBTK_DOTCONFIG) \ + > $(__pkgkconfig_f); \ + cmp -s $(__pkgkconfig_f) $(__pkgkconfig_f_old); \ + if [ "x$$?" = "x0" ]; then \ + echo y; \ + fi; \ + else \ + mkdir -p $($(PKGV)_BUILD_DIR); \ + grep 'CONFIG_EMBTK_.*$(PKGV)_.*' $(EMBTK_DOTCONFIG) \ + > $(__pkgkconfig_f); \ + fi;) # # A macro which runs configure script (conpatible with autotools configure) @@ -396,7 +436,7 @@ endef # $(call embtk_install_hostpkg,package) # define embtk_install_hostpkg - $(Q)$(if $(__embtk_pkg_installed-y),true, \ + $(Q)$(if $(__embtk_pkg_installed-y),true, \ $(call __embtk_install_hostpkg_make,$(1),autotools)) endef @@ -407,7 +447,7 @@ endef # $(call embtk_makeinstall_hostpkg,package) # define embtk_makeinstall_hostpkg - $(Q)$(if $(__embtk_pkg_installed-y),true, \ + $(Q)$(if $(__embtk_pkg_installed-y),true, \ $(call __embtk_install_hostpkg_make,$(1))) endef diff --git a/packages/graphics/imlib2/imlib2.mk b/packages/graphics/imlib2/imlib2.mk index c51dfdf..f79238a 100644 --- a/packages/graphics/imlib2/imlib2.mk +++ b/packages/graphics/imlib2/imlib2.mk @@ -23,50 +23,34 @@ # \date June 2010 ################################################################################ -IMLIB2_NAME := imlib2 -IMLIB2_VERSION := $(call embtk_get_pkgversion,IMLIB2) -IMLIB2_SITE := http://downloads.sourceforge.net/project/enlightenment/imlib2-src/$(IMLIB2_VERSION) -IMLIB2_SITE_MIRROR3 := ftp://ftp.embtoolkit.org/embtoolkit.org/packages-mirror -IMLIB2_PATCH_SITE := ftp://ftp.embtoolkit.org/embtoolkit.org/imlib2/$(IMLIB2_VERSION) -IMLIB2_PACKAGE := imlib2-$(IMLIB2_VERSION).tar.gz -IMLIB2_SRC_DIR := $(PACKAGES_BUILD)/imlib2-$(IMLIB2_VERSION) -IMLIB2_BUILD_DIR := $(PACKAGES_BUILD)/imlib2-$(IMLIB2_VERSION) - -IMLIB2_BINS = imlib2_bumpmap imlib2_colorspace imlib2-config imlib2_conv \ - imlib2_grab imlib2_poly imlib2_show imlib2_test imlib2_view -IMLIB2_SBINS = -IMLIB2_INCLUDES = Imlib2.h -IMLIB2_LIBS = imlib2 libImlib2.* -IMLIB2_PKGCONFIGS = imlib2.pc - -IMLIB2_DEPS := libpng_install freetype_install libjpeg_install +IMLIB2_NAME := imlib2 +IMLIB2_VERSION := $(call embtk_get_pkgversion,imlib2) +IMLIB2_SITE := http://downloads.sourceforge.net/project/enlightenment/imlib2-src/$(IMLIB2_VERSION) +IMLIB2_SITE_MIRROR3 := ftp://ftp.embtoolkit.org/embtoolkit.org/packages-mirror +IMLIB2_PATCH_SITE := ftp://ftp.embtoolkit.org/embtoolkit.org/imlib2/$(IMLIB2_VERSION) +IMLIB2_PACKAGE := imlib2-$(IMLIB2_VERSION).tar.gz +IMLIB2_SRC_DIR := $(PACKAGES_BUILD)/imlib2-$(IMLIB2_VERSION) +IMLIB2_BUILD_DIR := $(PACKAGES_BUILD)/imlib2-$(IMLIB2_VERSION) + +IMLIB2_BINS = imlib2_bumpmap imlib2_colorspace imlib2-config \ + imlib2_conv imlib2_grab imlib2_poly imlib2_show \ + imlib2_test imlib2_view +IMLIB2_SBINS = +IMLIB2_INCLUDES = Imlib2.h +IMLIB2_LIBS = imlib2 libImlib2.* +IMLIB2_PKGCONFIGS = imlib2.pc + +IMLIB2_DEPS := libpng_install freetype_install libjpeg_install imlib2_install: - test -e $(IMLIB2_BUILD_DIR)/.installed || \ - $(MAKE) $(IMLIB2_BUILD_DIR)/.installed + $(call embtk_install_pkg,imlib2) $(Q)$(MAKE) $(IMLIB2_BUILD_DIR)/.special -$(IMLIB2_BUILD_DIR)/.installed: $(IMLIB2_DEPS) download_imlib2 \ - $(IMLIB2_BUILD_DIR)/.decompressed $(IMLIB2_BUILD_DIR)/.configured - $(call embtk_generic_message,"Compiling and installing \ - imlib2-$(IMLIB2_VERSION) in your root filesystem...") - $(Q)$(MAKE) -C $(IMLIB2_BUILD_DIR) $(J) - $(Q)$(MAKE) -C $(IMLIB2_BUILD_DIR) DESTDIR=$(SYSROOT) install - $(Q)$(MAKE) libtool_files_adapt - $(Q)$(MAKE) pkgconfig_files_adapt - @touch $@ - download_imlib2: - $(call embtk_download_pkg,IMLIB2) - -$(IMLIB2_BUILD_DIR)/.decompressed: - $(call embtk_decompress_pkg,IMLIB2) - -$(IMLIB2_BUILD_DIR)/.configured: - $(call embtk_configure_pkg,IMLIB2) + $(call embtk_download_pkg,imlib2) imlib2_clean: - $(call embtk_cleanup_pkg,IMLIB2) + $(call embtk_cleanup_pkg,imlib2) .PHONY: $(IMLIB2_BUILD_DIR)/.special diff --git a/packages/graphics/pango/pango.mk b/packages/graphics/pango/pango.mk index 07f7358..3b74fa1 100644 --- a/packages/graphics/pango/pango.mk +++ b/packages/graphics/pango/pango.mk @@ -23,55 +23,43 @@ # \date December 2009 ################################################################################ -PANGO_NAME := pango -PANGO_MAJOR_VERSION := $(call embtk_get_pkgversion,PANGO_MAJOR) -PANGO_VERSION := $(call embtk_get_pkgversion,PANGO) -PANGO_SITE := http://ftp.gnome.org/pub/gnome/sources/pango/$(PANGO_MAJOR_VERSION) -PANGO_SITE_MIRROR3 := ftp://ftp.embtoolkit.org/embtoolkit.org/packages-mirror -PANGO_PATCH_SITE := ftp://ftp.embtoolkit.org/embtoolkit.org/pango/$(PANGO_VERSION) -PANGO_PACKAGE := pango-$(PANGO_VERSION).tar.bz2 -PANGO_SRC_DIR := $(PACKAGES_BUILD)/pango-$(PANGO_VERSION) -PANGO_BUILD_DIR := $(PACKAGES_BUILD)/pango-$(PANGO_VERSION) +PANGO_NAME := pango +PANGO_MAJOR_VERSION := $(call embtk_get_pkgversion,pango_major) +PANGO_VERSION := $(call embtk_get_pkgversion,pango) +PANGO_SITE := http://ftp.gnome.org/pub/gnome/sources/pango/$(PANGO_MAJOR_VERSION) +PANGO_SITE_MIRROR3 := ftp://ftp.embtoolkit.org/embtoolkit.org/packages-mirror +PANGO_PATCH_SITE := ftp://ftp.embtoolkit.org/embtoolkit.org/pango/$(PANGO_VERSION) +PANGO_PACKAGE := pango-$(PANGO_VERSION).tar.bz2 +PANGO_SRC_DIR := $(PACKAGES_BUILD)/pango-$(PANGO_VERSION) +PANGO_BUILD_DIR := $(PACKAGES_BUILD)/pango-$(PANGO_VERSION) -PANGO_BINS = pango* -PANGO_SBINS = -PANGO_INCLUDES = pango* -PANGO_LIBS = pango-* pango* libpango* -PANGO_PKGCONFIGS = pango*.pc +PANGO_BINS = pango* +PANGO_SBINS = +PANGO_INCLUDES = pango* +PANGO_LIBS = pango-* pango* libpango* +PANGO_PKGCONFIGS = pango*.pc -ifeq ($(CONFIG_EMBTK_HAVE_PANGO_WITH_X),y) -PANGO_CONFIGURE_OPTS := --with-x -PANGO_DEPS := libx11_install -else -PANGO_CONFIGURE_OPTS := --without-x -endif -PANGO_DEPS += glib_install fontconfig_install cairo_install +PANGO_CONFIGURE_OPTS-y := $(if $(CONFIG_EMBTK_HAVE_PANGO_WITH_X), \ + --with-x,--without-x) +PANGO_DEPS-y := $(if $(CONFIG_EMBTK_HAVE_PANGO_WITH_X), \ + libx11_install) + +PANGO_CONFIGURE_OPTS := $(PANGO_CONFIGURE_OPTS-y) +PANGO_DEPS := glib_install fontconfig_install $(PANGO_DEPS-y) \ + cairo_install pango_install: - @test -e $(PANGO_BUILD_DIR)/.installed || \ - $(MAKE) $(PANGO_BUILD_DIR)/.installed + $(call embtk_install_pkg,pango) + $(Q)test -e $(PANGO_BUILD_DIR)/.patchlibtool || \ + $(MAKE) $(PANGO_BUILD_DIR)/.patchlibtool $(Q)$(MAKE) $(PANGO_BUILD_DIR)/.special -$(PANGO_BUILD_DIR)/.installed: $(PANGO_DEPS) download_pango \ - $(PANGO_BUILD_DIR)/.decompressed $(PANGO_BUILD_DIR)/.configured - $(call embtk_generic_message,"Compiling and installing \ - pango-$(PANGO_VERSION) in your root filesystem...") - $(Q)$(MAKE) -C $(PANGO_BUILD_DIR) $(J) - $(Q)$(MAKE) -C $(PANGO_BUILD_DIR) DESTDIR=$(SYSROOT) install - $(Q)$(MAKE) libtool_files_adapt - $(Q)$(MAKE) pkgconfig_files_adapt - $(Q)$(MAKE) $(PANGO_BUILD_DIR)/.patchlibtool - @touch $@ - download_pango: - $(call embtk_download_pkg,PANGO) - -$(PANGO_BUILD_DIR)/.decompressed: - $(call embtk_decompress_pkg,PANGO) + $(call embtk_download_pkg,pango) -$(PANGO_BUILD_DIR)/.configured: - $(call embtk_configure_pkg,PANGO) +pango_clean: + $(call embtk_cleanup_pkg,pango) $(PANGO_BUILD_DIR)/.patchlibtool: $(Q)PANGO_LT_FILES=`find $(SYSROOT)/usr/$(LIBDIR)/* -type f -name *.la`; \ @@ -83,12 +71,10 @@ $(PANGO_BUILD_DIR)/.patchlibtool: < $$i > $$i.new; \ mv $$i.new $$i; \ done + @touch $@ .PHONY: pango_clean $(PANGO_BUILD_DIR)/.special $(PANGO_BUILD_DIR)/.special: $(Q)-cp -R $(SYSROOT)/usr/$(LIBDIR)/pango $(ROOTFS)/usr/$(LIBDIR)/ @touch $@ - -pango_clean: - $(call embtk_cleanup_pkg,PANGO) |