f7b7c5b3f184329efc48a45e676fd99a7819adb7
[openwrt/svn-archive/archive.git] / package / compcache / Makefile
1 #
2 # Copyright (C) 2009-2010 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9 include $(INCLUDE_DIR)/kernel.mk
10
11 PKG_NAME:=compcache
12 PKG_VERSION:=0.6.2
13 PKG_RELEASE:=3
14 PKG_SOURCE_URL:=http://compcache.googlecode.com/files/
15 PKG_MD5SUM:=27aec78dc50e34fb800c74e879057743
16
17 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
18
19 include $(INCLUDE_DIR)/package.mk
20
21 define KernelPackage/ramzswap
22 SUBMENU:=Other modules
23 DEPENDS:=@BUSYBOX_CONFIG_SWAPONOFF
24 TITLE:=Driver for compressed ram swap device
25 VERSION:=$(LINUX_VERSION)-$(BOARD)-$(LINUX_RELEASE)+$(PKG_RELEASE)
26 KCONFIG:=CONFIG_RAMZSWAP=m CONFIG_RAMZSWAP_STATS=n
27 ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.33)),1)
28 FILES:= \
29 $(LINUX_DIR)/drivers/staging/ramzswap/ramzswap.ko \
30 $(LINUX_DIR)/lib/lzo/lzo_compress.ko \
31 $(LINUX_DIR)/lib/lzo/lzo_decompress.ko
32 else
33 FILES:= \
34 $(PKG_BUILD_DIR)/ramzswap.ko \
35 $(PKG_BUILD_DIR)/sub-projects/compression/lzo-kmod/lzo1x.ko
36 endif
37 URL:=http://code.google.com/p/compcache/
38 endef
39
40 define Package/compcache
41 SECTION:=util
42 CATEGORY:=Utilities
43 DEPENDS:=+kmod-ramzswap
44 TITLE:=Compressed ram swap device
45 URL:=http://code.google.com/p/compcache/
46 MENU:=1
47 endef
48
49 include $(INCLUDE_DIR)/kernel-defaults.mk
50
51 RZSC = sub-projects/rzscontrol
52
53 RZSCFLAGS:=-I$(PKG_BUILD_DIR)/$(RZSC)/../include \
54 -I$(PKG_BUILD_DIR)/$(RZSC)/../..
55
56 ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.33)),1)
57 define Build/Compile
58 $(TARGET_CC) $(TARGET_CFLAGS) $(RZSCFLAGS) $(PKG_BUILD_DIR)/$(RZSC)/rzscontrol.c -o $(PKG_BUILD_DIR)/rzscontrol
59 endef
60 else
61 define Build/Compile
62 $(MAKE) $(KERNEL_MAKEOPTS) EXTRA_CFLAGS="-I$(PKG_BUILD_DIR)/sub-projects/compression/lzo-kmod -Wall" M="$(PKG_BUILD_DIR)" modules
63 $(TARGET_CC) $(TARGET_CFLAGS) $(RZSCFLAGS) $(PKG_BUILD_DIR)/$(RZSC)/rzscontrol.c -o $(PKG_BUILD_DIR)/rzscontrol
64 endef
65 endif
66
67 define Package/compcache/install
68 $(INSTALL_DIR) $(1)/etc/config
69 $(INSTALL_DATA) ./files/compcache.config $(1)/etc/config/compcache
70 $(SED) 's,%ENABLED%,$(if $(CONFIG_COMPCACHE_ENABLE),1,0),g' \
71 -e 's,%RAM_REPORTED%,$(call qstrip,$(CONFIG_COMPCACHE_RAM_REPORTED)),g' \
72 -e 's,%BACKUP_DEV%,$(call qstrip,$(CONFIG_COMPCACHE_BACKUP_DEV)),g' \
73 $(1)/etc/config/compcache
74 $(INSTALL_DIR) $(1)/etc/init.d
75 ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.33)),1)
76 $(INSTALL_BIN) ./files/compcache.init.new $(1)/etc/init.d/compcache
77 else
78 $(INSTALL_BIN) ./files/compcache.init $(1)/etc/init.d/compcache
79 endif
80 $(INSTALL_DIR) $(1)/sbin
81 $(INSTALL_BIN) $(PKG_BUILD_DIR)/rzscontrol $(1)/sbin/rzscontrol
82 endef
83
84 define Package/compcache/config
85 source "$(SOURCE)/Config.in"
86 endef
87
88 $(eval $(call BuildPackage,compcache))
89 $(eval $(call KernelPackage,ramzswap))