2fec2895277ed3ed47230cc0121d08e88a11032e
[openwrt-10.03/.git] / package / compcache / Makefile
1 #
2 # Copyright (C) 2009 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 6562 2009-10-05 08:30:14 ghd $
8
9 include $(TOPDIR)/rules.mk
10 include $(INCLUDE_DIR)/kernel.mk
11
12 PKG_NAME:=compcache
13 PKG_VERSION:=0.6.2
14 PKG_RELEASE:=$(PKG_VERSION)-1
15 PKG_SOURCE_URL:=http://compcache.googlecode.com/files/
16 PKG_MD5SUM:=27aec78dc50e34fb800c74e879057743
17
18 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
19
20 include $(INCLUDE_DIR)/package.mk
21
22 define KernelPackage/compcache
23   SUBMENU:=Other modules
24   DEPENDS:=@LINUX_2_6 @BUSYBOX_CONFIG_SWAPONOFF
25   TITLE:=Driver for compressed ram swap device
26   VERSION:=$(LINUX_VERSION)-$(BOARD)-$(LINUX_RELEASE)+$(PKG_RELEASE)
27   FILES:=$(PKG_BUILD_DIR)/ramzswap.$(LINUX_KMOD_SUFFIX) \
28          $(PKG_BUILD_DIR)/sub-projects/compression/lzo-kmod/lzo1x.$(LINUX_KMOD_SUFFIX)
29 endef
30
31
32 include $(INCLUDE_DIR)/kernel-defaults.mk
33
34 LZO = sub-projects/compression/lzo-kmod
35 RZSC = sub-projects/rzscontrol
36
37 BUILDFLAGS:=-DCONFIG_RAMZSWAP_STATS \
38             -I$(PKG_BUILD_DIR)/$(LZO) \
39             -Wall
40
41 RZSCFLAGS:=-I$(PKG_BUILD_DIR)/$(RZSC)/../include \
42            -I$(PKG_BUILD_DIR)/$(RZSC)/../..
43
44 define Build/Compile
45         $(MAKE) $(KERNEL_MAKEOPTS) EXTRA_CFLAGS="$(BUILDFLAGS)" M="$(PKG_BUILD_DIR)" modules
46         $(TARGET_CC) $(TARGET_CFLAGS) $(RZSCFLAGS) $(PKG_BUILD_DIR)/$(RZSC)/rzscontrol.c -o $(PKG_BUILD_DIR)/rzscontrol
47 endef
48
49 define KernelPackage/compcache/install
50         $(INSTALL_DIR) $(1)/etc/config
51         $(INSTALL_DATA) ./files/compcache.config $(1)/etc/config/compcache
52         $(SED) 's,%ENABLED%,$(if $(CONFIG_COMPCACHE_ENABLE),1,0),g' \
53               -e 's,%RAM_REPORTED%,$(call qstrip,$(CONFIG_COMPCACHE_RAM_REPORTED)),g' \
54               -e 's,%BACKUP_DEV%,$(call qstrip,$(CONFIG_COMPCACHE_BACKUP_DEV)),g' \
55               $(1)/etc/config/compcache
56         $(INSTALL_DIR) $(1)/etc/init.d
57         $(INSTALL_BIN) ./files/compcache.init $(1)/etc/init.d/compcache
58         $(INSTALL_DIR) $(1)/sbin
59         $(INSTALL_BIN) $(PKG_BUILD_DIR)/rzscontrol $(1)/sbin/rzscontrol
60 endef
61
62 define KernelPackage/compcache/config
63         source "$(SOURCE)/Config.in"
64 endef
65
66 $(eval $(call KernelPackage,compcache))