cleanup and restructure enlightenment and its libraries, remove and add workarounds...
[openwrt/svn-archive/feeds.git] / efl / enlightenment / Makefile
1 #
2 # Copyright (C) 2006-2008 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7 # $Id: Makefile 12228 2008-08-06 22:43:15Z nbd $
8
9 include $(TOPDIR)/rules.mk
10
11 PKG_NAME:=enlightenment
12 PKG_REV:=38886
13 PKG_VERSION:=r$(PKG_REV)
14 PKG_RELEASE:=1
15
16 PKG_SOURCE_PROTO:=svn
17 PKG_SOURCE_VERSION:=$(PKG_REV)
18 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
19 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
20 PKG_SOURCE_URL:=http://svn.enlightenment.org/svn/e/trunk/e
21 PKG_BUILD_DIR=$(BUILD_DIR)/Xorg/$(_CATEGORY)/$(PKG_NAME)-$(PKG_VERSION)/
22
23 PKG_FIXUP = libtool
24
25 include $(INCLUDE_DIR)/package.mk
26
27 define Package/enlightenment
28 SECTION:=xorg-wm
29 CATEGORY:=Xorg
30 SUBMENU:=window manager
31 TITLE:=Enlightenment e17 window manager
32 URL:=http://enlightenment.org
33 DEPENDS:=+libintl +eet +evas +ecore +edje +efreet +dbus +edbus +dejavu-fonts-ttf +freedesktop-compliant
34 endef
35
36 define Package/enlightenment/config
37 menu "Configuration"
38 depends on PACKAGE_enlightenment
39 source "$(SOURCE)/Config.in"
40 endmenu
41 endef
42
43 define Package/enlightenment/description
44 Enlightenment is a window manager. Enlightenment is a desktop shell. Enlightenment is the building blocks to create beautiful applications. Enlightenment, or simply e, is a group of people trying to make a new generation of software.
45 endef
46
47 TARGET_CFLAGS+=-I$(STAGING_DIR)/usr/lib/libintl/include
48 TARGET_LDFLAGS+=-lintl -L$(STAGING_DIR)/usr/lib/libintl/lib
49
50 define Build/Configure
51 ( cd $(PKG_BUILD_DIR); NOCONFIGURE=YES ./autogen.sh );
52 $(call Build/Configure/Default, \
53 --with-x \
54 --with-edje-cc=$(STAGING_DIR_HOST)/usr/bin/edje_cc \
55 --with-eet-eet=$(STAGING_DIR_HOST)/usr/bin/eet \
56 --disable-nls \
57 --disable-rpath \
58 --enable-ibar \
59 --enable-dropshadow \
60 --enable-clock \
61 --enable-pager \
62 --enable-battery \
63 --enable-temperature \
64 --enable-cpufreq \
65 --enable-ibox \
66 --enable-start \
67 --enable-exebuf \
68 --enable-winlist \
69 --enable-fileman \
70 --disable-wizard \
71 --disable-msgbus-lang \
72 --enable-gadman \
73 --enable-mixer \
74 --disable-connman \
75 --enable-illume \
76 --enable-syscon \
77 --disable-pam \
78 --disable-simple-x11 \
79 --enable-files \
80 )
81 endef
82
83 PROFILES:=\
84 illume \
85 minimalist \
86 netbook \
87 scalable \
88 standard \
89
90 define Build/Compile
91 mkdir -p $(STAGING_DIR_HOST)/usr/bin
92 # let's see who is workarounding the edje[_cc]/eet-issue most dirrty ^^
93 ln -sf `which edje_cc` $(STAGING_DIR_HOST)/usr/bin/
94 ln -sf `which eet` $(STAGING_DIR_HOST)/usr/bin/
95 DESTDIR="$(PKG_INSTALL_DIR)" $(MAKE) -C $(PKG_BUILD_DIR) all install
96 $(foreach c, $(PROFILES), \
97 ! [ -f ./files/config/$(c).cfg.src ] || $(STAGING_DIR_HOST)/usr/bin/eet -e $(PKG_INSTALL_DIR)/usr/share/enlightenment/data/config/$(c)/e.cfg config ./files/config/$(c).cfg.src 1
98 )
99 rm -f $(STAGING_DIR_HOST)/usr/bin/{edje_cc,eet}
100 endef
101
102 define Build/InstallDev
103 $(INSTALL_DIR) $(1)/usr/include $(1)/usr/lib $(1)/usr/bin $(1)/usr/share
104 $(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
105 $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
106 $(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
107 $(CP) $(PKG_INSTALL_DIR)/usr/share/* $(1)/usr/share/
108 endef
109
110 define Package/enlightenment/install
111 $(INSTALL_DIR) $(1)/usr/lib $(1)/usr/bin $(1)/usr/share $(1)/etc/uci-defaults
112 $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
113 $(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
114 $(CP) $(PKG_INSTALL_DIR)/usr/share/* $(1)/usr/share/
115 $(foreach c, $(PROFILES), \
116 $(if $(CONFIG_E17_$(c)), \
117 $(INSTALL_DATA) ./files/uci-defaults/x11_$(c) $(1)/etc/uci-defaults/
118 )
119 )
120 $(FIND) $(1)/ -name "*.la" | $(XARGS) rm
121 $(FIND) $(1)/ -name "*.a" | $(XARGS) rm
122 endef
123
124 define Package/enlightenment/postinst
125 #!/bin/sh
126 [ -n "$${IPKG_INSTROOT}" ] && exit
127 . /etc/functions.sh
128 uci_apply_defaults
129 endef
130
131 $(eval $(call BuildPackage,enlightenment))
132 $(eval $(call RequireCommand,edje_cc, \
133 Command <edje_cc> not found - please install edje with edje-cc enabled \
134 ))
135 $(eval $(call RequireCommand,eet, \
136 Command <eet> not found - please install eet \
137 ))