################################################################################ # Embtoolkit # Copyright(C) 2009-2011 Abdoulaye Walsimou GAYE. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # ################################################################################ # # \file directfb.mk # \brief directfb.mk of Embtoolkit # \author Abdoulaye Walsimou GAYE # \date October 2009 ################################################################################ DIRECTFB_NAME := directfb DIRECTFB_VERSION := $(call embtk_get_pkgversion,directfb) DIRECTFB_BRANCH := $(call embtk_get_pkgversion,directfb_branch) DIRECTFB_SITE := http://www.directfb.org/downloads/Core/$(DIRECTFB_BRANCH) DIRECTFB_PACKAGE := DirectFB-$(DIRECTFB_VERSION).tar.gz DIRECTFB_SRC_DIR := $(PACKAGES_BUILD)/DirectFB-$(DIRECTFB_VERSION) DIRECTFB_BUILD_DIR := $(PACKAGES_BUILD)/DirectFB-$(DIRECTFB_VERSION) DIRECTFB_BINS = c64xdump dfbfx dfbinfo dfbinspector dfbmaster \ dfbscreen directfb-csource mkdgiff dfbdump dfbg \ dfbinput dfblayer dfbpenmount directfb-config mkdfiff \ pxa3xx_dump DIRECTFB_SBINS = DIRECTFB_LIBS = directfb* libdavinci_c64x* libdirect* libdirectfb* \ libfusion* DIRECTFB_INCLUDES = directfb* DIRECTFB_CONFIGURE_OPTS := --program-suffix="" --disable-x11 #Graphics CONFIG_DIRECTFB_GRAPHICS-y := --with-gfxdrivers=" CONFIG_DIRECTFB_GRAPHICS-$(CONFIG_EMBTK_DIRECTFB_GRAPHIC_ATI128) += ati128 CONFIG_DIRECTFB_GRAPHICS-$(CONFIG_EMBTK_DIRECTFB_GRAPHIC_CLE266) += , cle266 CONFIG_DIRECTFB_GRAPHICS-$(CONFIG_EMBTK_DIRECTFB_GRAPHIC_CYBER5K) += , cyber5k CONFIG_DIRECTFB_GRAPHICS-$(CONFIG_EMBTK_DIRECTFB_GRAPHIC_DAVINCI) += , davinci CONFIG_DIRECTFB_GRAPHICS-$(CONFIG_EMBTK_DIRECTFB_GRAPHIC_EP9X) += , ep9x CONFIG_DIRECTFB_GRAPHICS-$(CONFIG_EMBTK_DIRECTFB_GRAPHIC_GL) += , gl CONFIG_DIRECTFB_GRAPHICS-$(CONFIG_EMBTK_DIRECTFB_GRAPHIC_I810) += , i810 CONFIG_DIRECTFB_GRAPHICS-$(CONFIG_EMBTK_DIRECTFB_GRAPHIC_I830) += , i830 CONFIG_DIRECTFB_GRAPHICS-$(CONFIG_EMBTK_DIRECTFB_GRAPHIC_MACH64) += , mach64 CONFIG_DIRECTFB_GRAPHICS-$(CONFIG_EMBTK_DIRECTFB_GRAPHIC_MATROX) += , matrox CONFIG_DIRECTFB_GRAPHICS-$(CONFIG_EMBTK_DIRECTFB_GRAPHIC_NEOMAGIC) += , neomagic CONFIG_DIRECTFB_GRAPHICS-$(CONFIG_EMBTK_DIRECTFB_GRAPHIC_NSC) += , nsc CONFIG_DIRECTFB_GRAPHICS-$(CONFIG_EMBTK_DIRECTFB_GRAPHIC_NVIDIA) += , nvidia CONFIG_DIRECTFB_GRAPHICS-$(CONFIG_EMBTK_DIRECTFB_GRAPHIC_OMAP) += , omap CONFIG_DIRECTFB_GRAPHICS-$(CONFIG_EMBTK_DIRECTFB_GRAPHIC_PXA3XX) += , pxa3xx CONFIG_DIRECTFB_GRAPHICS-$(CONFIG_EMBTK_DIRECTFB_GRAPHIC_RADEON) += , radeon CONFIG_DIRECTFB_GRAPHICS-$(CONFIG_EMBTK_DIRECTFB_GRAPHIC_SAVAGE) += , savage CONFIG_DIRECTFB_GRAPHICS-$(CONFIG_EMBTK_DIRECTFB_GRAPHIC_SH772X) += , sh772x CONFIG_DIRECTFB_GRAPHICS-$(CONFIG_EMBTK_DIRECTFB_GRAPHIC_SIS315) += , sis315 CONFIG_DIRECTFB_GRAPHICS-$(CONFIG_EMBTK_DIRECTFB_GRAPHIC_TDFX) += , tdfx CONFIG_DIRECTFB_GRAPHICS-$(CONFIG_EMBTK_DIRECTFB_GRAPHIC_UNICHROME) += , unichrome CONFIG_DIRECTFB_GRAPHICS-$(CONFIG_EMBTK_DIRECTFB_GRAPHIC_VMWARE) += , vmware CONFIG_DIRECTFB_GRAPHICS-y +=" #Inputs CONFIG_DIRECTFB_INPUTS-y := --with-inputdrivers=" CONFIG_DIRECTFB_INPUTS-$(CONFIG_EMBTK_DIRECTFB_INPUT_DBOX2REMOTE) += dbox2remote CONFIG_DIRECTFB_INPUTS-$(CONFIG_EMBTK_DIRECTFB_INPUT_DBOXREMOTE) += , dreamboxremote CONFIG_DIRECTFB_INPUTS-$(CONFIG_EMBTK_DIRECTFB_INPUT_DYNAPRO) += , dynapro CONFIG_DIRECTFB_INPUTS-$(CONFIG_EMBTK_DIRECTFB_INPUT_ELOINPUT) += , elo-input CONFIG_DIRECTFB_INPUTS-$(CONFIG_EMBTK_DIRECTFB_INPUT_GUNZE) += , gunze CONFIG_DIRECTFB_INPUTS-$(CONFIG_EMBTK_DIRECTFB_INPUT_H3600TS) += , h3600_ts CONFIG_DIRECTFB_INPUTS-$(CONFIG_EMBTK_DIRECTFB_INPUT_JOYSTICK) += , joystick CONFIG_DIRECTFB_INPUTS-$(CONFIG_EMBTK_DIRECTFB_INPUT_KEYBOARD) += , keyboard CONFIG_DIRECTFB_INPUTS-$(CONFIG_EMBTK_DIRECTFB_INPUT_LINUXINPUT) += , linuxinput CONFIG_DIRECTFB_INPUTS-$(CONFIG_EMBTK_DIRECTFB_INPUT_LIRC) += , lirc CONFIG_DIRECTFB_INPUTS-$(CONFIG_EMBTK_DIRECTFB_INPUT_MUTOUCH) += , mutouch CONFIG_DIRECTFB_INPUTS-$(CONFIG_EMBTK_DIRECTFB_INPUT_PENMOUNT) += , penmount CONFIG_DIRECTFB_INPUTS-$(CONFIG_EMBTK_DIRECTFB_INPUT_PS2MOUSE) += , ps2mouse CONFIG_DIRECTFB_INPUTS-$(CONFIG_EMBTK_DIRECTFB_INPUT_SERIALMOUSE) += , serialmouse CONFIG_DIRECTFB_INPUTS-$(CONFIG_EMBTK_DIRECTFB_INPUT_SONYPIJOGDIAL) += , sonypijogdial CONFIG_DIRECTFB_INPUTS-$(CONFIG_EMBTK_DIRECTFB_INPUT_TSLIB) += , tslib CONFIG_DIRECTFB_INPUTS-$(CONFIG_EMBTK_DIRECTFB_INPUT_UC1X00) += , ucb1x00 CONFIG_DIRECTFB_INPUTS-$(CONFIG_EMBTK_DIRECTFB_INPUT_WM97XX) += , wm97xx CONFIG_DIRECTFB_INPUTS-$(CONFIG_EMBTK_DIRECTFB_INPUT_ZYTRONIC) += , zytronic CONFIG_DIRECTFB_INPUTS-y +=" DIRECTFB_CONFIGURE_OPTS += $(CONFIG_DIRECTFB_GRAPHICS-y) DIRECTFB_CONFIGURE_OPTS += $(CONFIG_DIRECTFB_INPUTS-y) # directfb deps DIRECTFB_DEPS := libpng_install freetype_install libjpeg_install DIRECTFB_DEPS += $(if $(CONFIG_EMBTK_DIRECTFB_INPUT_TSLIB),tslib_install) define embtk_postinstall_directfb $(Q)test -e $(DIRECTFB_BUILD_DIR)/.patchlibtool || \ $(MAKE) $(DIRECTFB_BUILD_DIR)/.patchlibtool $(Q)mkdir -p $(embtk_rootfs) $(Q)mkdir -p $(embtk_rootfs)/etc $(Q)-cp $(DIRECTFB_BUILD_DIR)/fb.modes $(embtk_rootfs)/etc $(Q)mkdir -p $(embtk_rootfs)/usr $(Q)mkdir -p $(embtk_rootfs)/usr/$(LIBDIR) $(Q)-cp -R $(embtk_sysroot)/usr/lib/directfb-*-* $(embtk_rootfs)/usr/$(LIBDIR) endef $(DIRECTFB_BUILD_DIR)/.patchlibtool: ifeq ($(CONFIG_EMBTK_64BITS_FS_COMPAT32),y) $(Q)DIRECTFB_LT_FILES=`find $(embtk_sysroot)/usr/lib32/directfb-* -type f -name *.la`; \ for i in $$DIRECTFB_LT_FILES; \ do \ sed \ -e "s; \/usr\/lib32\/libfusion.la ; $(embtk_sysroot)\/usr\/lib32\/libfusion.la ;" \ -e "s; \/usr\/lib32\/libdirect.la ; $(embtk_sysroot)\/usr\/lib32\/libdirect.la ;" \ -e "s; \/usr\/lib32\/libdirectfb.la ; $(embtk_sysroot)\/usr\/lib32\/libdirectfb.la ;" \ < $$i > $$i.new; \ mv $$i.new $$i; \ done $(Q)sed \ -e "s; \/usr\/lib32\/libfusion.la ; $(embtk_sysroot)\/usr\/lib32\/libfusion.la ;" \ -e "s; \/usr\/lib32\/libdirect.la ; $(embtk_sysroot)\/usr\/lib32\/libdirect.la ;" \ -e "s; \/usr\/lib32\/libdirectfb.la ; $(embtk_sysroot)\/usr\/lib32\/libdirectfb.la ;" \ < $(embtk_sysroot)/usr/lib32/libfusion.la > libfusion.la.new; \ mv libfusion.la.new $(embtk_sysroot)/usr/lib32/libfusion.la $(Q)sed \ -e "s; \/usr\/lib32\/libfusion.la ; $(embtk_sysroot)\/usr\/lib32\/libfusion.la ;" \ -e "s; \/usr\/lib32\/libdirect.la ; $(embtk_sysroot)\/usr\/lib32\/libdirect.la ;" \ -e "s; \/usr\/lib32\/libdirectfb.la ; $(embtk_sysroot)\/usr\/lib32\/libdirectfb.la ;" \ < $(embtk_sysroot)/usr/lib32/libdirectfb.la > libdirectfb.la.new; \ mv libdirectfb.la.new $(embtk_sysroot)/usr/lib32/libdirectfb.la else $(Q)DIRECTFB_LT_FILES=`find $(embtk_sysroot)/usr/lib/directfb-* -type f -name *.la`; \ for i in $$DIRECTFB_LT_FILES; \ do \ sed \ -e "s; \/usr\/lib\/libfusion.la ; $(embtk_sysroot)\/usr\/lib\/libfusion.la ;" \ -e "s; \/usr\/lib\/libdirect.la ; $(embtk_sysroot)\/usr\/lib\/libdirect.la ;" \ -e "s; \/usr\/lib\/libdirectfb.la ; $(embtk_sysroot)\/usr\/lib\/libdirectfb.la ;" \ < $$i > $$i.new; \ mv $$i.new $$i; \ done $(Q)sed \ -e "s; \/usr\/lib\/libfusion.la ; $(embtk_sysroot)\/usr\/lib\/libfusion.la ;" \ -e "s; \/usr\/lib\/libdirect.la ; $(embtk_sysroot)\/usr\/lib\/libdirect.la ;" \ -e "s; \/usr\/lib\/libdirectfb.la ; $(embtk_sysroot)\/usr\/lib\/libdirectfb.la ;" \ < $(embtk_sysroot)/usr/lib/libfusion.la > libfusion.la.new; \ mv libfusion.la.new $(embtk_sysroot)/usr/lib/libfusion.la $(Q)sed \ -e "s; \/usr\/lib\/libfusion.la ; $(embtk_sysroot)\/usr\/lib\/libfusion.la ;" \ -e "s; \/usr\/lib\/libdirect.la ; $(embtk_sysroot)\/usr\/lib\/libdirect.la ;" \ -e "s; \/usr\/lib\/libdirectfb.la ; $(embtk_sysroot)\/usr\/lib\/libdirectfb.la ;" \ < $(embtk_sysroot)/usr/lib/libdirectfb.la > libdirectfb.la.new; \ mv libdirectfb.la.new $(embtk_sysroot)/usr/lib/libdirectfb.la endif