Makefile 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  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. include $(TOPDIR)/rules.mk
  8. include $(INCLUDE_DIR)/kernel.mk
  9. PKG_NAME:=compcache
  10. PKG_VERSION:=0.6.2
  11. PKG_RELEASE:=3
  12. PKG_SOURCE_URL:=http://compcache.googlecode.com/files/
  13. PKG_MD5SUM:=27aec78dc50e34fb800c74e879057743
  14. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
  15. include $(INCLUDE_DIR)/package.mk
  16. define KernelPackage/ramzswap
  17. SUBMENU:=Other modules
  18. DEPENDS:=@BUSYBOX_CONFIG_SWAPONOFF
  19. TITLE:=Driver for compressed ram swap device
  20. VERSION:=$(LINUX_VERSION)-$(BOARD)-$(LINUX_RELEASE)+$(PKG_RELEASE)
  21. KCONFIG:=CONFIG_RAMZSWAP=m CONFIG_RAMZSWAP_STATS=n
  22. ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.33)),1)
  23. FILES:= \
  24. $(LINUX_DIR)/drivers/staging/ramzswap/ramzswap.ko \
  25. $(LINUX_DIR)/lib/lzo/lzo_compress.ko \
  26. $(LINUX_DIR)/lib/lzo/lzo_decompress.ko
  27. else
  28. FILES:= \
  29. $(PKG_BUILD_DIR)/ramzswap.ko \
  30. $(PKG_BUILD_DIR)/sub-projects/compression/lzo-kmod/lzo1x.ko
  31. endif
  32. URL:=http://code.google.com/p/compcache/
  33. endef
  34. define Package/compcache
  35. SECTION:=util
  36. CATEGORY:=Utilities
  37. DEPENDS:=+kmod-ramzswap
  38. TITLE:=Compressed ram swap device
  39. URL:=http://code.google.com/p/compcache/
  40. MENU:=1
  41. endef
  42. include $(INCLUDE_DIR)/kernel-defaults.mk
  43. RZSC = sub-projects/rzscontrol
  44. RZSCFLAGS:=-I$(PKG_BUILD_DIR)/$(RZSC)/../include \
  45. -I$(PKG_BUILD_DIR)/$(RZSC)/../..
  46. ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.33)),1)
  47. define Build/Compile
  48. $(TARGET_CC) $(TARGET_CFLAGS) $(RZSCFLAGS) $(PKG_BUILD_DIR)/$(RZSC)/rzscontrol.c -o $(PKG_BUILD_DIR)/rzscontrol
  49. endef
  50. else
  51. define Build/Compile
  52. $(MAKE) $(KERNEL_MAKEOPTS) EXTRA_CFLAGS="-I$(PKG_BUILD_DIR)/sub-projects/compression/lzo-kmod -Wall" M="$(PKG_BUILD_DIR)" modules
  53. $(TARGET_CC) $(TARGET_CFLAGS) $(RZSCFLAGS) $(PKG_BUILD_DIR)/$(RZSC)/rzscontrol.c -o $(PKG_BUILD_DIR)/rzscontrol
  54. endef
  55. endif
  56. define Package/compcache/install
  57. $(INSTALL_DIR) $(1)/etc/config
  58. $(INSTALL_DATA) ./files/compcache.config $(1)/etc/config/compcache
  59. $(SED) 's,%ENABLED%,$(if $(CONFIG_COMPCACHE_ENABLE),1,0),g' \
  60. -e 's,%RAM_REPORTED%,$(call qstrip,$(CONFIG_COMPCACHE_RAM_REPORTED)),g' \
  61. -e 's,%BACKUP_DEV%,$(call qstrip,$(CONFIG_COMPCACHE_BACKUP_DEV)),g' \
  62. $(1)/etc/config/compcache
  63. $(INSTALL_DIR) $(1)/etc/init.d
  64. ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.33)),1)
  65. $(INSTALL_BIN) ./files/compcache.init.new $(1)/etc/init.d/compcache
  66. else
  67. $(INSTALL_BIN) ./files/compcache.init $(1)/etc/init.d/compcache
  68. endif
  69. $(INSTALL_DIR) $(1)/sbin
  70. $(INSTALL_BIN) $(PKG_BUILD_DIR)/rzscontrol $(1)/sbin/rzscontrol
  71. endef
  72. define Package/compcache/config
  73. source "$(SOURCE)/Config.in"
  74. endef
  75. $(eval $(call BuildPackage,compcache))
  76. $(eval $(call KernelPackage,ramzswap))